One reason for the paradox could be that solving a problem on a whiteboard or in a similar interview situation is different from actually writing a program. I could easily see myself failing the fizzbuzz test on a whiteboard. My programming style is highly iterative, even on a micro-level. I don't expect what I write down in the first iteration to be correct. I begin by writing something so I have something to look at and, more importantly, to step through. A full understanding of the problem and its solution evolves in that process of write code - write test - step through code - rinse - repeat. For me, that's more efficient and gives better results than to mull over that first draft and trying to get it right, the way you would on a whiteboard.
P.S. I found an error in this comment after I posted it, so I had to edit it. The iterative method rules.
One of the key things about FizzBuzz is testing divisibility by 3 and 5. There is a lot of software you can write without using the % operator, so perhaps there are large amounts of self trained programmers who never learned about this?
This is also a very good point, I did not think about this. Maybe we should come up with a FizzBuzz-like basic test that is similarly easy, but does not need the modulo operator.
5 comments
[ 2.7 ms ] story [ 23.8 ms ] threadThe other thing to consider is how many candidates have they actually interviewed to arrive at that stat?
P.S. I found an error in this comment after I posted it, so I had to edit it. The iterative method rules.