Last week in the RailsLink community‘s #work-offers Slack channel, a member ran a poll with this question:
“Do you prefer a live code assessment or a take-home assessment when interviewing for a developer position?”
I answered that I’m pretty firmly in the take-home camp. Here’s why.
Just to clarify, “take-home” is something the candidate completes alone, probably where they live. “Live” is done physically or virtually in an office, and here’s the important bit, with an interviewer watching the candidate.
I think take-home tests are at least an order of magnitude less stressful than a live coding exercise. And there’s recent research, “Does Stress Impact Technical Interview Performance?“, that supports this notion. (If you click through, you’ll see the paper thinks “live” tests are perfectly constructed to stress people out.)
A brief aside, to talk about my hiring process philosophy in general. I feel strongly about setting candidates up to succeed. That is, an interview process should be less about weeding out the people you don’t want to hire and more about surfacing the people you do want to hire.
You want to help people succeed for both practical (engineers are scarce) and noble (being a decent human) purposes.
Interviews are stressful! And coding interviews? Yikes! It’s one of the most stressful things I can remember ever doing. Asking people to perform well under these conditions sure feels like “weeding out.”
Generally, being a software engineer doesn’t require that one operate well under extreme stress. So unnecessary stress’s presence in the process is unwelcome! I don’t need to know if folks can code under duress–I just want to see if they can code!
So, I believe that folks answering a reasonable, relevant, and practical coding exercise at home is a lot less stressful. At home, you’ve got your own computer and dev environment. You’re probably in a workspace you enjoy and set up to your preference. You get to Google guilt-free. You can grab a snack or hit the bathroom if the need arises.
The more I’ve interviewed people (and been interviewed), the more I want to let candidates take the interview on their terms in the time and place of their choosing, if possible. (And with an open book, because all software developers work with an open book.)
Am I asserting that a take-home assessment is stress-free? Oh, Dear Reader, absolutely not! Still pretty stressful, I’d say!
Does this mean that there will be no further technical assessment in the course of a face-to-face or onsite interview? No. But it probably means there’s nothing that involves writing curly braces on a whiteboard.
We have all blanked at coding questions in interviews because it’s kind of intense. As a hiring manager, the idea that someone didn’t make it all the way through an interview process because it was too stressful just drives me crazy because finding good people is often my biggest challenge!
And, as a human, I feel bad that it makes people feel bad.
So, if you’re a hiring manager, minimize or drop your live coding tasks. Figure out how to turn them into take home tests.
If you’re a candidate, ask if you can do parts of the interview at home.
We’re at the end of this post, but I’m sure you’ve got a lot of questions. What is a fair assessment? How do you create one? Where in the process should it occur? Should you even have a coding assessment? All great questions that I look forward to addressing in the future!
Thanks for reading! You can find me on Twitter (@mjbellantoni) and LinkedIn. I’d love to hear your thoughts!