This post on the 37signals blog struck a chord with me.
Interviewing programmers by requiring them to tackle problems on a white board is a lousy way to find successful developers, yet this practice has existed for years.
I've experienced it myself a few times, and each time I failed. Badly.
On one occasion I was interviewed by four separate people during a single day, all of whom expected me to answer on a white board. None of them asked any questions about previous experience. One of them hadn't even read my résumé prior to the interview.
I've also been asked to tackle problems way outside my area of expertise. Perhaps the silliest was when I was expected to answer a problem which required knowledge of graphic chip architecture even though I was being interviewed for a front-end programming position that had nothing to do with graphics.
Yes, despite the fact that I've written several very successful programs, I wasn't asked back for a second interview because I suck at answering irrelevant technical problems on a white board.
I agree with 37signals that the best way to gauge the potential success of a programmer is to see what they've already done, even if it's just side projects they worked on in college. Interviewing via a white board is like deciding how good a musician is by asking them to write tablature instead of listening to them play.