Vladimir Sedach

Have Emacs - Will Hack

November 5, 2009

Puzzling interviews

Topic: Software engineering

One of the most interesting parts of Peter Seibel's Coders at Work (see my review) was Peter Norvig's discussion of the Google programmer hiring process.

The impact of a bad hire on a programming team can be very negative: vastly increased code maintenance costs and reduced morale and productivity. "Hire slowly" is now becoming an ingrained mantra in software companies. Despite this, effective processes for evaluating candidate programmers still seem to be little known.

Interview puzzle questions (made infamous by Microsoft) as a tool in the hiring process came up in Norvig's interview. Not surprisingly he is against the idea. For a while puzzle questions were a fad in programmer interviews, based on the (unfounded and unverified) assumption that they were a predictor of coding prowess.

To examine why puzzle questions are a bad idea, you need to look at the objectives you are trying to fulfill when hiring programmers:

  1. Hire someone who is good at programming.
  2. Hire someone who is good at programming as part of your team.

There is no need to resort to unrelated tasks with a low degree of correlation to see whether someone will help fulfill these objectives. A candidate can be assessed directly and efficiently by inviting them for three hours of pair programming.

As a counterpoint, for what job would analytic puzzle questions make sense as part of the interview?

I came across an article in Business Insider about the author's experience interviewing for a marketing position at Google. Marketing can involve a lot of estimation, inference, and decision making in the absence of needed data and time to gather that data. Puzzle questions based around estimation and inference are similar problems.

Unrelated to puzzle questions, one comment on the Business Insider article stood out for describing a clever and applicable method for judging the hiring process:

We reviewed our hiring process because we were not getting the hard work and ability to learn that we had with our current top go-to people.

As a test, we sent our top performers' OLD resumes when they were hired 10 years ago to HR with different names.

What did we find?

8 out of our 9 top performers did not make it through HR to a hiring managers desk.