4 ms·
In 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 a
by shioyama 15y ago
In 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.
- shioyama 15y ago> What'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. My assertion is that an aggregate result of fizzbuzz and co. is to narrow the field in areas other than what you're explicitly testing for. "It will sort out the ones that can't program at all, it won't say anything at all about the ones that can." <- yes, and it will also say a lot to all candidates (for good or bad) about your priorities in hiring. Maybe that's fine, but for me at least (and judging from other comments in this thread, others as well) it would be a turn off. So you would potentially lose me and others as candidates, even though we would pass the test. That's my point. > 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. I'm sure you know much more about hiring for startups than I do. But in a very general sense, I don't see screening tests as encouraging creativity, if anything they do the opposite. Others have made similar points in this thread. Maybe they're necessary, but they have costs. I see your point though about a startup not having the same resources to absorb the damage from a bad hire.