Why We Don't Require Take Home Coding Challenges When Hiring

Written by David Jackson

Why Fullstack Doesn't Require Take-Home Coding Challenges When Hiring Software Developers


Common practice for software companies is to have applicants complete take-home coding challenges. In the past, FullStack used to require take-home coding challenges because it gave us a way to test the skills of applicants without having to invest a lot of company time.


Over the years, though, we started to notice that take-home challenges didn't work as well as we thought. In fact, we found that they often made it harder to hire the most talented programmers, who generally didn’t have the time or the desire to complete the coding challenge.


Since so many companies still use take-home challenges, we want to address the issue, explain why FullStack stopped using them, and describe the alternative process that we now use to find the best developers for our company.


Coding Challenges Take Too Much Time


The vast majority of applicants that apply to FullStack are developers who already have jobs. They're looking to FullStack to find new opportunities that their current employers aren't providing them.


A coding challenge can take anywhere from several hours to several days for applicants to complete. Investing this much time into a coding challenge while holding down a full time job is challenging. Because of this, many applicants start coding challenges and never complete them, as they run out of free time, or otherwise aren’t able to complete them in the requested time frame.


Applicants Often Have to Finish Multiple Challenges at Once


To make matters worse, developers often interview with several companies at the same time, each of whom require their own coding challenge. Taken together, these coding challenges easily turn into a full time job for developers who already have full time jobs.


I hadn't thought about how intrusive take-home coding challenges are until I interviewed a senior software developer with 20 years of experience who was currently working on three coding challenges from other companies he’d applied to.


I later learned that one of the companies that had assigned him a coding challenge, filled the open position without telling him. He wasted hours of his personal time finishing a coding challenge for a job that had already been filled.


Not surprisingly, many developers have stopped accepting take-home coding challenges. I don't blame them. As an industry, we need to respect professional developer’s time more than we do.


FullStack's Alternative to Take-Home Coding Challenges


Even though FullStack decided to stop issuing take-home challenges, we still needed a way to test the skills of our applicants. So we've created the following three step interview process that allows us to properly assess a candidate's technical and professional abilities, while also respecting their time.


Interview #1 - 60 to 75 minute preliminary interview

  • The first step in our interview process is a 60 to 75 minute zoom video conference interview with a member of our Operations Branch. Candidates are asked to have their cameras turned on during this interview, to allow face-to-face communication.

  • The interview begins by having candidates complete a 30 to 45 minute online technical exam. The exam consists of 10 to 20 multiple choice and short answer questions. All questions are technical in nature.

  • We have different exams tailored to different types of technologies. For instance: React.js, Angular.js, Node.js, Ruby on Rails, React Native, Python, Vue.js, etc.

  • The questions on the exam range from easy to hard, and are all tailored to the specific technology type of the exam.

  • Candidates are allowed to use Google during the exam to look up information if needed.

  • Once completed, the candidate meets with a member of our Operations Branch for a 30 minute verbal interview, focused on general, non-technical matters.

  • Candidates that do well in Interview #1 move forward to Interview #2. Candidates who we determine aren’t a good match don’t move forward to interview #2.

  • In either case, we email the candidate to let them know if they are, or are not, moving forward.


Interview #2 - 90 minute technical interview

  • Interview #2 consists of a 90 minute technical interview with FullStack’s CTO or CIO.

    • Part I: The first 30 minutes is a verbal interview focusing on the candidates technical background, and also providing them with more information on FullStack and the position they have applied for.

    • Part II: The second part of the interview consists of a 60 minute pair-programming session.

      • During the pair-programming challenge a candidate clones an existing client app and contributes a new feature. The candidate is expected to demonstrate proficiency with the requested technology.


Interview #3 - Final Interview - 30 minutes

  • Interview #3 consists of a 30 minute final interview with our CEO.

  • We prefer to conduct the interview in-person when possible, or via a Zoom video conference if an in-person meeting isn’t feasible.

  • The interview is conversational - no skill assessment tests are given at this stage.


Decision

  • After the third interview, FullStack’s hiring team reviews the feedback and findings from the three previous interviews and makes a final decision.


Summary


With this new approach, we are able to assess an applicant's skills and qualifications within a total combined time investment of about three hours. We feel that three hours is a reasonable amount of time to ask candidates to invest in our hiring process. This streamlined approach not only saves time, but also allows us to hire candidates more quickly, which lowers the chances of us losing them to another company.

Let’s Talk!

We’d love to learn more about your project. Contact us below for a free consultation with our CEO.
Projects start at $25,000.

FullStack Labs
This field is required
This field is required
Type of project
Reason for contact:
How did you hear about us? This field is required