Dear Hiring Manager, Please Stop Using Take-Home Assignments!
By: Marie Stephen Leo
Tags: Hiring, Data Analysis, Interview, Data Science, Programming

Dear Hiring Manager, Please Stop Using Take-Home Assignments!

Opinion on what you could use in data science/analyst interviews instead.

Photo by Headway on Unsplash

Disclaimer: The opinions in this article are my own and not related to my employer in any way.

Data Science and Data Analytics are some of the hottest jobs on the market going into 2021. The field is so popular and job descriptions so broad that most job openings receive hundreds or even thousands of applicants because most men know they can apply to a position even when they don’t meet 100% of the requirements [Link]. For some reason, women are more conservative [Link].

With so many applications pouring in and Data Science/Analytics being new fields in many of these companies, hiring managers have resorted to using the dreaded “take-home” assignment to screen candidates.

In a take-home assignment, the candidate is given a dataset and, in most cases, given a blank cheque to come up with whatever insights he/she can find from the data.

Why Take-Home assignments are a terrible idea:

Your best candidates don’t have the time.

So much to do, so little time. Photo by Aron Visuals on Unsplash

Think about it. Aren’t your current high performers the most hard-working bunch of people? The same goes for your prospective candidates. If he/she is a high performer in their current company, they would be loaded with work and working hard at their current job. They wouldn’t be able to spare the 10+ hours take-home assignments take on average [Link]. As a result, their take-home assignment might not look as polished as an average performer from the same company who has more time on their hands. I’m sure all hiring managers want to hire top performers, so why put them at a disadvantage during your interview process?

In business, goals are seldom vague and undefined.

Blur goals, blur results. Photo by Gabriel Santiago on Unsplash

Many, if not all, take-home assignments do not specify a concrete goal but rather take a “do-what-you-can” approach. This is an inferior way of evaluating prospective candidates unless your business also operates in such massive grey areas. For the most part, business goals are concrete. Increase revenue by X amount, or hit a minimum accuracy of Y% with your model, etc. Having vague and undefined goals hurt you because

It sends the message you don’t know what you are looking for, a big red flag for high-performing candidates. It hurts your company’s image when you reject a candidate without a concrete reason. Top candidates take massive pride in their work and want their time to be respected. If you can throw away 10+ hours of someone’s time with a simple “not a right fit” response, it speaks volumes of how much you might value their time as an employee later on.

It is discriminatory

Challenge of working parents. Photo by Standsome Worklifestyle on Unsplash

I’m a father to a toddler, a husband, and a son to an elderly parent. Take-home assignments discriminate against people with any responsibility in life outside of work. They are especially discriminatory against women with kids because most kids want their “mom” for some reason or the other every 5 minutes. This makes it incredibly difficult for working mothers to take time at home to work on your take-home assignment for 10+ hours, which could make their submission look inferior and worsen the gender gap already plaguing technology teams.

For these reasons, I don’t think any hiring manager should use a take-home assignment as part of their hiring process. If you are using one, I highly recommend considering some of the alternatives I propose below to maximize your potential of hiring the best, high performing candidate.

Here’s what you can do instead of Take-Home assignments:

Narrow your Job Description (JD)

Focus! Photo by photo-nic.co.uk nic on Unsplash

Many Data Scientist/Analyst Job Descriptions go like this: Proficiency in Python, R, Java, C++, Scala, Scientific computing (Pandas, Numpy, Tensorflow, Pytorch, OpenCV, Sklearn), Big Data (Hadoop, Hive, Spark, MapReduce), ETL, Databases (MS SQL, Oracle, MySQL, Teradata, BigQuery), No SQL (HBASE, Cassandra, MongoDB), Dashboarding (Tableau, PowerBI), Cloud computing (AWS, GCP, Azure), ElasticSearch, Kubernetes, even some web development (Angular, Node, etc.) The issue with such wide JDs is that you will get many applicants who dilute the best candidates you are looking for.

In my opinion, a better alternative is to look at the composition of your current team and post multiple JDs, each having a strong focus in one area. I’m sure not a single person on your current team knows all these technologies with the level of proficiency that you are expecting to hire for. Instead, you’ll have some folk that knows Python and Scientific Computing. Some others that are good in Databases and Cloud computing, some dashboarding experts, and so on. Why not split your JD into three JDs to reflect these lines as well? In that way, the candidates that apply will also be focussed on the areas you want to hire, and easier for you to shortlist good candidates, reducing the need for a take-home screening stage.

GitHub portfolio review

Portfolio Review. Photo by Markus Winkler on Unsplash

Most real-world Data Science work takes weeks, if not months. To confidently assess a candidate’s capability to tackle real-world problems over an extended period of time, make it necessary for applicants to share their Github (or any other code repository profile) as a portfolio. For Data Analysts, you could request for their Tableau Public or any other published work. This is a much better way to assess their capability to tackle real-world problems since this kind of portfolio cannot be built overnight. Also, it helps you assess if a candidate has version control knowledge, which is absolutely critical in large scale collaborative data projects!

Publications/Kaggle projects review

Publications. Photo by Austin Distel on Unsplash

Instead of a Github portfolio review, if your candidate has published work, you could assess that too! Papers, conferences, journals, medium posts, Kaggle projects, etc., are examples of what you can review to get a sense of the candidate’s technical and problem-solving skills.

Online Coding Test

Coding test. Photo by Danial RiCaRoS on Unsplash

I like this format because it is both time-bound and the task’s goal is clear. Various online testing platforms like HackerRank and Codility are popular these days to set up a concise coding test to assess your potential candidates’ programming and problem-solving skills. Feedback is instantaneous, and the candidate walks away with a sense of accomplishment. If you cannot spend the time to review someone’s Github profile or Publications, an Online Coding test can be a suitable alternative.

Peer and/or Stakeholder Interview

Peer Interview. Photo by Amy Hirschi on Unsplash

Most Data Science and Data Analyst work are highly collaborative. It would be best to have people that are not only technically strong but also good communicators and work well with others. Soft skills are more important than what an individual can achieve on their own in 10 hours on a take-home assignment [Link]. Hence, a peer and/or a stakeholder interview is a game-changer for data science/analyst interviews to find people with the right fit.

That’s my opinion on this topic. As much as it being unfair and candidates hating it, take-home assignments stubbornly refuse to go away due to the difficulty in assessing a data professional’s capability. However, I hope more and more hiring managers can move away from this practice with these suggestions. Whether you agree or disagree with me, I hope to have an open conversation about this topic.

The first step towards solving a problem is to acknowledge it exists.

As always, thank you for reading!