Don’t Get Bugged by Coding Tests

Coding tests are here to stay — here are some tips to make them work for you.

Written by Avery Komlofske
Published on Dec. 10, 2021
Don’t Get Bugged by Coding Tests
Brand Studio Logo

There are mixed opinions about coding tests for job interviews. 

Some developers are opposed to coding tests because they are incredibly time-consuming — or the test is irrelevant to the position — and others are hesitant to do labor for a company that may not employ them. While these are legitimate concerns, a good coding test has more pros than cons for both the employee and the company.

A relevant test can improve confidence in newly-hired employees — if a developer has already proven to both themselves and the company that they can do the job, it will help ease any anxiety about their performance. That confidence translates to concrete results, too — Aberdeen Strategy and Research reported that businesses that use pre-hire assessments, a category that includes coding tests, are 24 percent more likely to have employees who surpass performance goals.

In addition, there is an unexpected benefit to coding tests: They help avoid hiring bias. By using a test that produces concrete and relevant results, a business has objective metrics for their recruitment. It’s much harder for a person’s implicit bias to prevent hiring a diverse candidate when they’re not relying on subjective gut feelings. In a field that desperately needs more women and people of color, taking steps to mitigate bias can only be a positive.

While there are definitely coding tests that are less than effective at accomplishing their goals, there are plenty that benefit both the hiring team and the job seeker. Lever Software Engineer Ellen Chen and ShopRunner Lead Software Engineer Sarah Huynh sat down with Built In Chicago to talk about why the coding tests they took contributed to their positive recruitment experience, and how they prepared for and executed the tests themselves.

 

Ellen Chen
Software Engineer • Lever

 

Describe the last coding test you took. Why did you take it, and how did you feel going in?

The last coding test I took was Lever's pair programming test as part of the panel interview step for my current role. I had an introductory call with the recruiter prior to the interview about its format, which enabled me to know what to expect and feel pretty good going into the test. The test itself was a coding exercise — a real-world problem I could potentially encounter while on the job. I was given some starter code along with a prompt describing the new functionality to add to it and what the expected output of the code should be. 

The test focused on core CS concepts like object-oriented programming, recursion and other data structures and algorithms. I was able to use the open internet and was allowed and encouraged to search things I wasn’t sure about — especially syntax — as that’s what we would do in our job’s day-to-day. They wanted to see how I would collaborate with other developers. I used CoderPad to run my code to be able to test out other ideas. After the initial implementation, I debugged and tested the code to ensure all cases were covered, and then further exercises were given to add to the code from there.

 

How did you prepare? Did you feel equipped to handle the coding test as you walked in?

Since I was already in the middle of my interview cycle, I had been freshening up my technical skills and knowledge in data structures and algorithms through LeetCode and doing a few mock interviews. During this time I also reviewed common pitfalls and edge cases for programming problems to avoid hitting them during the interview. While doing practice questions, I focused on explaining and commenting on my code extensively; it became second nature to be able to voice my thoughts to the interviewers for them to follow along. Ultimately, doing a lot of mock interviews out loud to get used to the experience really helped calm my nerves for the real thing. 

During the interview, I was still nervous — as one is during an interview — but the amount of care and prep Lever’s recruiters put in with me definitely helped me gain confidence and allowed me to have a good gauge on the difficulty and format of the interview. Because of that, I wasn’t scared by the prospect of being hit with an insanely hard question and feeling dejected at not being able to do it.

Try not to panic if your code doesn’t compile or you don’t get the correct answer on the first try — we want to see how you get through problems and debug.”

 

What advice would you give to someone preparing for a coding test at your company?

At Lever, we look for engineers who can collaborate well and are open to learning and receiving feedback. Besides having the technical knowledge and skill to navigate through the coding problem, the most important thing is to be able to communicate your thought process and how you would describe your way of solving a difficult problem. It’s also important to try to follow best practices and conventions with your code. Speed isn’t the main focus — slow down a bit to explain your approach to the interviewers. One of the best parts of interviewing at Lever is that it’s okay to ask for help and a little bit of guidance. We want to see engineers who are able to take honest feedback to heart and actively try to improve themselves and their code. 

Work in a language you are comfortable with. Try not to panic if your code doesn’t compile or you don’t get the correct answer on the first try — we want to see how you get through problems and debug, as that is one of the essential aspects of software development. But most importantly — have fun! Your interviewers are the engineers you’ll be working with day-to-day, and this is a great way for them to get to know you and learn how to work with you.

 

 

Sarah Huynh
Lead Software Engineer • ShopRunner

 

Describe the last coding test you took. Why did you take it, and how did you feel going in?

The last coding test I took was during the interview process for my role here at ShopRunner. I was a bit nervous going in but was confident in my ability to leverage my previous experience and the skills I’ve mastered throughout my career to get me through.

 

How did you prepare? Did you feel equipped to handle the coding test as you walked in?

I prepared for the coding test by taking some coding challenges before the interview. I found some great examples online at little to no cost from LeetCode and HackerRank. It was helpful for me to work on challenges for different data types and understand the differences between them. Most coding challenge resources organize the questions by data types or common categories, so it was just a matter of choosing a few questions in each category. This way, I had a broad understanding of the potential interview questions and different techniques I could use to approach them. 

While I did not entirely feel equipped to handle the coding test, I applied knowledge from my past work experiences, which gave me confidence that I could give it my best shot. As a backend engineer, I’ve had the chance to work with various types of data, and coding challenges are mostly about the best ways to do data transformation.

Explaining your approach along the way helps interviewers to assess your problem-solving and critical thinking skills. ”

 

What advice would you give to someone preparing for a coding test at your company?

Try not to be nervous, and take all the time you need to think through the question. Sharing how you would approach the problem is helpful; that way, interviewers can help to redirect you if you start going in the wrong direction, instead of discovering that your whole solution was incorrect after you present it. Explaining your approach along the way helps interviewers to assess your problem-solving and critical thinking skills. 

Even though most coding interviews today are done remotely instead of the typical whiteboarding, I appreciated practicing with a whiteboard or a pen and paper so I could completely focus on the solution without worrying about syntax. 

Preparing with others was also helpful for me. I spent some time solving problems with a few friends, and we took turns mock interviewing each other. Having a supportive environment like this helped alleviate the pressure of both studying and interviewing.

 

Responses have been edited for length and clarity. Images via listed companies and Shutterstock.

Hiring Now
Moov Financial
Fintech • Payments