At This Point, I'd Prefer Java Developers Over .NET Developers
I had to do 5 technical screenings today. 4 of these guys where Java developers, one of them a .NET developer. A couple of weeks ago, I also had to screen a Java developer. I'm gonna be blunt about this: at this point, I would much rather hire a Java developer than a .NET developer.
Let me just summarize these screenings to illustrate my point. Out of the 5 java developers I had to screen recently, 4 of them were very familiar with topics such as Inversion Of Control, Dependency Injection, Object Relational Mapping, and Aspect Oriented Programming. One of them was a 'junior' developer with about 2 years of experience, and we actually talked about the differences between compile time AOP weaving vs runtime weaving, even going into the differences between dynamic proxies and more traditional proxies to achieve AOP and how that would work and how it can be tied into your IOC container. This wasn't just me talking about this stuff... I was leading into certain things and he was filling in the blanks. During a technical screening. With a guy who only has 2 years of experience on his resume.
The other 3 java developers I screened where pretty impressive as well. These guys truly realized the benefits of using an Inversion Of Control container, of using Dependency Injection and felt it was only natural to use an ORM when working on typical business applications. And you know what the really cool part about all this was? All 4 of those java developers that impressed me wanted to learn more about TDD, and writing automated tests in general. They hadn't really experienced Continuous Integration yet. They wanted to improve their TDD skills. They genuinely seemed to care about the fact that their TDD skills weren't as well-rounded yet as they could be. In case you haven't noticed, these people truly believe in DI and IOC without even getting into the testability aspect.
In the .NET world however, most people who get into DI and IOC usually do it for testing purposes, only to move on to the other benefits of it later on. And that is if you're lucky enough to find a .NET developer who even cares about these things. Generally speaking, you should consider yourself lucky if you get to screen a .NET developer who's interested in these 'alternative' practices (in the .NET universe anyway), let alone one who actually has experience with them. The odds of finding .NET developers like this in interviews are so incredibly low it's not even funny anymore. It's downright pathetic actually. And then you get 3 of these guys in one day, though they are java developers. 4 of them if you count the one from a few weeks ago. These numbers don't truly mean anything, but still... I think it's worth thinking about.
Now, I'm not going to say that Java developers are by definition better than .NET developers. But I really do think that, generally speaking, they know a lot more about proper design principles and coding practices than your average .NET developer.
Written by Davy Brion, published on 2009-04-27 22:37:18
comments powered by Disqus