Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Dev Report mobile

How OfferZen Uses Take-home Assignments to Build a Great Tech Team

19 August 2022 , by Nic Botes

How you assess developers’ technical ability in the interview process is an essential part of the candidate experience. Here’s how we use the take-home assignment at OfferZen to help us find the best people for our tech team.

Take home assignment, interview

What is a take-home assignment?

The take-home assignment is a standardised technical assessment that a candidate completes in their own time. Developers of all seniorities are given the same task to gauge their level of understanding and decision-making abilities. The assignment is open-ended but is practical and has clear guidelines.

For example, a take-home assignment could involve asking a candidate to build a new web application and integrate it with a product’s API.

Why use a take-home assignment?

Testing a developer’s technical ability is a necessary part of any hiring process and is essential to building high-quality products and an awesome team.

A bad hire is incredibly costly to the team and hinders your ability to move quickly — however, this goes both ways. Hiring someone that wouldn't be successful in the role isn’t fair to them, either. Your success is tied to their success.

There are many options for testing tech skills, including online coding tests and whiteboard interviews. That can make it hard to choose the most effective assessment.

Developers in both South Africa and the Netherlands rate take-home assignments as the most effective way to test their skills, although most companies use online coding tests and technical interviews.

Each type of assessment has its benefits and drawbacks, but the take-home assignment gives us a clear indication if a candidate is technically up to scratch as well as how they might work with our team.

That said, the type of assessment you use in your hiring process shouldn’t be set in stone. It’s good practice to regularly evaluate your tech assessment process and decide if it’s still the best fit for your team, the candidate experience, and if you’re getting the most out of this step in your hiring process.

The benefits of the take-home assignment

Accurately assess tech ability

A take-home assignment gives you insight into the candidate’s way of thinking by showing you how they approach a practical problem. It can also show where they are in their developer journey. Most importantly, it’s a more realistic approach to assessing performance in the actual workplace.

A take-home assignment reduces the pressure of having to work against the clock in front of others. Our candidate feedback also suggests it’s just more fun to complete and gives them a better idea of what it will be like to work for us.

On top of that, an engaging assignment provides a jumping-off point for technical discussions in subsequent interviews.

Testing for soft skills

A take-home aissgnment also reveals a lot about a developer’s soft skills. We like to use it as a point of discussion in the follow-up interview with the team.

A candidate’s reaction to the feedback you provide is useful for gauging how receptive they are to learning, as well as how they will communicate with your team and build relationships.

On the business side, a candidate taking overly long to complete the assignment could indicate that they don’t connect with the work or that there are other opportunities they’re more enthusiastic about. This can help identify better candidates in your pipeline.

How to design and rate the take-home assignment

Step 1: Create a clear, relevant task

We inform the candidate that a take-home assignment is a part of our process from the first interview, so that they know what’s coming if they’re successful.

The assignment should be relevant to the work your company does so that the candidate gets a good idea of what it’ll be like working for you. You also want to ensure that the brief is clear and the candidate knows what’s expected of them. This will differ depending on the seniority level of the role.

The tech stack you ask candidates to use often depends on the market. If there are many developers that match the exact job specification, you can afford to be more prescriptive. If not, it might be a sign to widen the net (for example, telling candidates they can use any JavaScript stack instead of a specific framework). That said, try to keep the tech stack as close as possible to what you use in the business. The goal, after all, is to find someone that can do the actual job.

Provide a clear time-frame in which you expect them to complete the assessment, and keep it as short as possible. A too-lengthy interview process ranks among the top five pain points for developers in South Africa and the Netherlands. Given how in-demand developers are, they likely have assignments from other companies that demand less of their time.

We ask candidates to set aside four hours’ time to complete the assignment. This is a good timeframe to keep the candidate’s energy up, as well as give us an indication of their skills and attention to detail.

Step 2: Review the work

When the test is complete, give it to the rest of the tech team to review against the role’s scorecard. Our team’s feedback heavily influences whether we advance the candidate or not.

Here’s how one of our hiring managers explains the importance of this step:

“I'm relying on the feedback of the people reviewing the test to gauge the candidate’s technical ability, depending on what the role is. For example, we are looking for senior people at the moment. So I'm looking for feedback that says that this person really knew what they needed to do, and that their work is easily understandable. If it's a senior role, they'll be working with juniors. It doesn't help they do things that a junior probably won't understand. The insights that I gain, or the amount of trust that I put in the people reviewing it, is equally as important as the test itself.

Nick van Noordwyk, Engineering Manager at OfferZen

Step 3: Discuss the assignment with the developer

Once the project has been scored, the next step is to invite successful candidates back to discuss the assignment. We discuss this in a team interview setting.

A few useful questions to ask include:

  • How long did this assignment take you and where did you spend most of your time?
  • What tradeoffs did you make given you had limited time to complete the assignment?
  • Given an extra hour, what would you focus on?
  • What would you do differently or improve in your solution?
  • What was your thinking around using X rather than Y?
  • Do you have any feedback on this assignment? For example: What did you enjoy? What could be better? Which aspects were unclear?

It’s just as important to give feedback to unsuccessful candidates. Not receiving any feedback is also among the top five pain points in the hiring process for developers in South Africa and the Netherlands.

In our process, one of the hiring partners from our HR/People team will gather the team’s feedback from the scorecard and presents it back to the candidate. Some developers take the feedback and want to improve their assignment by incorporating the feedback they received.

Step 4: Decide whether to continue the interview process

The insights you’ve gained from your team’s review of the developer’s work and the discussion with them will help you to decide if they’ll move to the next stage of the interview process.

In our case, that’s typically a team interview, where we give the wider team the chance to interview the candidate, discuss their assignment, and get a variety of perspectives on the candidate. Lastly, we have a simulation day, where the goal is to work with the candidate on a practical task and simulate what a typical day on the job would look like.

Thanks to OfferZen team member Nick van Noordwyk, who contributed to this article.

Read more


Recent posts

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.