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.
The vast majority of applications 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 applications 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.
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.
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 our Operations Manager. 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.
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 our operations manager 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 - 120 minute technical interview
Interview #2 consists of a 120 minute technical interview with one of FullStack’s technical managers / senior developers.
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 90 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 - 60 minutes
Interview #3 consists of a 60 minute final interview with our CTO or VP of Engineering.
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.
After the third interview, FullStack’s hiring team reviews the feedback and findings from the three previous interviews and makes a final decision.
With this new approach, we are able to assess an applicants' skills and qualifications within a total combined time investment of about four hours. We feel that four 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.
We’d love to learn more about your project. Contact us below for a free consultation with our CEO.
Projects Start at $25,000.
An interpreted high-level programming language great for general purpose programming.
A server side programming language known for its ease of use and speed of development.
View a sampling of our work implemented using a variety of our favorite technologies.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this server side programming language known for its ease of use and speed of development.