> You’re going to see three types of people in your interviews. At one end of the scale, there are the unwashed masses, lacking even the most basic skills for this job. They are easy to ferret out and eliminate, often just by asking two or three quick questions. At the other extreme you’ve got your brilliant superstars who write lisp compilers for fun, in a weekend, in Assembler for the Nintendo DS. And in the middle, you have a large number of “maybes” who seem like they might just be able to contribute something. The trick is telling the difference between the superstars and the maybes, because the secret is that you don’t want to hire any of the maybes. Ever.
That one essay seems to have spawned a major fear in the industry of hiring someone who you might have previously taken a chance on. In an attempt to prevent what Joel warned us about all those years ago, the interview ritual has increased in complexity. We've since been advised that the coding homework and the whiteboard implementation of FizzBuzz are mandatory, and they've swept the industry.
Ironically I've got that one covered in spades. :) But I may or (more likely) may not be able to do your puzzle on a whiteboard in front of you.
But the point I was trying to make is that we've added a bunch of extra questions and tasks to the interview process in order to eliminate anyone who might not fit perfectly into a role. There is very little opportunity to realistically get hired into a role into which you can grow into. The fear mongering tells us that every new hire must be a perfect fit both technically and personally, or else the entire engineering department is imperiled.
Not every new question or task we've added to the interview process is very high yield. My recollection is that the advice to administer the Fizzbuzz question during an interview came along when there was previously no advice to establish a minimum competency in coding at the whiteboard.
Previously you might show up to an interview and one person would ask you to implement a linked list, another to ask you to reverse the words in a sentence, and yet another to traverse a binary tree. There was no standardized question to ask a candidate.
Then somebody came along and observed, "hey, y'all are asking pretty complex questions as your first question, but you can eliminate half your candidates with Fizzbuzz. Reduce the amount of time you spend watching awkwardly as a candidate tries to implement a random data structure! Just give 'em the ol' Fizzbuzz and watch the chaff your manager brings in wash out in the first 10 minutes!"
So, pretty quickly people started asking Fizzbuzz in interviews, and it's become as ubiquitous, annoying, and dehumanizing as open office plans.
But the overall trend over the last several years is one of fear of hiring someone who is not a good to perfect fit for a job. It's gotten to the point where a candidate must fit every bullet point on a checklist to even get a call from a hiring manager, must correctly answer every question fashionable question du jour, and now must be someone you would like to hang out with and have a beer with after work. Fizzbuzz is simply an imperfect tool for helping make sure you only hire the 10x day one it crushers.