There has been quite a furore in the last couple of weeks about a blog article published by David Barrett entitled "CEO Friday: Why we don’t hire .NET programmers". You can find it at http://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont-hire-net-programmers/. Along with about half the global development community, I tried to post a response, but comments were already closed. I had all but forgotten the article until, a few minutes ago, up popped a daily .NET newsletter with a headline linking to the article.
I can't help thinking this is just one step removed from a long line of '.NET developers are dumb' articles. I've read a few of these over the years. The last one I remember (I can't recall the URL, unfortunately) was classic. The guy writing the article explained that he had recently interviewed half a dozen developers for a job. All but one were Java developers, and he was generally impressed by their understanding of design patterns and the like - even a candidate fresh from college. One, however, was a .NET developer (I wonder if the interviewee had misread the job description) and he was apparently very ignorant. On the basis of this deeply representative sample, the author concluded that the whole .NET development community (several million people) are equally useless and ignorant! I kid you not!
Maybe I'm being unfair to David Barrett. However, while posting a comment to his blog site would have made me feel better, it wouldn't have achieved anything. Reading through the comments, I'm struck how many posts quickly degenerate into mud-slinging. David is accused of several things which are not worth repeating. In turn, others rise to 'defend' his position by throwing vitriol and invective at the whole tribe of .NET developers.
For my part, and simply as a self-indulgent exercise, I will note that I do not recognise David's characterisation of .NET development. It seems to me that he fails to explain properly what aspects of .NET tools and technologies he is talking about. In a subsequent update, he explained his original claim that .NET is a 'language' was a poor 'word choice'. Fair enough. However, it seems to me that he describes .NET all the way through his post as if it is some kind of 4GL. It patently isn't! More to the point, neither are the mainstream .NET languages. Maybe he has in mind Microsoft's old love of 1990's-style form development, as originally used in .NET not only for desktop app development but also 'classic' ASP.NET. If this is the case, he is seriously out of date. Professional ASP.NET development has long-since moved foursquare into the MVC / RESTful world. Desktop development (now a minority sport in this web-enabled, mobile age) has largely moved on to XAML-based development. Maybe that's the issue. XAML can be considered to be just one of many forms of model-driven development Maybe he is railing against MDD. If so, I can't imagine why he has singled out .NET. If anything, .NET has been playing a degree of catch-up with the Java world on that score. So, I remain confused by his arguments (no doubt some will claim I'm just too dumb), but confident from my own experience that he is deeply mischaracterising the .NET platform and the community of .NET developers.
Well, I've got that off my chest. A wider issue, though, arises from reading some of those comments. Why, after all these years, are we developers are so ready to sling mud at others. We fall hook, line and sinker for simplistic, ill-informed characterisations of whole swathes of our industry in an attempt to convince ourselves that we are the clever chosen elect and those others over there are just plain stupid and damned to all eternity. It's so childish. It's so false. In summary, my take on David's article, which I consider a tad more balanced, is this. Don't hire bad .NET developers. Don't hire bad Java developers. Don't hire bad Ruby or C++ or Python, or Perl developers. There’s no need. There are plenty of good developers out there. This is a great industry.