4 ms·
This article makes a lot of good points. After going through the "implement a red-black tree on this whiteboard" experience as a more junior dev, I always prom
by dudul 8y ago
This article makes a lot of good points. After going through the "implement a red-black tree on this whiteboard" experience as a more junior dev, I always promised myself I would never use this kind of stupid questions to hire.
Now, 13 years later, I mostly rely on "homework" type exercises. I think they address most of the issues. They are more "real world", no time pressure, etc. However, even those now are being heavily criticized. What's left to be used?
- RomanPushkin 8y agoThere is a problem with homework, candidate spends couple of hours and you spend couple of minutes to assess candidates. It's not fair. Google doesn't do that, Netflix doesn't do that. Why anyone would believe random startup and spend their weekend unless you're desperate looking for any job?
- dudul 8y agoIt is both true and false. Yes, the candidate may spend 1 hour (I don't give difficult homework exercises) while it takes me 15 to 20 minutes to review the submission, but I have to do it for maybe 5 candidates. I totally understand the main criticism for homework, it takes time, the company may never call you back after you poured 2 hours into their stupid exercise. But it is an attempt at fixing all other alternatives: * the onsite whiteboarding is BS * using open source contribution is totally unfair to candidates who don't participate * the "contract for 1 month and then maybe we'll hire you" is also total BS in my book. Who would leave a FT job with benefits for a contract that may end? I'm not sure I can think of any alternative that has 0 drawbacks.
- RomanPushkin 8y ago> the candidate may spend 1 hour > after you poured 2 hours and at the end it turns out to be 5-10 hours. Companies say "you should be able to finish it in 1-2 hours", but it's almost never true. I think alternative is to have 1 hour coding session on a good problem. Most problems are complicated, but there could be something else. I was once asked by Uber to implement timer in JavaScript that will update DOM, also create APIs to stop/start/pause. This kind of a challenge doesn't involve any algorithm, but it shows your ability to code. It should be enough to bring you onsite. But I open source should work. If you contributed to Linux Kernel and it was accepted - onsite no questions asked. If you have github repo of 1000+ stars - onsite no questions asked. If you have already passed Google tech screen and was invited onsite - invite onsite no questions asked.
- beefalo 8y agoSome teams at Netflix do interview homework.
- pmiller2 8y agoHomework is a bit of a catch-22. I agree that they can be made more real world than typical interview problems (although not all are). OTOH, why should I do your “4 hour” project, in which I’m competing with people who spend 8+ hours on it, just to get to the same onsite interview I could get with another company after a recruiter chat and a 45-60 minute technical phone screen? It’s not a good use of my time.
- dudul 8y agoThese are interesting points. Just to clarify first, the exercise should not take more than 1 hour. And I mean it. It is not difficult, or tricky or anything. It is used 1) to make sure the candidate can do very elementary things, 2) as support for follow up during the on-side interview. Regarding "getting the on site", if you don't do the exercise before you would get the "whiteboard" BS. And then you may be competing with people who spent 2 weeks reading "cracking the tech interview". How is that different?
- pmiller2 8y agoIf your exercise truly takes 1 hour, and you're evaluating it on the basis of 1 hours' worth of effort, then fair enough. I would say that roughly equates to the technical phone screen in this case, except without all the annoying "let's talk about every little thing we're doing while we're doing it, so it takes twice as long" BS. And there's nothing wrong with whiteboarding, if done appropriately. Whiteboarding a system design question is totally appropriate. Asking a candidate to write down code for finding the longest palindromic substring of an input string in linear time is not. I've never come to a situation where writing anything more than the barest pseudocode outline for what to do on a whiteboard was the best way to get a real world task accomplished.