Today’s topic

How to Create a Take-Home Coding Test that won't scare candidates

How to create a take-home coding test that won't scare candidates

What are take-home coding tests?

When it comes to hiring software engineers and developers, take-home coding tests can help recruiters take candidates out for a test spin before an official interview. 

As a skills assessment method, take-home coding tests allow recruiters to capture a picture of a developer's technical skills. As research shows, well-designed coding challenges help predict a candidate's ability to perform on the job. Usually, the tests are moderately complex and might require a few hours of prep time. 

Advantages of take-home coding challenges

Candidates can complete the task at home, with the setup being more comfortable than doing the task in a whiteboard interview. When used as an initial step in the hiring process, take-home coding tests can also be a powerful filtering mechanism.

Advantages include:

  • Assimilating real-work scenarios means recruiters test candidates on applicable skills, not theoreticals 
  • Getting an accurate snapshot of a candidate's technical ability
  • Minimising the chance of committing intrinsic biases, as recruiters only focus on assessing a candidate's capacities  

Disadvantages of take-home coding tests

Some companies skeptical of take-home coding tests are quick to point out that candidates can cheat. Also, many companies make the mistake of over-relying on this evaluation method. Instead, the coding challenge should be used in tandem with other hiring methods, as this gives recruiters a complete picture of the candidate's role fit.

What engineering roles are best suited to assess with take-home coding tests?

What makes take-home coding tests so appealing is that you can test a wide range of engineering talent. 

This includes:

  • Software engineers
  • Web developers (including frontend and backend)
  • Data scientists
  • Network engineers

For example, for software engineers, you can ask candidates to develop a sentiment analysis system for a product's ratings and reviews. Or if you're testing web developers, you could ask a frontend developer to recreate the layout of a flagship product page. 

Why do some developers refuse to take take-home coding tests?

Here's the thing. Not every candidate is sold on take-home coding tests. Considering that candidates have to complete them in their free time (and most of these assignments are unpaid), some applicants aren't onboard with the idea.

You must consider the following limitations when assessing developer talent:

  • Candidates are often pressed for time and might need more time to complete the challenge.
  • Take-home tests add an extra layer to your hiring process. Since your candidates are likely engaged in other hiring processes, they might get snapped up by another company.
  • Take-home challenges are often perceived as "free work" by candidates. However, it's important to note that some companies pay candidates to take the assignment.
  • Sometimes the tests are too long and assess the wrong things. This risks frustrating candidates and increases the likelihood of them dropping out of the application process.
  • Recruiters rarely provide feedback on why certain candidates "didn't make the cut". This could harm your employer brand, especially if you have a disgruntled candidate who spent most of their Saturday completing the challenge with zero feedback. 

  The bottom line: While you can't guarantee that all your applicants will go through the coding skills assessment successfully or that you will have enough time to vet all candidates, there are some tips and tricks you can implement to ensure the best outcome. 

How to create a take-home coding test that considers the candidate experience

As part of Alva’s coding tests tool, we offer a comprehensive take-home coding challenge for companies. The coding tests are created by engineers, for engineers, and mirror problems developers face in their day-to-day job. Subsequently, we know the ins and outs of rolling out a great take-home coding test that is above all, candidate-friendly. Below we cover best practices we do internally to assess top developer talent.

#1 Define your assessment objective

First things first. You need to understand what you're assessing candidates on and how senior the position is. 

Questions to ask include:

  • How elaborate do we want the challenge to be?
  • What technical skills are we assessing?
  • Do we want to use the take-home test as part of the  screening process or run a full tech assessment?
  • What competencies can we automatically evaluate using auto-tests, and when is a manual code review needed?

#2 Create a clear task description

You want to let candidates know what to expect early on so you can avoid losing them somewhere along the way. 

The following structure works well at Alva:

  • Introduction- explain what the task is about
  • Startup instructions- explain what the candidate needs to start the task seamlessly (e.g. describe the setup, how to run tests, external dependencies, and so on)
  • Expectations- flag what's expected of the candidate, what they'll be assessed on, and what they should prioritise first. 
  • How to get help- outline how they should proceed if they get stuck on something.
  • Time estimate- helps the candidate plan their time effectively before working on the task.

  Important note: Your coding test can include automated tests that candidates run by themselves on their local machine to confirm whether their implementation satisfies the acceptance criteria. 

#3 Reduce candidate friction

Developers don't like to be tested on hypotheticals. Stick to a process that they use in their day-to-day jobs.

  • Instead of sharing your take-home challenge as an email/Word doc/ zip file/, use a Git repository (ideally, use GitHub as most developers already have an active account).
  • Instead of asking them to send an email when they are ready, instruct them to create a Pull Request.
  • To avoid losing track of candidate communication, ask applicants to create a ticket (e.g. GitHub issue) on their repository whenever they encounter problems.
  • Pre-upload a project template (or templates if you expect multiple tech stack submissions), so your candidates don't waste time setting everything up from scratch.

Tip: You can use Alva's coding tests' import script, which supports several tech stacks.

#4 Set up a standardised scorecard review

As humans, we must be careful about getting caught up in biases when reviewing someone's code. To minimise the room for discrimination, create a detailed code review scorecard and stay within your criteria lane. 

  • Focus on the scoring rules only
  • Define your scoring criteria per the evaluated area

Here's how we do it within our coding tests tool:


And for our scoring criteria per evaluated area, we set it up like this:


#5 Tweak and adjust the direction 

Only some candidates will like your take-home coding challenge. To ensure your programming skills test is measuring the things you want to measure, use this two-step rule:

  • For each challenge criteria, ask candidates to describe one thing they'd improve about the coding assessment.
  • When you receive a good suggestion, implement the feedback right away.

Why? Because following this rule will save your hiring team hours of future work, bringing you one step closer to hiring great candidates. Also, taking action after each coding test submission ensures you're learning valuable things about your candidates, including their ability to problem solve and communicate. It also helps you finetune your candidate experience.

How to follow up with candidates afterwards

Closing the feedback loop is vital- not just from a candidate experience lens but also as an organisation that wants to perfect its hiring process and avoid wasting time and resources. 

Here are some pointers for how that can look:

  • Bring up the coding challenge after the interview. Not only will you learn valuable things about your candidates (how they work on a problem and communicate) but you'll also improve the candidate experience.
  • Aim to give everybody feedback. If your candidate has spent hours on a task, getting rejected with no explanation- or worse, ghosting- is incredibly disappointing.
  • Candidates who receive feedback are more likely to report a positive experience with your hiring process, increasing the chance of recommending you as an employer brand to other candidates.
  • If you give candidates the courtesy of feedback, you ensure they understand your decision and learn something new for their next application. 

Evaluate developer talent with Alva’s coding tests 

Now that you understand what you need to do to create a great take-home coding test that's candidate-friendly, it's time to find a tool that does the heavy legwork for you. 

With Alva's Coding Tests, hiring teams can focus on skills-based hiring and assess developers on whether they can do the work outlined in the job description. Alva's take-home coding challenges for candidates take two to three hours to complete and offer a comprehensive overview of a candidate's technical skills. Try Alva today to see how you can identify and hire the best developer talent.

Start your free trial


The take-home coding test. Both loved and hated by candidates, this coding task is typically given to tech talent to complete in their own time. Since the tests can be taken at home, candidates usually prefer this skills-based assessment type. However, a poorly administered test can end up frustrating the candidate, to the point where they might even drop out of the application process. How can hiring teams use take-home coding assignments to easily assess developer talent?