After a recent spat of programming job interviews and some time to digest them, I am surprised at how little they were about day to day programming. When they did deal with programming, they were not about how to program well.
The sheer fact that one has to read books about interview questions makes me believe we go about interviews wrong. Just do a Google search about interview questions. There are entire books about interviewing and the questions to the answers to. These sort of interviews favor people with good memories than potentially good programmers.
I would illustrate this predicament with the scouting combine in the NFL. College players wanting to get into the NFL go through a set of tests to measure the player. The tests are specific to football and specific to the player’s position. I would liken our current state of interviews to rejecting a player because he can’t run fast backwards. It is something he may have to do, but would rarely if ever do it during an actual football game.
I have some ideas for how to improve interviews. I think it starts by thinking about what a programmer does on a daily basis. You may need to include some questions about things a programmer need to do less often, but I think it should focus on the common tasks.