Charles Young

  Home  |   Contact  |   Syndication    |   Login
  196 Posts | 64 Stories | 510 Comments | 373 Trackbacks

News

Twitter












Article Categories

Archives

Post Categories

Image Galleries

Alternative Feeds

BizTalk Bloggers

BizTalk Sites

CEP Bloggers

CMS Bloggers

Fun

Other Bloggers

Rules Bloggers

SharePoint Bloggers

Utilities

WF Bloggers

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.
posted on Monday, April 4, 2011 9:00 PM

Feedback

# re: Don't hire bad developers - period. 9/28/2012 10:05 PM daniel
I would like to say that I am a .relatively new .Net developer and that I took the job out of necessity because I had just graduated and I was grateful for any programming experience. I work with C#, which I would say is a great language. However, having moved from studying in Java, the one thing that struck me was how restrained you are, how tied into the platform you are with .net. I mean, try and code something without using Visual Studio. It's dam near impossible. In java I could open a text pad and knock up a small app in a few days. Now I feel shackled. I feel like i'm being told how I must program instead of using my creative skills. It's sort of like the idea of the free market. C# isn't in itself a bad language, its just the way Microsoft force you to depend on Visual Studio to work with C#. That really grates with me. I am thinking of going back to Java

# re: Don't hire bad developers - period. 10/28/2012 3:51 PM Charles Young
@daniel It's certainly true that MS put a fair amount of work into ensuring that VS provides a great IDE for C#. VS Express is available free of charge. There are a number of open source alternatives. The best known are SharpDevelop and MonoDevelop (derived from SharpDevelop). There are a few others (QuickSharp, C# Studio, xacc). There are several licenced editors as well, including Antechinus C# Editor, EditPad Pro, etc. However, there is absolutely nothing stopping you simply writing your code in a text editor (e.g., Notepad) and compiling it at the command line using csc.exe. The compiler is included as part of the .NET framework. So, not quite sure what the issue is here, or where there is any fundamental difference to doing the same thing in Java.

Post A Comment
Title:
Name:
Email:
Comment:
Verification: