Somehow FizzBuzz is still a topic today and that’s why I recently wrote a (satirical) post about it. Today I’ll describe the history of FizzBuzz and provide you with the links to the original articles. For anyone who does not know what FizzBuzz is, let me explain this first. Fizzbuzz is a programming test of a trivial algorithm that is supposed to be written with pen and paper (without using a computer). Many programmers fail this test during interviews. What that means? No idea… really… I don’t.
What’s wrong with FizzBuzz?
I believe in programming tests in the interview process, but not in the “trivial algorithm with pen and paper” type. In my opinion the following is wrong with the FizzBuzz test:
- No Google or other tools
- Being overlooked while writing
- No way to run the code (or check the syntax)
- No text editing (insertion/modification)
- Algorithm is trivial
To me, these differences with programming in the office make FizzBuzz a test that has nothing to do with the actual creation of software. Although I have no data to back it up, my feeling says that FizzBuzz success DOES correlate with programming experience. But programmers that are good at memorizing syntax are far less valuable than those solving non-trivial algorithms. Since FizzBuzz rewards only the first, I think it is flawed. So it is a bad test, so what?
Those comments… why?
Well, before we skip to the history of FizzBuzz I have one question about these posts that I want you to help me answer:
“Why do people post answers (code) to FizzBuzz articles in the comments?”.
Aren’t you disqualifying yourself by posting the answer to FizzBuzz? I feel you are saying “the answer is interesting” or “look, I can solve it!”. What’s up with that? Some people post answers in obscure languages, which I also do not understand. What is that supposed to mean? Does it mean “this obscure language can be used to solve this trivial problem” or “I know this obscure language good enough to solve a trivial problem”? Or, more understandable I guess, are all these reactions trolls to invoke a reaction? If that is the case, then what is the desired reaction?
One commenter (EdwardM) writes:
And, just because I’m a geek, and can’t help myself, here’s what I whipped up in a couple of minutes. I’m sure it could be better, but that’s when you start up an interesting conversation about refactoring in the interview, right? 😉
He knows it is wrong to post the answer, but still he does it. Is it the urge to share? The urge for recognition? Maybe that is all not true. Maybe I am too negative and is it a positive thing. Maybe it is fueled by the “joy of programming”, can that be it?
History of FizzBuzz
Okay, now as promised the first three posts from 2007 that started the whole FizzBuzz discussion in the first place:
- Imran Ghory: Using FizzBuzz to Find Developers who Grok Coding
- Reginald Braithwaite – Don’t Overthink FizzBuzz
- Jeff Atwood – Why Can’t Programmers.. Program?
Other interesting links on the topic:
- C2: Why Fizz-Buzz is “hard”
- RosettaCode: FizzBuzz (implementation in 202 languages)
- Github: FizzBuzzEnterpriseEdition (hilarious)
Read them, but remember: beware of the comments! 😉