Back when I started interviewing, I read many articles including Jeff Atwood’s describing the now ubiquitous FizzBuzz. My team and I all thought it would be a good thing to add to our interviews because the truth is always in the code, right?
I’ll be honest, the first ten or twenty times I asked a candidate to complete FizzBuzz during an interview, I felt sheepish about it. It seemed too easy and a bit like we were going through the motions. Sure, everyone has a slightly different approach and a few of them felt wrong, but everyone completed it. My colleagues and I began to question whether or not it was worth it. Were we learning anything about the candidates by having them complete it?
Then we ran into our first candidate that simply didn’t know where to start. He assured us that he understood the request but couldn’t see that a loop was the answer. And then it happened again. And again. The most notable example was from a candidate who was a referral. A member of our team recommended that we hire this person and yet they couldn’t complete FizzBuzz. We let the candidate take the code home and they ultimately still couldn’t send us a working example.
I’ve always tried to give people the benefit of the doubt in terms of nerves during an interview. This has grown into my general disdain of whiteboard programming. On a day to day basis, we all have time to consider a problem, write some throwaway code, Google a few ideas, and then implement a working solution. All without being judged every step of the way. This is why my current hiring process involves a small take-home coding exercise instead. It isn’t much more complicated than FizzBuzz and yet it continually manages to filter people out.
I highly recommend you include something like1 FizzBuzz in your technical interview process. It will be easy for most people. But when it filters someone out, you’ll be happy to have spent a few minutes up front.
1. FizzBuzz is too well-known now. I’ve had candidates tell me they learned it in school as part of interview prep. Additionally, if you use a popular example like Uncle Bob’s bowling kata, you’ll find that people will submit code copy and pasted from GitHub. Instead, write your own exercise and test it with members of your team. Code Golf is a good place to find inspiration.