I stumbled across an old article on coding horror about how people are having to make job applicants sit a simple filter test.
The article is here.
The test is of course fizzbuzz. Its super simple to explain (but i wont) and only takes a handful of lines of code to solve, even in the most verbose languages.

At first I couldn’t believe the stats presented in the article.
Surely their resume would filter out the people that cant program?
Surely you can tell a programmer within 5 seconds of a phone interview?
Surely theres no need for such a simple test?
But then one of my minions went for a job interview at some place and they actually gave him the fizzbuzz test.
One of the local game company CEOs also says that 30% of the programmers they get in to interview cannot program to save themselves.

Then a workmate sent me an amusing fizzbuzz solution: Enterprize Fizzbuzz
This cheered me up. Its good to see people can take a light hearted view on this sorry state of affairs.

So I decided to do some ridiculous solutions to fizzbuzz as a bit of fun.
Ive put them on github, and will add to them as I think up more ways to mess up fizzbuzz.
My current favorite is the template meta-programming version. Its succinct and quite beautiful, but a complete waste of time.

What other ways can we over-engineer fizzbuzz? Maybe a webmachine web service that streams the results back…
or using llvm to generate a machine “optimized” [1] solution at runtime.

Aside: One thing I like doing when interviewing people is getting them to show me code from their own projects, and then asking them if there is anything that they would change or improve.
It tells you a lot about the sort of programmer they are.
It would be interesting to do this with peoples fizzbuzz solutions. Sadistic maybe. But interesting.

[1] which will still be dominated by IO, hence the quotes around “optimized”.

  1. Regularly Divisible - Alex Bowe - pingback on November 23, 2010 at 10:54 pm

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Trackbacks and Pingbacks: