Why Startups Could Use .NET, But Don’t
Tuesday, May 17th, 2011 at 1:58 pm
Ian is a Senior Developer for Piehead
Several weeks ago, Expensify’s CEO David Barrett, wrote a post explaining why his company doesn’t hire developers who use Microsoft’s .NET framework. The post created a bit of controversy and caused a lot of .NET developers to get quite defensive. While the post had some inaccuracies, it did bring up a good point. Why aren’t there more startups building applications on the .NET Framework?
Companies and programmers alike usually say the decision comes down to two things,: cost and technology limitations. These would be perfectly valid reasons to choose one software platform over another. However, as somebody who has worked with ASP.NET and PHP for years, I can honestly say that the cost and technology capabilities are almost the same for either platform.
When it comes to cost, the biggest issue is getting started. For a large company, the major IT costs are going to be salaries, hardware, bandwidth and data, regardless of platform. At first glance, PHP and Ruby on Rails used to have a decided advantage on initial startup costs because they could be run using FOSS tools. However, Microsoft has been running their Bizspark program for a few years, which eliminates most of the startup costs normally associated with employing a .NET framework. Essentially, the cost differences have become moot.
With technology, the commonly-held conception is that PHP and Ruby allow you to get your product to market faster. Both languages have frameworks and tools that focus on rapid application development that appeal to startups. At Piehead, we build web applications on a faster pace than almost any startup, and there is very little difference in total project time between the platforms we use. There are differences between the platforms available to web developers, but with very few exceptions, any of them will work for a given software project.
The real reason startups don’t use .NET is based more on culture than technology. Microsoft is well-known and widely used by many enterprise software companies. At the moment, startups are dominated by PHP and Ruby. This creates a perception among programmers, especially among those new to the field, that this is just the way things are. As a result, programmers start to choose technologies based on that cultural perception, rather than focusing on the best approach for the kinds software they want to build.
Another aspect of the information technology culture that re-enforces this divide is ego. When a developer makes a choice to use a specific platform, that person will generally defend that choice no matter what. A quick look through most of the commentary on various technology forums reflects this. Most negative comments, on both sides, are usually technically unsubstantiated.
Finally, most start-ups foster a developer culture. They encourage their programmers to learn a wide array of technologies rather than focusing on a single aspect of programming. This is ideal for startups, as they need to be agile and adapt to changing technology. At the same time, most established software companies have an engineering culture. With a large team, programmers generally focus on a single aspect of programming. Essentially, startups focus on breadth of knowledge, while enterprise focuses on depth of knowledge. This makes it very hard for a programmer to switch between enterprise and startup companies.
These three factors are what really drive the division in platform choices. Developers are deciding very early in their career and finding that it’s very difficult to change that decision. At Piehead, we work very hard to stay technology agnostic and avoid locking programmers into a specific mindset or technology platform. Our PHP programmers usually start learning .NET within a few weeks and starting and the same goes for our .NET and Java programmers. This gets our team used to learning new concepts and helps us look beyond the cultural differences and focus on technology.
Back to the original question: Why aren’t there more startups building applications on the .NET Framework? The real answer is just as much about our industry’s culture as it is about technology. If you want the best developers for your startup or agency, don’t look for PHP programmers or .NET programmers, look for programmers with experience on a variety of platforms. Those are the people that will be able to make the unbiased decisions that could make or break a software project.