Geeks With Blogs
Fran Hoey

How do you know the programmer you are interviewing is the best of the bunch?

I'm talking about natural programming talent. The best programmers will pick up new technologies fast and be using them in an innovative, imaginative and logical way. They will write clean logical code that rarely fails and is easy, even pleasing, to follow.

Most interview tests can be passed by reading a textbook and having a little experience. They don't weed out the truly good programmers from the ones who learn programming parrot fashion.

For me, an interviewer needs to test the interviewees problem understanding and solving techniques as this underpins any good programmer. I think a good way of doing this is via logic games.

Blocked Car/Parking Lot

The user has to move other cars out of the way to get the yellow car out of the parking lot. This exercises the programming problem solving muscle. The user has to think about many factors as the levels get harder (e.g. I need to move the red car, but to do that I have to move the blue car, but I cant because....)

Here is an example -

River Crossing Puzzle

A classic logic puzzle. The user has to get a group of people from one side of a river to the other, but the boat cant take them all at once. There are several rules restricting who the people are happy to be with that restrict the order they can be moved. This is the sort of problem common when programming. The core task is simple, but restrictions in the environment or business rules add complications.

Here is an example -


I'm not suggesting this is the only test you should try, or even the best, but it at least tests something that is nearly always missed.

Posted on Sunday, June 12, 2011 8:26 AM programming , interviews | Back to top

Comments on this post: How do you interview a programmer?

# re: How do you interview a programmer?
Requesting Gravatar...
logic puzzles has been discussed many times as to whether it is a good way to find good programmers. The general consensus, it isn't.

In fact there is really only one way to find good programmers, and its the most obvious way :- sit down and program something with them.

Left by Keith on Jun 12, 2011 10:28 PM

# re: How do you interview a programmer?
Requesting Gravatar...
I wondered about this question myself and read couple of books on the subject. "How would you move mount Fiji..." is the classic. I believe now that logic puzzles are a distraction. They test IQ, but not the ability to program.
I don't like knowledge questions much either. They test your memory, but not the ability to program.

Have a programmer actually program. There is a variety of programming problems that could be asked.
Left by DK on Jun 13, 2011 11:40 PM

# re: How do you interview a programmer?
Requesting Gravatar...
Thank you for your responses.

The main purpose of this blog was to highlight an issue when interviewing programmers that I've experienced.

I got a lot of feed back here and on LinkedIn. The best feedback I read was a link the to the Guerrilla Guide to Interviewing. It's got some very good ideas in it and I think would produce a balanced view of the interviewee.
Left by Fran Hoey on Jun 30, 2011 10:08 AM

# re: How do you interview a programmer?
Requesting Gravatar...
An interesting view of the matter.

However, depending on your needs you might need a junior who not necessary has to be able to solve difficult problems. He's job will be just coding of simple thing.

At the same time, it's always good to avoid wasting of time when looking for a programmer.

Here is another view of the matter - - how to save time for both: programmer and employer.
Left by Stan on Mar 05, 2013 2:52 PM

Your comment:
 (will show your gravatar)

Copyright © FranHoey | Powered by: