Hiring developers

It turns out to be quite difficult to hire good developers. I’m involved in the hiring process at deviantART, and it has opened my eyes to just how unqualified the majority of applicants to these jobs are.

To give an example of this, I estimate that we hire perhaps 0.2% of the people who apply for a job with us. I haven’t gone back and tallied this up, so all figures in this example are ballpark at best… but I’ve tried to err on the generous side.

First, we collect resumes. We advertise on all sorts of job sites, we post things to Hacker News, and generally we try to get the word out. Filtering the resumes eliminates about 95% of them, depending on where we’ve been advertising. This is simultaneously the step where unqualified applicants are most expected, and the step that’s most likely to be rejecting perfectly qualified people because of some random quirk of their resume.

Then we ask promising applicants to do a simple exercise. This one, in fact. It really is fairly simple… not FizzBuzz, but still trivial. This gets reviewed by the entire hiring team. Passing it is somewhat subjective; there’s a list of things we look for, along with an ineffable “code style” component. This weeds out about 90% of submissions.

Next comes a phone interview with those who passed the test. Again, with the entire hiring team on the line. Since you’ve made it this far we’re pretty positive about you, and strongly suspect that you can code competently, but we’ll still try to dig into your past experiences and quiz you on the reasons for things you did on our exercise. Ideally you’ll have left a small bug in the exercise that we can get you to debug while we’re on the call. It’s not uncommon for us to be underwhelmed here, and we tend to turn down maybe 60% of candidates on this step.

Finally comes a three month trial period. Which we take seriously. I’d worked places with a trial period before, but it was always just a matter of not showing up to work drunk and you’d make it. We evaluate performance, work style, and general team fit… and we seem to lose perhaps 20% of hires here.

Adding all that up, P(we hire you) would seem to be 0.0016. Or 0.16% if you prefer.

The step that seems the most telling is the exercise, because it goes out to people who are generally already making a living as a developer. And, like I said, it’s not difficult. So we get to see how many professional developers apparently can’t perform their job function. For that matter, a hefty chunk of the people who fail that step just plain didn’t complete the listed requirements.

Despite all that, feel free to apply! 😀

UPDATE 2011-10-01: Some people have mentioned that PHP is keeping them from applying. Can’t blame them there; it’s not cool and modern, and it has some ugly warts. But we’re an old website (11 years now), and back in the day it’s what was picked. Rewriting into something cool and modern is technically possible, but would also be a genuinely ridiculous amount of work.

UPDATE 2011-10-02: It was pointed out to me that I may not have conveyed my point correctly. I mean to say “hiring good people is hard”, not “we are too awesome for you”. The numbers are intended to indicate our low success rate more than our exclusivity.