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.