I Don't Agree, But I Understand...

…to paraphrase that most eminent of philosophers, Chris Rock.

ExpensifyBlog recently put up a post titled Why we don’t hire .NET programmers. It got picked up by Reddit and was flamed, reflamed, flambéed, and respondablogged ad infinitum, with 500 comments (comments are now closed), >1000 tweets, and >1000 facelikes. I recommend giving it a read.

The gist of the post is that as a startup, if they see .NET on a resume, it raises a red flag. In between heavy hyperbole and satire, there’s some decent reasoning in the post. I’d some up the more salient points as:


  • .NET lacks flexibility.

  • .NET hides the important stuff from the developer.

  • .NET (Microsoft) purposely does everything different from everybody else to lock people in to their platform/toolset.

  • .NET is designed to extend (Windows), not disrupt.


…with the idea that if a developer chooses to learn .NET given all of those things, you should wonder and ask why.

I wouldn’t ding somebody for having .NET on a resume, even if I were running a starup. There are use cases where .NET makes perfect sense, and in general it’s a bad practice to ding people for knowing things. I’m much more likely to ding somebody for only having one framework/language on a resume regardless of what it is. That would be like hiring a mechanic that only knows Wrench. But .NET experience on a resume? Not a problem.

That being said…I understand where he’s coming from. The ease of use of .NET and Visual Studio is both a blessing and a curse. The good news is every body can be a programmer now! That is also the bad news.

I would describe programming more as a mindset than a skill set, and that’s what I look for in interviews (back when we could hire people that is). If you have the mindset, the skills will come. If you don’t have the mindset, you’ve probably just learned how to work a particular tool. I’ve worked with .NET developers that can program in half a dozen languages and melt your face off with their genius. And I’ve worked with .NET developers that are making a web site and don’t know HTML or CSS or JavaScript or AJAX or the difference between GET and POST, which in and of itself is fine (we were all born stupid). It’s the not wanting to know that kills me. It’s never questioning what language or framework might be most appropriate for a project that kills me. It’s not the right mindset. And although you can get that with any framework or language, I see it most often in .NET developers.*

Of course, a cursory glance at any code I’ve written might persuade you to take any opinions I have on programming with a grain of salt.

*If you’re a .NET developer I know and wondering if I was talking about you there, the answer is no. I’m talking about the other one.