Skip to content

How to Interview a Programmer

April 9, 2009

In an effort to redress the anti-CHG sentiment recently expressed on this blog, I thought I’d pick up on something of his that I actually agree with – using 10 minute “water cooler” presentations as part of the interview process.

I read about it here, but the original is actually here (note that back then it was a 20 minute presentation, with no water cooler in sight, but I won’t hold that against him). Anyway, I know that following links is often more effort than the reader can muster (never forget how lazy and stupid people are), so here it is in full:

I have my own theory about the ideal way to interview developers: have the candidate give a 10 minute watercooler presentation to your team on something they’ve worked on. I think this is a far better indicator of success than a traditional interview. You’ll quickly ascertain:

  • Is this person passionate about what they are doing?
  • Can they communicate effectively to a small group?
  • Do they have a good handle on their area of expertise?
  • Would your team enjoy working with this person?

This is (almost) exactly what used to happen in HP Labs (well, for the group that hired me [PDF], anyway). There, I got to sit on both sides of the table, as an interviewee in 2003, and then interviewer in 2004.

As part of the interview process, candidates would be asked to give an informal, 10 minute presentation on a piece of work that interested them. It didn’t have to be something that they did, just something technical for them to talk about. Unfortunately, I don’t still have the original email from 2003 inviting me to interview, but the ground rules went something along the lines of:

  • Just 10 minutes, including questions (and please do leave time for some!). We will stop you once your time is up.
  • We’ll provide a projector, a computer, an OHP, a flip-chart and a whiteboard. You are free to use some, all or none of these. If you want to bring your own laptop to plug into the projector, that’s fine; similarly, you can bring a PowerPoint presentation on CD or disk  (or email your presentation in beforehand) and use our computer. However, we won’t check that your presentation is compatible with our PowerPoint, nor can we guarantee that your laptop will work with our projector. Please be prepared to give your talk, even in the event of technological failure.
  • Your talk should be an informal technical overview, pitched at a group of fellow scientists and engineers. Suitable subjects include an interesting paper you’ve read, or an interesting project that you’ve worked on.

I’m sure that there were others, and the ones that I’ve given were much better-phrased, but I hope that you get the idea.

Another thing about interviewing programmers that Joel, CHG and I agree on, is the value of hiring straight out of university. In fact, the projects that HP Labs offered were designed to be taken on as Master’s projects, so more often than not, we were actually hiring from within university. Joel and CHG point out that post-university is possibly the only chance you get to woo that awesome programmer before he goes out and gets a job for life. Maybe, but I think there are other good reasons. Having a steady supply of fresh young minds gives us wizened old programmers a fantastic opportunity to teach, and teaching begats learning, for both teacher and student. Also, it’s much easier to beat good coding practices into someone when they don’t already think that their way is “good enough”. (It’s not, by the way).

Anyway, going back to the HP way; the presentation as just part of the process. From what I remember, the whole day went something like this:

  • Meet and greet candidates. Get coffee.
  • Setup in the meeting room, all interviewers and candidates. Presentations are given to the group as a whole.
  • Split up into individual rooms. Have 1:1 chats.
  • Interviews go round the candidates, so all interviewer:candidate pairings get their 1:1
  • Candidates get together with an ex-candidate over coffee, and get to ask them questions about being an HP lacky.
  • Interviewers get together and decide the fate of of the candidates.

In general, it would all be over in a day, and by the time you got home, there would be an email for you letting you know whether you were in the yes, no or maybe pile.

I learnt a lot from the process, particularly from the interviewer side of the table. But that’s probably a whole other article…

On the minus side, it was quite staff-intensive (a full day for all four interviewers, just to interview four candidates), and whilst we used personal contacts in universities to try to ensure that the people being interviewed were worth interviewing, I do have a vague recollection of one particular round where none of the candidates cut the mustard, and we were left wondering just how effective this method was.

Oh, and just in case someone from HP is listening, I should probably point out that I was very much at the bottom of the interview process, that I’ve probably misremembered most of it, and all thoughts, opinions and vague recollections are only my own…

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: