Last year brought many changes to our team – and not all of these changes have been of a positive nature. Nevertheless there were positive outcomes, not the least of which has been changing our development platform of choice away from Microsoft technology.
Let me provide some background. The majority of our team members, both in South Africa and Brazil, had been Microsoft .Net developers at some point in their careers, and some had never been anything else. We used to hire people based – in part – on their expertise with Microsoft development tools.
As a business unit, SWAT comes into contact with a large number of organisations from around the globe that are members of the MIH group. In our interaction with these companies we were experiencing a great deal of resistance to implementing Microsoft software.
The reasons for this resistance were varied but often based on cost – both the cost of the software and the cost of the people who are skilled in the use of Microsoft tools. Cost was not the only consideration – the general perception out there is that the Web is built on open source software, and that open source is where the best developers want to place their efforts and build their reputations.
It was very clear that we had to cross the great divide if we wanted to stay relevant in the markets where the group operates.
Although we had never been a pure Microsoft shop – we used Flash technologies, Javascript , CSS and their kin, as well as various tools for mobile development – our core development tools were Microsoft Visual Studio, using C# with .Net and ASP.Net, and the challenge was to change our primary development platform.
Our greatest concern was what the reaction of the team members would be – I mentioned earlier that the majority of people in the team at that time were skilled in Microsoft technology, and we were worried that the re-skilling that would be required would present us with a very steep (and costly) learning curve. A further concern was that the changeover may cause people to leave the team, rather than lose the skills they have already acquired in Microsoft technologies.
Once the decision had been made to shift our focus to open source development, we had to choose a platform. The obvious choice was PHP 5.0. “Obvious” because of the wide popularity of the language within the group, the wide support for PHP and the vibrant PHP community. An additional consideration was that PHP is fairly similar to C#, in terms of syntax and in terms of being a “traditional” object oriented language. Although we considered options such as Ruby, we concluded that PHP would represents the best option for migrating to open source.
It has been more or less a year since we finally phased out Microsoft tools, and here’s the summary of our experience:
- Great programmers do not care about the language. We lost no-one because they wanted to work only on Microsoft platforms.
- The web IS built with open source tools – and using open source tools gave us a wider audience.
- Costs for software development tools have plummeted to virtually zero.
- The Microsoft Visual Studio IDE is one of the best (if not the best) development environments available.
- If you are going to use open source, you must be willing to change and adapt all the time. Frameworks, tools and methodologies are continuously changing in the open source world – forget about well-planned migration routes for technology. Be pragmatic, and use what works. We still use Microsoft tools when our clients require it.
- Because it is open source, it is possible to look into the code to find why things do not work as expected. Often it is very hard to find the solution, and there is hardly ever a helpdesk which you can call. But you can look if you want – the option is there.
- Microsoft is not bad. In our experience it is simply a matter of choosing the most appropriate tool for the job, and the Microsoft tools are more suited for enterprise development. Although of course the platform CAN be used for web development.
In summary – the decision to go open source was the best decision for our team, and I would encourage every team that does web development to do the same thing.
Related Posts

