Paul Novak
6/1/2007 2:09:00 PM
On Jun 1, 9:51 am, Hans Fugal <fug...@zianet.com> wrote:
> Ruby Quiz wrote:
> > There has been some debate on the proper ways to screen programmers you intend
> > to hire. A common theory is that you really need to have the programmer write
> > some code for you to accurately gauge their skill. Exactly what to have them
> > write is another debate, but the blogosphere has recently been abuzz with this
> > question as a screener:
>
> > Write a program that prints the numbers from 1 to 100.
> > But for multiples of three print "Fizz" instead of the
> > number and for the multiples of five print "Buzz". For
> > numbers which are multiples of both three and five
> > print "FizzBuzz".
>
> > Pretend you've just walked into a job interview and been hit with this question.
> > Solve it as you would under such circumstances for this week's Ruby Quiz.
>
> Done, 4 times over. Not a bad quiz though my answers will probably be
> considered boring and would be denounced by the fools using this tactic
> to hire people as "unimaginative" or "lacking creativity and whizbang
> problem-solving skills".
>
> I feel compelled to point out that it was Microsoft who started this
> whole mess, and they quickly figured out it was selecting the wrong
> people and they don't do it anymore. But the cat's out of the bag, and
> now every wannabe shop thinks that's the way to find smart people. It's
> not, it's the way to find people who are good at solving puzzles under
> pressure, and in the worst case to find people who are good at finding
> ridiculously clever (but unreadable/unmaintainable) answers to puzzles
> under pressure.
>
> As we all know, good software development is not about solving little
> puzzles. It's about reasoning about problems large and small and finding
> the most obvious and readable solution (and sometimes optimizing the
> inner loop).
>
> Maybe I would try this in a job interview. I might state the problem and
> say: "this is not a trick question nor hard - just write the code they
> way you normally would." If they write the boring answer, they get
> points in my book. If they write some clever answer, they get demerits.
> If they can't write code at all, and I didn't realize they wouldn't be
> able to, I go sit in a corner and pout.
I do not think there is a lot of room for cleverness in the FizzBuzz
problem. (Actually, I hope I am wrong and we see lots more
suggestions for Extra Fun like Peter's.) My understanding is that
FizzBuzz was intended to screen out candidates that could *not* come
up with working code in a few minutes.
Regards,
Paul.