Another take on interviewing

Very nice posting here from Simon Johnson regarding the selection of candidates for programming jobs.

His blog doesn't allow comments, so I'll follow up here: The only real criticism I'd have of Simon's approach is that the list of desirable qualities in a  candidate is backwards. That is, it should read 
  1. The person in front of you will complement your pre-existing team
  2. The person in front of you can actually write a program
  3. The person in front of you is smart
If the candidate won't complement your team it is of no interest whether or not they can program. Even if they are the semi–mythical 100x productive programmer (hint: those folks are not applying for your position). 

If they can't write a program (of the kind that your company finds valuable) it is of no interest how smart they are. Folk wisdom in many parts of the industry suggests that enough smart can outweigh any other shortfall in a programmer. This is only true in very, very limited and highly specific circumstances (hint: you are not in the business of writing hard real–time life–critical massively–parallel seven–nines embedded control software for the black hole at the centre of the galaxy).

If you can get along with them, and if they can code, smarter is preferable to dumber. Your only problem now is to find some way to recognise "smarter", which turns out to be very, very hard indeed.

1 comment:

Sammy Larbi said...

If you go by the rule that "you don't care whether i if not i-1" then I guess 1 and 2 are interchangeable. I'm not interested in having them join my team if they cannot program (unless I'm not looking for a programmer).

And probably 2 is easier to figure out than 1, so I would check that condition first (discounting that we're probably evaluating this all at the same time).

Finally, and not to be pedantic, but I assume both of you are looking for people who complement your team, not compliment it. Although, if you can get me a job, I will say all the nice things about your team that you want me to. =)