The Open Source Divide
When 37Signals (the producer of high-quality rails-based web apps) looks to hire, they don’t go to monster.com. Instead they look to the open source community:
When it comes to programmers, we only hire people we know through open source. We think doing anything else is irresponsible. We hired Jamis because we followed his releases and participation in the Ruby community. He excelled in all the areas mentioned above. It wasn’t necessary to rely on secondary factors since we could judge him based on what really matters: the quality of his work.
Hashrocket (another high-end rails shop) is no different according to their Dir of Business Development:
We ask applicants for their github usernames and check their contributions before giving them a phone screening
Their interest in and commitment to open source is obvious. The above companies even give their employees time (on the clock) to contribute back to open source.
But that’s not how it is everywhere…
Welcome to the Enterprise
When we look to the world of enterprise software development, it’s a different story. Maybe this is just my experience as a consultant in that world, but I’ve found that many large enterprises discourage open source contributions if not downright ban them.
And when they look to hire, they’re definitely not checking out a potential candidate’s github. When they hire, more often than not, they are looking for corporate experience with specific languages (C#, VB.NET, SQL) and specific tools (VS.NET, VSS, VSTS).
So why do we have these differences? The reason is cultural. Once you dive into a technical ghetto, you are diving into the culture that comes with it. Let’s dig into two specific cultures and see what we find.
The Rails Way
First, we have the Rails developer. Rails developers use open source all the time:
- Ruby on Rails itself is open source.
- For testing, they use Rspec and Cucumber.
- As an IDE, many use VIM.
- As a test web server, they use Mongrel.
- For source control, they use git.
- For a database, they use mysql.
In other words, Github is their friend.
And so it’s no wonder that a Rails developer would value open source contributions. It’s how they move the ball forward in their industry. When they look to hire, they will look for the best open source contributors because they live and breathe in that world.
Hail to Microsoft the One True Source
In contrast, we have the .NET developer. The .NET developer is strongly encouraged to get all of their tools from Microsoft. Pretty much all of their tools can come from one source:
- Their programming languages come from Microsoft
- Their OS comes from Microsoft
- Their IDE comes from Microsoft
- Their source control comes from Microsoft
- Their DB comes from Microsoft
- Their testing tools come from Microsoft
- Their ORM layer comes from Microsoft
And to many enterprises, this is comforting and may be reason why enterprises skew toward Microsoft developers. They want to have a vendor to call when something doesn’t work. They want to have a warranty so that when something blows up they’re not trying to get a hold of a lone developer in their basement.
Best Tools for The Job
But all of this uniformity comes with a price. That price is innovation.
Because Microsoft is so locked into the enterprise, it’s difficult for them to innovate. They have a large base to support so they can’t just try out something new. They have to be fully committed to a new feature and backward compatibility and therefore must move very, very slowly.
This probably explains why most innovations don’t come out of Microsoft or Microsoft developers. Who invented the testing frameworks that we know and love? Who invented git, HAML and SASS?
The other insidious aspect of being a Microsoft developer is that you don’t always get to use the best tool for the job. Instead you use the Microsoft-approved version. Would you like to use nUnit for your tests? Sorry, MS Test is now built-in and is the Microsoft approved way so that’s what you’ll be using (even though it’s not quite as good)…
End Game
So what is the outcome of the open source divide? Basically Microsoft will continue to own the enterprise and Rails/Open Source will continue to own web startups. Innovations will come from the Rails/Open Source world and slowly be integrated and homogenized into the Microsoft world.
I just don’t see the open source divide closing any time soon.

