Most tech companies use coding tests of some sort to evaluate the technical skills of programmers and engineers. Some of those tests are complex and meant to be completed at home—a request that a portion of job candidates have begun refusing to do. After all, a take-home test demands significant time and effort, all of which will go to waste if you’re not ultimately selected for the job. Of course, skipping such a test will probably kill your chances of landing the gig. When asked to do a take-home, should you stand your ground and refuse… or is there an alternative way to prove your abilities without alienating a prospective employer? Here’s a look at when to say “No,” “Yes,” or even “Maybe” to a take-home coding test.
When to Say 'No'
Disorganized employers sometimes administer tests and questionnaires before a position is fully fleshed out. If the job description seems incomplete or vague, being asked to crunch code for hours suggests a lack of respect for your time. “Everyone should want the hiring process to be more efficient,” said Daniel Tunkelang, CTO of Lyra Health, a healthcare technology startup based in Silicon Valley. “To begin with, companies should provide detailed job descriptions so that candidates can make informed decisions as to whether it’s worth their time to apply.” If you haven’t been given a chance to speak with a hiring manager or recruiter about the job, and the testing parameters are set out in a generic email that doesn’t seem tailored to your skills or even the position, you should (politely) refuse to take the take-home test. “There needs to be a reasonable balance of investment from both parties throughout the hiring process,” Tunkelang said. “Hiring managers can demonstrate their investment by sending personalized emails to candidates or taking the time to talk to candidates by phone." If you decide to go ahead with the test, and the company doesn’t offer to critique your code or provide other feedback, that’s another sign that the position isn’t for you.
When to Say 'Yes'
There are times when agreeing to participate in a take-home test is in your best interest. If you’re new to programming, or haven’t amassed an extensive code portfolio, passing a difficult test could sharpen your skills while giving your credibility and confidence a boost. If you’ve set your sights on a marquee company, acing its take-home test could be a foot in the door. Sure, you’re being asked to do a couple hours’ worth of work for free, but high-profile employers are unlikely to deviate from their hiring practices; even the most skilled tech pros sometimes need to acquiesce to the demands of the hiring process.
How to Say 'Maybe'
If you’re still uncertain about whether you want to subject yourself to a take-home test, offer to walk the hiring manager through your previous projects and online coding samples. That guided tour of your work may alleviate the hiring manager’s concerns about your abilities, which in turn may negate the need for a take-home test at all. But not every hiring manager is capable of evaluating code that he or she didn’t assign, so you may have to be flexible and submit to the test after all. Whether or not the hiring manager agrees to an alternative to take-home tests, he or she needs to be transparent about the hiring process and what’s ultimately expected. “No system is perfect,” Tunkelang said. “But it's up to hiring managers to make the process as efficient as possible, rather than just making candidates jump through hoops."