top | item 20778238

(no title)

gervase | 6 years ago

When I was running hiring at a previous startup, we ran into this issue often. When I proposed adding FizzBuzz to our screening process, I got a fair amount of pushback from the team that it was a waste of the candidates' time.

Once we'd actually started using it, though, we found it filtered between 20-30% of our applicant pool, even when we let them use literally any language they desired, presumably their strongest.

However, it usually only filtered fresh grads (CS students from top-10 schools). Those with previous work experience almost never had a problem.

discuss

order

cs02rm0|6 years ago

When I proposed adding FizzBuzz to our screening process, I got a fair amount of pushback from the team that it was a waste of the candidates' time.

I've had the same, I was a contractor and not usually involved in the hiring process but I'd been asked for a question they could take to a candidate.

One of the team at the time was a young Maths grad, super bright but prone to being over confident. So I wrote a clear FizzBuzz question, passed him the pen and paper and asked him if he was sure when he was done. There was some minor issue, a boundary issue one think and he was livid with himself. So they took it to the candidate and apparently it was a bit of a disaster.

Personally, the first time I came across it was in an interview and I quite enjoyed it - simple enough to not be threatening but I guess sufficiently able to show I could write code as they offered me the role. They asked some extra questions too with some extensions and about how you could unit test it.

Beats having to implement red-black trees by remembering the crib sheet you read the day before.

crispyambulance|6 years ago

The interesting thing to consider is that before implementing the screen, did you hire some people that would have failed fizzbuzz? It makes me wonder how valuable the fizzbuzz screen actually is if people can just do it after a little bit of work experience.

I suspect that candidates who are otherwise fine (and not misrepresenting themselves on their CV's), fail fizzbuzz because they overthink the problem, stumble on the not-so-frequently-used modulo operator and then paint themselves into a corner where they can't just loosen up, take a breath and figure out the solution.

blunte|6 years ago

Exactly. If a company hires a programmer who cannot solve fizzbuzz, then the company utterly failed at interviewing. And in my opinion, this may indicate that the company will fail in other important communication areas.

You should be able to have a 10 minute conversation with someone and know if they can solve fizzbuzz (without even posing the problem).

jerf|6 years ago

Speaking at least for myself in an interview role, I consider the modulo operator a bit of trivia that many programmers have no reason to encounter, and if you build a "divisible_by_5" function that works in some semi-sensible manner, I'd probably be happy.

gwbas1c|6 years ago

I would strongly oppose Fizzbuzz. Why?

It's so well known that everyone uses it to study for their interview. You'll end up hiring someone who just memorized the solution.

Instead, come up with your own unique programming challenge that the candidate hasn't seen before. It should be about as easy / hard as Fizzbuzz.

Related: I once interviewed a candidate who came across as knowing my questions ahead of time, and delivering a well-reheased answer. I made up a question on the spot, and got a "this wasn't supposed to be on the test" tone of voice in the answer. I rejected the candidate.

Technical interviews aren't things that the candidate should memorize and rehearse. That's why I'd never ask Fizzbuzz.

theamk|6 years ago

I don’t think anyone need to “memorize and rehearse” Fizzbuzz, the whole idea is it is so trivial that one can solve it on the spot without prior knowledge.

If one is concerned about people memorizing answer, it is pretty simple to change the question a bit to make it non-recognizeable,

crimsonalucard|6 years ago

That's the thing... you feel fizzbuzz is effective but the fact that it filtered out CS students from top 10 schools says more about the test then it does the student.

Think about it, it takes way more work, way more intelligence to get into and graduate from a top 10 school then it does to learn how to pass a fizzbuzz test.

I can 100% tell you that ALL CS grads from top 10 schools can pass fizz buzz given a day to do it. That being said I can also say literally most of your coworkers who are administering the fizz buzz test will not be able to ever attend a top 10 school given a lifetime to prepare.

It is incredulous to me that people can literally dismiss an MIT candidate because he didn't pass a fizzbuzz test. Do you not realize that it is 100x easier to learn programming then it is to get into MIT?

People need to get it through their heads. Programming is actually really, really easy. That's why there's so many people who can learn how to do it without going to college. But instead I see most people thinking that they are so intelligent they didn't need to go to college because they can just learn programming.... That may be partially true, but most of what I see is actually just people learning programming because they COULDN'T get into university.

But it still begs the question... what is making an MIT student fail a fizzbuzz test? It's like failing to recite a paragraph out loud with zero stuttering to an audience who is judging your future career. How could one possibly be so stupid and not stutter? If you stutter it must mean you can't speak english, just like how if you fail a fizzbuzz test is must mean you can't program.

To be honest I don't know why so many programmers fail. But I'm honestly pretty sure fizzbuzz is so dreadfully easy that there is some other factor that is influencing this high failure rate.

gwbas1c|6 years ago

> To be honest I don't know why so many programmers fail.

Because many people are not capable of programming.

More importantly, the school you go to has nothing to do with your capability of a programmer. I worked with quite a few people in my CS department who couldn't program their way out of a paper bag. Most were still very bright people who I assume figured out successful careers.

I suspect a lot of the recent CS grads who can't do fizzbuzz end up following careers that don't require programming.

It's also important to understand that Computer Science is not Software Engineering. Computer Science is fundamentally a mathematical field. Don't conflate the two.

AnimalMuppet|6 years ago

Computer science != software engineering.

> Programming is actually really, really easy.

Perhaps. Software engineering is hard, though, and it is not the same as CS. We turn out these CS degrees, and then we expect that they can do software engineering.

That said, fizz buzz may not be the best way to tell if people can do software engineering, either...

sn9|6 years ago

I feel like you and everyone else are missing the obvious explanation: people who claim to be from a top 10 CS program who can't solve FizzBuzz in a few minutes lied about their background.

I find it hard to believe that anyone who has spent more than a week programming couldn't solve FizzBuzz. Even if they somehow weren't familiar with the modulo operator, you could just explain how it worked.

FizzBuzz is a way of easily filtering con artists.