4 ms·
Beyond whiteboard based coding being a bad medium, on-the-spot programming exercises are a super noisy, poor medium for assessment compared to the alternative:
by gfodor 7y ago
Beyond whiteboard based coding being a bad medium, on-the-spot programming exercises are a super noisy, poor medium for assessment compared to the alternative: a work sample in the form of a 4-8 hour programming exercise done by the person on their own terms. No exploding deadline, no restrictions on tools other than those necessary to show the person's relevant job skills. Make a bunch of them, put the time into them, and let the candidate have a chance to pick from a library of exercises that are interesting and fun to do.
The main downside to a work sample is that a lot of people will say they simply don't have the time to do it. That's fine, you'll lose some people, but you'll also have people applying who really want to work for the company. From there, you'll have a small number of people who do a great job on it. By the time they are in your office interviewing, the idea that you'd reject them because of a slip-up on a small coding exercise on a whiteboard is absurd, because you already have a mountain of evidence regarding their skills as a programmer. The in-interview exercises will be there to test other skills like communication and collaboration, not writing good programs.
- munificent 7y agoI think there's a good argument that larger-scale work-sample exercises like this are even more ageist because older candidates are more likely to have family commitments that give them less free time to allocate for things like this.
- gfodor 7y agoFrankly, I've heard this before and I disagree. (I'm a parent.) It does mean you have to be selective with regards to what companies you apply to: you don't have infinite time (and nor does anyone.) It's a catch-22, however. I look for companies that have good interview processes, because it means they are going to have good employees. I feel pretty strongly that good skill assessment is a critical component to hiring good people. I don't think you can hire programmers based upon resumes, references, or 'track record' alone. I think you need to assess their skills in a very deep way during the interview process, since there are a lot of candidates who look good on paper and can talk the talk (deliberately) but when actually put to work aren't up to the job. So, I look highly upon companies that actually provide a good forum for showcasing my skills: not just because it means my interview will be fair, but it also means that the people I'm working with will have had their skills assessed in a similar way. I'm willing to make that tradeoff in time and prioritization. It's basically this tradeoff: unless you think you can hire good programmers without a assessment, you either should expect to be assessed (and should look kindly upon assessment mechanisms you feel do a good job of assessing your skills, like a work sample), or you should expect to work with less skilled programmers, on average, if you get the job. edit: should add, I love your game programming book! :) thanks for writing it.
- munificent 7y agoYes, I agree with you overall. I'm not crazy about the algorithms-on-a-whiteboard process, even after having been on the other side of the table many times. I have very little confidence on my ability to judge someone's suitability as an engineer based on their performance at a whiteboard. At the same time, I just wanted to point out that deeper interviews have flaws too. The time commitment is a real challenge, in particular for people that have kids or are in an economic place where they may be working multiple jobs. You don't want someone's inability to commit the time to interview to inadvertently filter them out. Especially because the people who have the least time are often the ones most in need of a good-paying, stable software job. > edit: should add, I love your game programming book! :) thanks for writing it. You're welcome! :)
- zerogvt 7y agoThe last place had me wasting (as I now understand) a weekend for a project as well. Go figure.