People hate it when you ask them to do work they don’t get paid for. For many highly sought-after coding professionals with rare expertise; however, that’s exactly the first thing prospective employers ask.
At issue is the widespread use of coding tests by companies as a gatekeeping device for hard-to-fill engineering, design and development jobs. Though accurately assessing candidate skills is important, many argue these tests are poorly designed and ineffective at this task, while simultaneously weeding out coders that would otherwise perform well on the job.
“Now, I completely understand that employers want to know if the applicant knows how to program, but in the age of coding bootcamps and YouTube, most applicants have studied skills relevant to their desired career, not general Computer Science curriculum,” writes frustrated coder Shani Foshee on Medium.
Do Coding Tests Actually Evaluate Skills Needed?
All over the internet on message boards and social platforms dedicated to software developers, IT professionals complain most pre-employment coding tests do not measure the skills used on the job, waste time and are condescending to established coders, especially those who have a resume full of impressive products they’ve helped build.
“Just talk to me. I’ve been around, I’ve seen things and done things, the qualifications are all on the wall and on the C.V., and I resent being channeled down some generic hiring pipeline and repeatedly tested on my ability,” writes Dr. Stuart Woolley, a software engineer, on Medium. “If you think you’re a decent employer and you can’t understand why seemingly excellent candidates keep pulling out, then you should take a real long look at your hiring practices.”
Can Coding Tests Inadvertently Hurt STEM Workforce Diversity?
Other coders say not only do most coding tests fail to evaluate the skills necessary for the job, they can also act as a de-facto diversity filter.
People from families who can afford four-year colleges are more likely to get these answers right, and that demographic tends to be richer and whiter. As a result, these kinds of tests may rule out huge swaths of competent coders who are from minority or poor communities.
This is because many off-the-shelf coding tests ask computer science questions from 100-level college courses. Most of these concepts never come up on any coding job, and when they do, they are easily referenced all over the internet and will never need to be memorized.
“Many tests at these popular tech companies do not allow you to use Google or any other site for help,” writes the early-career coder Foshee. “However, most of the mid- and senior-level developers I spoke with use Google and other resources when they are programming. So why is it wrong for us? Expecting an applicant to know every aspect of a programming language from memory takes opportunities away from talented programmers.”
What Is the Right Approach to Testing Software Development Candidates?
But how do employers resolve the need to find someone with the right coding skills and the need to cater to rare talent?
A ham-fisted evaluation that takes four hours and tests rote memory of obscure algorithms and esoteric computer science concepts is the wrong approach.
Even many people who could pass such a test will find it alienating and condescending. That doesn’t mean you shouldn’t test new hires at all, just be more precise about it to get more useful results.
“I am not completely against ‘coding tests’ per-say, but I do feel that they are overused and/or misused in the tech industry,” writes Bradston Henry, a developer relations manager at Asurion. “At a minimum, I think there should always be an alternative to a coding test OR that it should NOT be used as a gate-keeping mechanism in the interview process. If anything, just like behavioral tests that are given during some job interview processes, it should be used as a frame of reference, not the deciding factor.”
Six Tips for Developing Coding Tests for IT Interviews
So, what are some tips for attracting great software development candidates while still getting the assessments you need to hire them?
Here are some coding test tips for employers from coders,
- Cut the test length down to under two hours.
- Present a coding problem during the test that is similar to one candidates will face on the job.
- Allow the candidate in the test to use the same resources available to them on the job (i.e. Google, JSON parsers, etc.).
- Allow the candidates to come up with solutions using their own coding environment and tools, if possible.
- Make sure a supervisor with coding expertise is judging the test results, not an HR professional with no background in the field.
- Avoid auto-graded tests that evaluate fill-in-the-blank-style rote memorization. Instead, base assessments on the candidate’s approach and design thinking.