I have dropped out of recruiting processes in the past after they asked me to do a take-home assignment. Still, a take-home assignment is part of almost every recruiting process I define. Here I'll write about why most take-home assignments suck, and how I design my own to avoid the same mistakes.
I'm focusing mostly on hiring developers in this blog post, but in my experience, most will hold true also for hiring other people for in-demand jobs.
If you are interested in more articles and news about web product development and entrepreneurship, please feel free to follow me on Twitter.
Why I reject most take-home assignments
Most take-home assignments suck. You spend hours, days, sometimes weeks, working on a problem no one cares about, just to be told you didn't get the job from someone who might not even have looked at your code. And then do it all over again for the next job application.
I've done my share of take-home assignments. The worst was algorithmic challenges. I work on web applications, and, except for maybe database queries, readability of the code usually is significantly more important than writing performant algorithms. But there were also some generic "create a full-stack app in 2 hours" tasks. Not as bad as the algorithmic ones. But still usually a waste of time.
And I am not only talking about myself. Especially the algorithmic challenges are not only a waste of the candidates' time but also a dangerous signal to the company hiring. I do not doubt that there is a correlation between performance on an algorithmic task and later on the job, but it is an indirect one. Those who studied computer science or specifically prepare for interviews, and spend a lot of time on their current occupation will both perform well on these challenges, as well as most likely invest time to learn the skills for their specific new job.
But it will also sort out those with unorthodox careers, limited time for preparation, and, worst of all (from the company's perspective), those that have the specific skills for the job and no longer need to spend time on grooming interview-only skills.
And why I still use them in recruiting
So why do I still use take-home assignments when hiring myself? If done correctly, they are actually not only effective but also help to avoid weeding out candidates that fit the job but don't fit the usual recruiting process. There's a couple of guidelines for good take-home assignments that I try to follow:
Right candidate motivation
Recruiting is like any kind of product work: If the customers (the candidates) think that your product is too expensive (they don't want to spend the time on a take-home challenge), then what this really tells you is that the product doesn't deliver enough value to them (they don't see a good reason to change from their current job to this new one).
Therefore the most important part of using take-home assignments is to first make sure that the job you are offering is really of interest to your candidates, and that they know this.
Instead of some made-up challenge, I choose a task we had to solve in the past at the company, and that the candidate would have worked on, had they already been there back then. I make sure that the task description matches what we thought the task was about back then, not what we figured out along the way.
So far I have found no better predictor on how well someone will perform on their job than seeing them perform on the exact job.
Relevant work environment
I usually tell the candidates to act for the challenge as if they were already working for the company, just from home. This includes googling, using tools, asking questions, and everything else they would be doing on the job normally. When they ask questions, I don't use that as an opportunity to test their knowledge, but try to help as much as possible instead. The same as I would for a colleague or employee.
There are some caveats to this, as the time a candidate works on a task usually isn't during working hours. So far I have mostly bit the bullet and answered those questions outside of my usual working hours, but this has challenges of its own, including the appearance that outside-hours work might be normal at the company.
I slim down the task until it takes me less than 1 hour to do it. For someone without background, this can still mean a multi-hour task. I believe that when working with a company for a year or longer, it makes sense for the candidate to spend some time on the company. But there are limits, especially when hiring someone who already has a job and might not easily find a full day that early in the recruiting process.
With the right scope, this also brings the advantage of being more accessible to those who otherwise would get nervous in a one-on-one or group interview setting.
How this fits in the overall recruiting process
I am usually hiring in startup contexts. Usually the process I set up looks something like this:
- I always have a really detailed job description including salary ranges, tools used, typical tasks, and as much information as possible to make sure that candidates know even before applying whether the job is for them.
- For each candidate I check the CV whether it could match. Here I am quite liberal. It usually would be worse for me to sort out a good candidate too early than to sort out a bad candidate "too late". My estimate is that about 50% of candidates make it to the next step.
- Next is a (video-)call. The sole purpose of this call is to convince the candidate that they should work for us. I also ask questions, because that is what candidates expect and without these, they would be uncomfortable, but I don’t really care about them. I’ve in the past actually outsourced this to a sales agent with quite a good success. Here I lose about 5% of candidates who don’t want to do the next step.
- Now comes the take-home assignment. I tell the candidate about a dozen times (literally, it is really important to stress this) that the task can only be solved if they ask questions, and that this is totally fine and that they should just imagine they were already working for us and would be working from home for one day. This is the main cut-off, only about 5% of candidates make it through this.
- Next is a trial half-day of working with the team. Before the 'Rona this happened in the office, with plenty of breaks, lunch, and opportunities to socialize. Remotely it is one or two longer video calls. The candidate needs to sign an NDA. The tasks here are not made up either, but just whatever the team is currently working on. This step loses another 5-10%.
- At his point, I’m offering a contract and hire the candidate.
Each of the steps is required for take-home assignments to make sense. If the candidates do not know enough about the job or are obviously a bad fit, then asking them to do a take-home assignment isn't fair to them and their time. And even though the take-home assignment is in my experience quite a good measure for job performance, there is still a need to ensure team fit.
What are your experiences with take-home assignments from both sides? Feel free to jump into a discussion with me on Twitter.