How fair is the take-home assignment?
Take-home assignments allow candidates to work comfortably, but they also have a huge cost. Photo by Brooke Cagle on Unsplash

How fair is the take-home assignment?

I recently discussed how working through a small project is an effective way to evaluate a candidate’s practical skills. In that article, I posed a question (updated now based on the importance of independent work): is it better to implement the project interview with a take-home assignment or as part of an “onsite” with independent work?

I believe you should default to an onsite, which in COVID-times could be conducted remotely, but the take-home assignment does have its place.

An unbalanced time sink

The fundamental problem with a take-home assignment is a candidate has to put in time the employer doesn’t. A candidate may spend hours on a take-home, and the employer rejects them after only a cursory glance. Independent work during an onsite can be similar, but the interviewer should still be checking in on the candidate.

Even worse, the take-home assignment is usually in addition to an onsite. This is expected, since some component of the interview should evaluate the ability to work together. But, that means taking more time off or working during non-work hours. The latter can be difficult for those with families, leading to ageism.

Finally, take-home assignments usually come early in the interview process. Before an onsite, the candidate usually has a chance to evaluate the employer through recruiter conversations or a phone screen. If there isn’t a fit, only a little bit of time was lost. With a take-home assignment, the candidate learns little about the company until the assignment is submitted.

This discrepancy makes the power imbalance I talked about earlier even more more drastic.

What are take-home assignments good for?

Despite all this, a take-home assignment has a huge advantage: they replicate how software development actually happens. The candidate uses tools of their choosing, they get to do so in an environment they’re comfortable in and they get to do it on the schedule that works for them.

The flexibility in schedule is actually quite important. For example, a student with classes during the day may want to work on an assignment in the evening, and you don’t want to interview candidates that late!

Some part of the other benefits can be replicated by a combination of letting candidates work on their own and doing the interview remotely. Such an arrangement also allows the interviewer to check in on the candidate from time to time, answering questions along the way.

Using a take-home assignment effectively

Given these trade-offs, I think it’s possible to effectively incorporate take-home assignments into your hiring process. I haven’t actually implemented the following into a hiring process myself, but here are my ideas:

  • First and foremost, offer take-home assignments as an option. This only works if not taking the assignment doesn’t hurt in any way, a fact you’ll need to clearly communicate.
  • Use take-home assignments as a replacement for other parts of the interview. For example, anyone choosing the take-home doesn’t do a phone screen, and they can talk about their project instead of having a traditional system design interview.
  • Determine company-employee fit prior to assigning a take-home. Have the usual recruiter or team member conversations early to figure out if moving forward is even worthwhile. The take-home should not be an early filtering mechanism, but a way for candidates to demonstrate their abilities.
  • Constrain the scope of the assignment, but still have candidates work on real-world problems. Take-home assignments that consist of quizzes or Leetcode-style problem sets show disrespect toward the candidate. But so do projects that realistically take a whole day of work.

A central theme above is to make take-home assignments a way candidates show their strengths, instead of making them gating mechanisms. And the way to achieve this is to respect the candidate’s time and preferences.

This article was originally published on the Hiring For Tech website. If you want to read more content from me, please subscribe either by email or on LinkedIn. And please reshare with your networks so others can find out about Hiring For Tech!

Luke McCormick

Web Solutions Architect specializing in Drupal/CMS and AI

4y

As a candidate I have learned (sometimes painfully) how important it is to be protective of one’s own time. When I was asked to complete a take-home assignment early in the interview process — like before I’ve met with the hiring manager — I withdrew my application. A company that abuses candidates can be expected to treat its employees poorly as well. The best companies treat potential employees like rock stars.

David Jedeikin

Lead Mobile/iOS Engineer

4y

I’ve been really digging these posts. As a longtime SWE I’ve encountered many of these pitfalls. Sometimes it feels like with every job interview in software you’re basically starting your career over again. Hoping this platform helps make a difference and bring sanity and consistency to the tech hiring process.

Sudhanshu Kulkarni

Business Intelligence Engineer at Amazon

4y

I totally agree with your point of using take-home assignments as a replacement for other parts of the interview because as a candidate you tend to invest a lot of time in take-home assignments rather than the interview itself. Also, I feel that a take-home assignment is a good way for both, the company to judge its prospective employee and the candidate to get a glimpse of how and what the company works on and whether they can be a good fit. But what I hate the most about take-home assignments is that when the employer expectations are not met, they just send out a rejection email (standard template) without explaining the candidate about what went wrong, and how the candidate can improve, etc.

Entire interview system is TERRIBLE to say the least. We interview people for Computer Science, while we need Software Engineers. Very much like the difference between Data Engineering Vs Data Science, we need to differentiate between Software Engineering Vs Computer Science.

To view or add a comment, sign in

More articles by Avik Das

  • Acing the system design interview

    It’s been a while since I last wrote, but in the last year, I’ve done a lot of system design interviews. I really like…

    4 Comments
  • "It's not peaches and cream either for men"

    I spend a lot of time talking about men’s mental health because it’s what I, as a man, know about. And like with…

    1 Comment
  • It's okay to not be okay

    What I’m about to say applies to everybody, but with Movember and my own experience as a man in mind, I hope my words…

    2 Comments
  • What's still wrong with tech hiring

    Last year, I set out with a head full of disconnected thoughts about hiring and a vision to share those thoughts with a…

    15 Comments
  • One size does not fit all

    I’ve talked about what seem to be two conflicting topics: standardizing your interviews and accommodating different…

    5 Comments
  • Formal interview training

    A running theme in this newsletter is the idea that good software engineers don’t automatically make good interviewers.…

    1 Comment
  • Interview apprenticeship

    Software engineers are well-positioned to evaluate a candidate’s technical ability, but conducting an interviews is…

    6 Comments
  • Interviewing and pattern matching

    For candidates, a full day of interviews is grueling, but in the context of demonstrating your technical skills and how…

    3 Comments
  • Technical skills every software engineer interviewer should have

    There’s a lot of discussion about technical skills candidates need to have, like algorithms, systems design, technical…

  • Prepare your story

    If you’re planning on starting or continuing your job hunt this year, the beginning of the year is a good time to…

    3 Comments

Insights from the community

Others also viewed

Explore topics