It filters out a specific kind of programmer, but not necessarily the right kind. Somebody might be great at their job but have no domain knowledge of this sort of problem. It's kinda like how Advent of Code is totally irrelevant to a lot of day to day work.
Like maybe back in the 80s and 90s programming was primarily about logic and math, but that hasn't been the case for a long time now. A lot of business apps are just declarative markup plus client-server networking, not necessarily condition cascades like this (beyond super simple switch statements).
I'd much rather have teammates who, say, pay attention to UX details or write good documentation or are just easy to work with, rather than someone who's good at abstract logic puzzles that don't reflect most day to day work.
The problem with Fizzbuzz is not that it's too hard, but that it's not really representative. If you wanted to test conditionals, for example, basic HTTP success / error handling in a try/catch would be more useful and common.
Fizzbuzz is easy if you have an intuitive sense that some numbers are evenly divisible by 5 and/or 3, and either know modulus or can test it manually, but if you don't have that sort of math background, it tests the completely wrong things (mathematical reasoning rather than business app ability). In the US, especially, math education gets worse every year, but that's not necessarily a good reason to filter out coders who would otherwise be perfectly fine writing standard consumer apps.
Like maybe back in the 80s and 90s programming was primarily about logic and math, but that hasn't been the case for a long time now. A lot of business apps are just declarative markup plus client-server networking, not necessarily condition cascades like this (beyond super simple switch statements).
I'd much rather have teammates who, say, pay attention to UX details or write good documentation or are just easy to work with, rather than someone who's good at abstract logic puzzles that don't reflect most day to day work.
The problem with Fizzbuzz is not that it's too hard, but that it's not really representative. If you wanted to test conditionals, for example, basic HTTP success / error handling in a try/catch would be more useful and common.
Fizzbuzz is easy if you have an intuitive sense that some numbers are evenly divisible by 5 and/or 3, and either know modulus or can test it manually, but if you don't have that sort of math background, it tests the completely wrong things (mathematical reasoning rather than business app ability). In the US, especially, math education gets worse every year, but that's not necessarily a good reason to filter out coders who would otherwise be perfectly fine writing standard consumer apps.