Hiring good developers is hard. It turns out, there just aren’t that many out there. Occasionally, you’ll get lucky. You’ll look further afield and find a pocket of clever people, but you’ll bring them all in on tasty salaries, only to find that they all clock off at five pm, or they want to re-write everything you’ve got in erlang.
Well, that’s just tough luck. From what I’ve seen, the best way to ensure a great time is to hire hard. When we interview C# developers we tend to ask C++ questions. You’d better know your memory model inside out, because anything on your CV is fair game.
There’s nothing more painful than watching an average candidate fall apart because she put ‘Advanced Java’ on her list of skills, then didn’t know static from abstract, but it happens all the time. The thing is, we want you to succeed, we really do. Most of us enjoy interviewing because it’s a chance to geek out with someone who has the same interests.
We interview hard – you’re going to have at least two hours of technical interviews before you get hired, but the single most important question we ask ourselves, after every interview, is “could I work with this person?”. If the answer isn’t a resounding “yes”, then the answer has to be “no”. Sorry!
But it has to be like this. If it weren’t then you’d end up with people you like but who couldn’t do the job. In the best cast you’d end up resenting them. In a small firm, they might have an effect on your company’s bottom line.