3 ms·
> And FizzBuzz (linked in #1): yes I get it, it's easy and it filters out 199 out of 200 candidates, but what about those 199 other candidates? Is it not possib
by mseebach 15y ago
> And FizzBuzz (linked in #1): yes I get it, it's easy and it filters out 199 out of 200 candidates, but what about those 199 other candidates? Is it not possible that among them, you might have missed other candidates whose broader set of experiences would have taught you something that you didn't know, something more important than the fact they failed FizzBuzz, for whatever inconsequential reasons?
No, absolutely not. If you cannot code fizzbuzz or find the largest int in an array, you will not succeed in a job where you have to program computers (regardless of whether "programmer" is the job title).
It should be mentioned that fizzbuzz is not about your ability to write perfect code down to every last semi-colon in the first pass on the whiteboard or your ability to navigate a maze of secret trap-doors, it's about checking that you know and understand "for" and "if". That's all. Really. I'd be happy to explain modulo to you if that's the problem. If you have a bug in your code, I'll give you hints, not do my evil cackle and fail you.
- shioyama 15y agoIn hindsight I think I ended up emphasizing the wrong thing in the quote above. Of course being able to handle "for" and "if" is going to be a prerequisite to any programming job, I'm not disputing that. Maybe FizzBuzz is a good test for that, assuming the candidate doesn't go blank under pressure and that the tester is someone as understanding as yourself, willing to give hints to fix bugs, etc. But the test itself is not neutral: it sends a message about the employer's priorities, conveys an image of what the ideal candidate should be. It really doesn't matter if the employer thinks of it as merely a screening test. Once you're testing something, you're making a statement. And as a statement, "tests" like FizzBuzz are pretty off-putting and uninspiring, to me at least and (I think) to a lot of potentially strong candidates. I can see that in a large company with thousands of applicants, this kind of thing is handy as a way to cut down the numbers, but I don't get the sense (in general) that the costs of doing things this way are considered or debated enough.
- mseebach 15y agoSo, we administer an online coding test that's similar in complexity to fizzbuzz, but a different problem. If you come to us through a personal reference, we skip the test. If we come to you, because we've learned about you, we skip the test. If you come to us, and we don't know each other, you'll expect to be screened. Why would you not prefer writing a tiny bit of code, rather than do the "guess what we want to read on your CV" game? Especially when we tell you it's actually a good filter?
- shioyama 15y ago> If you come to us through a personal reference, we skip the test. If we come to you, because we've learned about you, we skip the test. Sure, and how about add to that: if we can (reliably) evaluate your skills based on work you've done, we skip the test. That together would already significantly cut down the number of people who would have to take the test, no? And I can imagine other ways to cut it down further. > Why would you not prefer writing a tiny bit of code, rather than do the "guess what we want to read on your CV" game? Especially when we tell you it's actually a good filter? It's the aggregate result of testing like this that bothers me. I'm just not convinced that you can write a "good filter" in the format of fizzbuzz, by which I mean a filter which does not result (as a side-effect) in attracting (and favouring) a certain type of candidate, with a certain way of thinking and world view -- beyond what you are actually explicitly testing for. Maybe that's a worthwhile trade-off for a large organization which has to deal with huge numbers of applicants, I understand that. But for smaller companies and startups, where creative thinking and original ideas, problem awareness etc. are important, I just can't see how fizzbuzz-like tests should be a priority.
- mseebach 15y agoWhat's the aggregate result of testing for fizzbuzz? If you pass you go to the next stage, if not, you're out? The point of fizzbuzz is that it is so simple that if you are capable of any programming at all, you cannot not pass it. When I say "filter", I'm talking about a negative filter: It will sort out the ones that can't program at all, it won't say anything at all about the ones that can. Perhaps 1 out of 200 is a little high, someone else mentioned 2 out of 20, which is probably closer to home for us. In order to give as many as possible of the 20 a fair chance, we need the 18 rejections to be as effort-efficient as possible. Evaluating a strangers Github portfolio is significantly more work than evaluating his answer to a problem the evaluators are familiar with. Your assertions about start-ups, large companies and creativity confuse me. We are slightly larger than a large start-up, but we very much want and screen for creativity, ideas and problem awareness. But if you can't code a solution to the very simplest imaginable of problems, we do not want you, and I don't see how it's not suicide for a start-up to think differently. The biggest difference in this regard between us and a start-up is that we have had some time and resources to develop, tune and make consistent our recruitment process. Do we miss good ones? It would be weird if we didn't. But a bad hire is orders of magnitude more damaging than missing a good hire. And that's twice as true for a start-up with smaller resource buffers to absorb the damage.