Well, if you had known about it, I suppose it would be an advantage, but any professional programmer should be able to write fizzbuzz. I really don't like whiteboard situations and I think it is really important to give someone a real computer and also give them time to settle down / warm up because people can panic, even with a small problem like this. However fizzbuzz is a bit like asking typists to take a typing test and to manage at least 20 WPM. If you can't do it, even in a disadvantageous situation, then you aren't a typist.
Having said that, we tend to pair program for our interviews. Our current interview system is to do a quick telephone interview and then follow up with a 4 pomodoro pair programming session. Usually we ping pong and offer to drive first so that the candidate has a chance to settle in. Generally we TDD a fun kata.
I've been surprised at how effective this is. For the people we've hired recently, the programming session really shows what the person is like to work with (to be fair, we actually pair program on most work so it is easy to judge the effectiveness of the hiring system). Apart from that initial telephone screening, we've dispensed completely with formal interview questions because more than anything it was biasing us away from hiring people with qualities that we cared about (being able to program, being able to pair, being able to TDD).
I've had the experience of cutting interviews short before, when it was obvious that the candidate was well out of their depth. We've stopped doing that. We go through all 4 pomodoros with each candidate. Even if we are sure it's a poor fit, it's important to give something back to the candidate who has taken time out of their day to come and visit. It sometimes turns into a 2 hour coaching session, but that's fine. Hopefully it helps the candidate sometime in the future.
It's kind of expensive, but trying to have an interview system that leaves a positive feeling should eventually lead to a good reputation in the industry. That, in turn, should make recruiting easier/cheaper. If you leave the impression, "those people are awesome -- I really want to work there", then it's worth the added expense, I think.
Having said that, we tend to pair program for our interviews. Our current interview system is to do a quick telephone interview and then follow up with a 4 pomodoro pair programming session. Usually we ping pong and offer to drive first so that the candidate has a chance to settle in. Generally we TDD a fun kata.
I've been surprised at how effective this is. For the people we've hired recently, the programming session really shows what the person is like to work with (to be fair, we actually pair program on most work so it is easy to judge the effectiveness of the hiring system). Apart from that initial telephone screening, we've dispensed completely with formal interview questions because more than anything it was biasing us away from hiring people with qualities that we cared about (being able to program, being able to pair, being able to TDD).
I've had the experience of cutting interviews short before, when it was obvious that the candidate was well out of their depth. We've stopped doing that. We go through all 4 pomodoros with each candidate. Even if we are sure it's a poor fit, it's important to give something back to the candidate who has taken time out of their day to come and visit. It sometimes turns into a 2 hour coaching session, but that's fine. Hopefully it helps the candidate sometime in the future.
It's kind of expensive, but trying to have an interview system that leaves a positive feeling should eventually lead to a good reputation in the industry. That, in turn, should make recruiting easier/cheaper. If you leave the impression, "those people are awesome -- I really want to work there", then it's worth the added expense, I think.