8 ms·
This looks interesting, though I don't agree with the "most candidates cannot write code to simple algorithm" thesis. I interview A LOT. Almost 100% of the can
by liranz 13y ago
This looks interesting, though I don't agree with the "most candidates cannot write code to simple algorithm" thesis.
I interview A LOT. Almost 100% of the candidates I receive cover the basic programming abilities.
The real problem is that they don't know how to THINK.
I talk with them 20 min on the phone when they have to present a problem they had and how they solved it. Then I try to find out what they find interesting.
Giving a mini project is a good idea, but it does not scale well, and still requires a lot of resources top candidates will just not be willing to invest.
- lrem 13y agoA simple programming task adds 20 minutes to the burden of the interviewee, costs you next to nothing and weeds out the folk who don't actually know how to program. If someone fails to print prime numbers below 100 in 20 minutes, there is something wrong with his skills.
- penguat 13y agoAnd is this a buyer or a seller's market? If it's a buyer's market then you can give the interviewee as many tests as you like. If it's a seller's market... you'd better have something really good going for you!
- VBprogrammer 13y agoThat would seem premised on the idea that it is better to have someone barely capable in the position than to go without. In my own personal experience I'd rather be short handed than work with someone incompetent.
- VLM 13y agoYour outlook is only correct if jerking applicants around with meaningless trivia questions and irrelevant tests actually, somehow, probably accidentally, results in the selection of world class developers. If there were 20 plumbers and only 10 plumber jobs, I could get away with jerking them around forcing them to do crossword puzzles before hiring them to fix my toilet. That doesn't mean the selection pressure would magically result in the guy most likely to fix my leaky toilet; much more likely it would result in the guy best at doing crossword puzzles. Unfortunately I now have a concrete deliverable of a leaky toilet to fix, and the best crossword puzzle solver in the market trying to fix it. That isn't going to end well. Especially when the best leaky toilet fixer in the world knows he can refuse the crossword puzzle test and get a job via his rep or connections so he never even applies. So its not just a random selection of applicants, but a random selection of an inferior population.
- VBprogrammer 13y agoI understand where you are coming from but personally I believe that asking a programmer to produce a small amount of code is certainly relevant. Don't get me wrong, it would be possible to pick nearly worthless questions which prove nothing about a candidate but a well designed problem requiring a few dozen lines of code and no 'trick' or specific knowledge can tell you more about an applicant than many hours of trying to code on a white-board or doing silly logic puzzles.
- twic 13y agoThat would indeed be a terribly way to hire plumbers! But happily, that is not anything like what the article is suggesting. The article suggests (1) using a simple but relevant exercise and (2) using it as a screen, to select people for a real interview. The analogy with plumbers would be something like asking them to list the tools they would need to replace a hot water cylinder. For someone who knows their stuff, it's trivial. But it will weed out the guys who are bullshitting you. The guys who can give a good answer, you ask to come in for a proper interview.
- yozhik 13y agoI actually prefer working on a programming assignment when applying for new jobs. Most of my side project code is undocumented with few tests, so getting a coding assignment gives me the chance to prove that I do include those elements in paid work.
- 7Figures2Commas 13y ago1. Write program that prints prime numbers below 100. 2. ? 3. Profit! Interviews are a two-way street. If you're looking to hire an experienced developer and the best you can do is ask him to do something that he'll probably never have reason to do on the job, you're sending a pretty strong message about your company. If you're going to ask somebody to code (or solve a problem) as part of the interview process, there's nothing worse than being lazy in creating the task. "Print prime numbers below 100" falls under the lazy category.
- twic 13y agoIf the best you can do is to set a trivial programming problem, then indeed, that is deeply unimpressive. Happily, that is not what the article is suggesting, nor what anyone actually does. The article gives three steps: first, a trivial programming problem, second, a challenging programming problem (here delivered as homework), and thirdly, a face-to-face interview to check cultural fit. The purpose of the trivial problem, as explained in the article, and explained by anyone else who has ever advocated this approach, is simply to weed out people who just cannot code at all, and to do that early and cheaply. My current employer uses a trivial programming problem like this as an early screen (it comes after our recruitment guy has read their CV, but before we put them on the phone with a developer). Therefore, i, and many of my colleagues, are experienced developers who have been given a trivial programming problem to solve. It did not any of us a message which put us off the company. I have not heard of anyone being asked to do this test and losing interest in working for us as a consequence. On the contrary, i was pleased when i was given the problem as an initial screen, because it told me that the company was serious about hiring people who can actually code, which puts them head and shoulders above many employers!
- VLM 13y ago> check cultural fit. I see lots of references to "culture" in hiring comments, so I'm not trying to call you specifically out, but what does it mean? It always bristles me, like if your criteria is "white men only need apply" well just outright say it, don't tiptoe around it. As a suggestion to anyone on HN who does hiring, if for example you're not going to hire my wife because of her ethnicity or because she's a woman, just put it in the job ad and save everyone involved a lot of time and tiptoeing around "culture".
- potatolicious 13y agoThere's a fence here - a bimodality if you will. I've been on both sides of it. I used to do a large amount of phone screening for Amazon, probably over a hundred in all by the time I got sick of being a professional interviewer. I experienced much of what the author did: the bulk of the candidates had zero algorithms or data structures knowledge and could not program. Not "can't program well" or "can't program at a professional level", we're talking "I don't trust you with a simple shell script". Now I work for a rather more obscure startup - we're relatively well known in the tech scene around here, but we're by a very long shot not a mainstream household name. The caliber of people that come through the door now is vastly different. I've interviewed some duds here, but have never interviewed someone in this position that just outright couldn't code. The question I have for the author is who he hires for, and how much they pay. The low end of the software industry is plagued with people who have no business calling themselves programmers. It's really a vicious cycle - there's a large segment of our industry where the typical skill level is disastrously low, which causes ever more bureaucratic and ever more absurd filtering mechanisms to be invented, which further alienates programmers who have any real choice in employers. Nowadays I'd be mildly insulted if given a FizzBuzz during an interview - but I used to do the same out of necessity, because 25% of my candidates couldn't pass it.