On his blog, tickletux advocates the use of FizzBuzz to find developers who grok coding. However, this kind of test may also cause difficulties. What do you do if a candidate answers with the following (correct) C code?

#include <stdio.h> static const char *t[] = { "%d

" , "Fizz

" , "Buzz

" , "FizzBuzz

" }; int main() { unsigned int i; for (i = 1 ; i <= 100 ; i++) printf(t[ 3 & 19142723 >> 2 *i% 30 ], i); return 0 ; }

What explanation would you choose?

the candidate is smart and managed to avoid any explicit test (“branches are evil” philosophy): hired;

the candidate tried to impress you and won’t explain the 19142723 in her code: she is likely to cause problems in the team: not hired;

the candidate mind is so convoluted that she could not think of another solution: not hired

the problem you gave the candidate was so boring that she solved it while having some fun; may be a real problem solver: hired;

the candidate is perfectly suited for an embedded systems programmer position: hired or not, depending on the kind of software you want her to write.

If I were to interview people for a programmer position, I honestly don’t know what I would do with someone writing such a code in response to the original problem. I would probably assume that the programmer was bored and that she wanted to have some fun while doing her job, and I kinda like this idea.