Should I do that Take-Home Coding Challenge?

Cost-benefit analysis and red flags to be wary of

Sara Khandaker
codeburst

--

Photo by olia danilevich from Pexels

A couple of weeks ago I had my first take-home coding challenge as part of the interview process for a company. I started researching take-home challenges to learn some tips and make sure I was following best practices. After I read some personal experiences of developers doing take-home challenges, I realized I had no idea how controversial this topic is! I came across many blogs and Reddit posts of people who are completely against them on principle and others where people defended it as the best way to determine a candidate's abilities.

What Is It?

A take-home assessment, challenge, or assignment is a task given by the prospective employer to test your coding and technical skills. It is usually of moderate complexity and you are allowed to work on it over some length of time (at home). By assessing your submitted work, the employer can see if you can write quality code that meets their standards, how you follow instructions and your written communication skills.

Since you do not have the same time pressure as you would in a whiteboarding interview, the employer sees what you can produce in a situation more similar to the workplace. You are able to research, do proper documentation, include your commit logs, and demonstrate other skills that would not be possible to show in a typical whiteboard exercise. The advantage of a take-home challenge is that you work in your own environment that you are comfortable with, and that should (in theory) allow you to produce your best work.

So Why Hate It?

The biggest con to a take-home challenge is the time investment it requires. It normally demands more hours than a typical whiteboarding interview would take (45 minutes to an hour). Not to mention there have been cases of companies using this as a way to exploit prospective employees by essentially using it as a form of free labor or unpaid work.

So should you accept that take-home challenge? Well, it depends. I am definitely not against them as I see a lot of value in them. However, as someone looking for work, your time is important and should be used efficiently. I recommend doing an informal cost-benefit analysis. Is it worth your time or should you do other stuff — such as networking or applying to other jobs? Taking the challenge should be determined on a case-by-case basis taking into account the following factors:

Factors and Red Flags

Your Interest in the Company

How invested are you in the company? If it's a company you are really interested in, then of course put the time and effort into it. That just makes sense. However, if the company is lower down on your list, maybe it's best to pass and spend the time prioritizing your dream company.

The Time Commitment

Take-home challenges are not the LinkedIn “easy apply” feature. They will require a time commitment. Now it's up to you to decide how much is too much but you definitely want to set a limit as not to compromise other priorities. If the challenge looks like it will take a long time or take longer than their estimate (by a lot) it's a pass. Personally, I'm less comfortable if it looks longer than one to two 8 hour days. I’ve also heard of companies paying for your time if it is a long challenge so take that into account as well.

The Stage of the Interview Process

When exactly are they sending you this challenge to complete? Is it right after you sent in the application or have you gotten a chance to discuss your goals and candidacy with a real human at the company? I would be wary if it's too early in the application process. I prefer to have at least one formal interview beforehand (and a phone screening doesn't count!). I’m not shopping for an engagement ring after the first date, it's just too much of a commitment too soon. Get to know each other a little more first.

The Scope

Read the task/project very very clearly. Is the scope clear and well-defined? Are you sure of what you have to do? Is the scope too large? Is there a possibility for scope creep? A well-written take-home challenge should leave you feeling confident you know what the end result will look like and you have an idea of the steps needed to get there. If you are unsure about starting… maybe not a good idea. Also, be wary of scope that is oddly specific, this can signal free labor.

Relevant Work

One of the strengths of take-home challenges is that they should test you on relevant parts of the job you are applying for. It shouldn't test some arbitrary algorithmic knowledge not even required for the position (*cough* whiteboard). Here’s a chance to see what type of work you might be doing, so make sure what they are testing is not only relevant to the company/position, but also to you. Is this the type of work you want to do?

The Feedback and Support

Now, this is hard to gauge before you really start the project, but there should be some promise of support and feedback. Before starting the project, you should be able to ask clarifying questions, discuss assumptions, etc. The type of feedback you will get at the end obviously can’t be predicted. If it seems they are happy to give you the task and then ignore you, I’d think twice.

Your Job Search

The last and most important factor is you! Everyone's job search is different. We all have different priorities. Maybe a longer take-home challenge makes sense for you because you have the time this week. Why not just go for it! None of the above are hard and fast rules to cut out a project or company. Personally, as a new developer, I'm eager to enter the industry and therefore I'm less likely to say no to a take-home challenge than a senior developer with years of experience. Do what feels right!

My Experience/ Conclusion

My personal experience with take-home challenges has been very positive. Overall I see a lot of value in them, especially as a new developer. I find it is a better way to show off my skills. There's nothing worse than a whiteboard interview that seems to have knowingly targeted a gap in your knowledge and is now labeling you with it. That's simply not fair. I additionally enjoy less stress and fewer time constraints.

The point of this article is not to reject take-home coding challenges. I’m also not telling you that you need to be selective of these challenges. But job searching is tough and you do have to be selective with your time. You want to make the best use of your time and energy. Looking for a new job is all about looking for a fit- and looking at a company’s interview process is just another aspect that can help you decide if it’s a good fit.

References

--

--