Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> This is the fizz buzz test with all the same problems

What is your opinion on fizz buzz problems? I've found it to be a tremendous help in the early interviewing process.



Here's my issue with it. I've taken a few programming classes. I could easily write fizzbuzz as soon as I understood the syntax for loops. So, we're talking day 1 of programming class. I could write it in like 4-5 different languages right now. It would take some work, but I might even be able to figure out how to write it in assembly. I still haven't written an actual program beyond the simple exercises where you are trying to run a calculation and get a specific output from the command-line.

I suppose it's good at filtering out people that don't even know the syntax of a programming language, but do such people apply to programming jobs frequently enough for fizzbuzz to be useful?

Edit: Didn't intend to offend people. I just can't comprehend why a person would apply for a job when they don't know how to do it. I now get that it's a bozo-check, I'm just surprised there's s need for it. I hire in a similar industry and while we run into a lot of people that are obviously bad and or inexperienced, they usually at least know the basics.


Passing fizzbuzz isn't meant to indicate that the person is a good programmer.

Failing fizzbuzz is a quick way to indicate that the person is not a good programmer.


Failing the test is an indication that the person is 'not' a programmer.

You are mostly right, but are there any cases that a programmer wants to join a company and he can't even write a FizzBuzz program?

I have asked that question to all the programmers that I've worked with (with various levels of skill) and all of them can write it.

Is there any data on that? I would love to know if that test actually have helped recruiters to identify bad programmers. Like if they can explain what Ajax is and how it works, but fail to make a FizzBuzz program...

Sorry if it's a bit off topic


> You are mostly right, but are there any cases that a programmer wants to join a company and he can't even write a FizzBuzz program?

Maybe I'm just being cynical but once you get involved in the process of screening candidates you realize that people will literally apply to any job regardless of their ability to perform it. So yes, there are thousands of cases every day where someone wants a programming job and can't even write FizzBuzz.


> but are there any cases that a programmer wants to join a company and he can't even write a FizzBuzz program?

It's not even restricted to pogramming.

I've been involved in some recruitment for an English NHS trust, and people just apply whether they're qualified or not.

Some jobs have a hard requirement for a particular professional registration (you have to be a registered nurse, for example), and that will be clearly stated in the ads and job spec, but you still get people applying who are not nurses, and who don't even have any registration (allied health professionals).

You'll see someone who's done the equivalent of band 4 admin work, with maybe a bit of managements, applying for director level positions.


Yes. I've interviewed "developers" who failed FizzBuzz, and one who took 20 minutes to come up with a solution. I've never even specified a required language for it, and generally accepted pseudo-code.


> I have asked that question to all the programmers that I've worked with (with various levels of skill) and all of them can write it.

Then you now understand the standard of person that gets filtered out by fizzbuzz.


It happens. Interviewed somebody for my company and asked them to write a little bit of code that would print a Fibonacci sequence, one of the other old chestnuts. It didn't go well, and neither did his employment when my boss hired him anyway...


Do you really have people apply that don't even know the syntax for a single language?


It's more common than you think, I really didn't expect it to happen that often until I've started interviewing people.

Of course it's a minority, but a simple test like a fizzbuzz that we can be done with in a matter of minutes can save a lot of time to both parties.


I don't work in hiring, but from what I've read online, it is unbelievably common.


That's interesting. I struggle with imposter syndrome, so I only apply to things I feel pretty confident about. I've also never failed to get an offer though.


I interviewed one, and it was a second-round interview! Granted, it only happened the one time, but it's a funny anecdote.


Having inflicted even easier versions of FizzBuzz on interviewees, I think you'd be highly surprised at the results. About ~30% of developers could not write any form of a loop, in any language, pseudocode or otherwise. This involved a sample size of about 100.

My personal theory is that many of these people constantly fail interviews and therefore skew statistics by reapplying, i.e. at any point the active market is filled with them. Nevertheless, I was shocked.


This is a real effect.

If you have 100 people, 95 of them are competent and put out 6 resumes every 3 years (on average 2/year), and 5 of them are incompetent and put out 100 resumes every year, then in a typical year the average hiring manager will see 95x2 = 190 resumes from competent applicants and 5x100 = 500 resumes from incompetent applicants. Over 70% of your pile of resumes consists of incompetents even though they're only 5% of the population you're sampling from. (Numbers are all made-up.)

Article in a math journal here: http://www.maa.org/sites/default/files/pdf/upload_library/22...


It's interesting, thanks for the link.

Coincidentally, I also experienced a similar effect to the somewhat famous "two humped camel" programming aptitude test [1]. This paper argued that you can split candidates into two normal distributions based on aptitude. In my own tests, what I experienced was more of an extremely long tail on the right side, which is actually somewhat similar to the linked paper.

In our own tests, had a bunch of people fall into the 40-60% range, but there was a small bunch of people clustered around 100%, which are just people who could have scored 100%+ being binned down to the max score, and not a second normal distribution.

[1] http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf


The author of "The Camel Has Two Humps" later retracted[0] that paper.

[0] http://retractionwatch.com/2014/07/18/the-camel-doesnt-have-...


> do such people apply to programming jobs frequently enough for fizzbuzz to be useful?

speaking as someone who does hiring at a large software company: yes, yes they do. In significant numbers.


My problem with this comment is that it really sounds like you haven't even tried to use the fizzbuzz for a hiring process.

And if you haven't, what point was there in you commenting?

Here's one of the original blog posts that afaik made FizzBuzz famous back in 2007, it deals with your issue:

http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz....


My comment ended with a question. The point was to gain an understanding of why this process is common and/or useful.

I'm interested because I work in a related field and I may eventually try to become a developer. I was just curious why this is viewed as useful when it seems so easy to me, a person that isn't ready to be a developer.

Another reason I'm curious is because it's hard for someone learning to program to determine what the barrier to entry is. As in, how much do I need to know before I apply for a junior role? I don't like wasting people's' time.


Ah, ok. There are three things you probably don't realize.

1. While you think anyone can learn fizzbuzz on day 1, a significant proportion of the population do not grasp the logic behind variables and loops (40% I seem to remember, don't quote me).

AFAIK the argument about why this is still rages, it might be because we're terrible at teaching programming logic, or it might be that they're really not capable.

These people can still graduate with a CS degree.

2. There's loads of people who apply for jobs that have absolutely no experience. Lies, half-truths, etc. This happens in all fields. They believe they can learn on the job, not knowing what they don't know.

3. The basic math of bad applicants vs good applicants. Good applicants only apply for a handful jobs (or none at all!). Bad applicants will make hundreds or even thousands of applications trying to get the job they want. See Joel's "Everyone thinks they’re hiring the top 1%":

https://www.joelonsoftware.com/2005/01/27/news-58/

1 + 2 + 3 = lots of fizzbuzz failures

Making FizzBuzz a great way of weeding them all out.


>a significant proportion of the population do not grasp the logic behind variables and loops (40% I seem to remember, don't quote me).

>These people can still graduate with a CS degree.

How the heck can someone graduate with a CS degree without grasping variables and loops? These are fundamental to computer programming. Variables are fundamental to algebra. You can't get a CS degree without knowing algebra. Are you talking about some kind of diploma-mill degrees or something?


A lot of CS degrees are easier than you think. Tons of cheating + disinterested professors = grads who can't code.


It's just a bozo bit check to filter out the bullshitters and the severely incompetent. Doubtless there are better ways to do so, but it's such a pervasive trope among anybody who's paid attention to software engineering culture for more than five minutes that it's a huge red flag if you get blank stares and flailing when it is brought up.


The purpose of fizzbuzz is not to select for people with good programming ability; it's to eliminate people with no programming ability or knowledge whatsoever.


I'm starting to wonder if fizzbuzz is becoming so widely known that the type of people who would otherwise fail it are now googling and memorizing how to write it.

Maybe the industry needs a new sanity test.


As is the fate of all human endeavors, the task of writing fizzbuzz has been taken over by automation: https://github.com/trbabb/StackFizzBuzz

[NOAA HUMOR WARNING: Conditions extremely arid]


It's very widely known among developers who read HN or bl9gs in general. Which is a good filter on its own.


I agree, the analogy was meant to convey that, like the puzzle, it's imperfect but it's a quick way to get info. The jigsaw puzzle, Imo is not as great of a "bar" as fizzbuzz but they serve similar purposes to varying degrees of efficacy




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: