How to Improve Your Developer Interviews (and Make Hiring Easier)
Hiring is the most important thing you’ll do as a business. Selecting the best candidate to join your team comes with huge responsibility, and making the right choice isn’t always clear cut.
When you bring someone onto your team, you invest time and resources into training them and getting them up to speed on the project. What’s more, bringing on technical talent means entrusting them with confidential information about product features that haven’t yet been launched. And trying to integrate a new hire with your team when they just don’t “click” can be stressful, causing slow-downs within your team.
Understandably, there’s a lot of pressure that comes with finding someone you can trust to take your project to the next level. So it’s important to take the time to do it right.
Table Of Contents
Given the complexity of hiring developers, It’s no surprise that some companies have jumped at the idea of handing over the process to an algorithm. But, as of today, no algorithm can consistently choose the best candidate for your role. That’s because algorithmic methods don’t factor in enough variables, as much as many of us (Scalable Path included!) wish they could. After all, we’re a tech company first and foremost; we built our internal systems from the ground up, so we know that a 100% automated solution would be faster and less expensive. Unfortunately, it would also be less effective.
For these reasons, we at Scalable Path rely on talent specialists with technical backgrounds to get to know both the clients and the developers they hire. This is because we believe in offering the best possible hiring experience. To do so, we bring two of our best assets to sourcing and vetting candidates: technical expertise and a human approach.
We know from our experience in this business that the most powerful option you have for finding the right candidate is a well-thought-out interview process. In this article, we’ll share some details of our three-stage vetting process and the philosophy behind it that helps us select the strongest candidates for any position.
How to Improve Candidate Interviews and Why It’s Important
“Thoughtful talent acquisition strategies can reduce hiring process timelines, improve the ability to recognize top talent, and increase employee satisfaction. It’s about identifying the traits that matter to you, and learning how to recognize them in an interview process.”
Stefan Benndorf, Managing Director, AppLift
A successful hiring strategy is made up of a few key components:
- Understanding the role you need to fill.
- Attracting qualified applicants to your position.
- Thoroughly evaluating candidates.
- Making the right hiring decision.
At the heart of evaluating and bringing on the right candidate is a solid interview process – one that is efficient and standardized, while also a positive experience for candidates. A bad experience can leave a negative impression on candidates who have invested time and energy in your role. It can also waste your time if it fails to root out unqualified applicants or causes great developers to decline an offer. Over time, this can damage your brand reputation and weaken your talent pool.
Want to improve your interview process but don’t know where to start? This survey from Brandon Hall Group shows what improvements hiring processes need in order to create a more positive impression on candidates:
Of course, every company’s process will differ. For us, the following considerations are part of what helped fine-tune and shape an interview experience we’re proud to carry out with candidates.
1. Define An Interview Structure
Before jumping into the interviews, it’s worth mapping out an interview format and following it throughout the entire process. This means asking questions like:
- How many interviews do you plan to conduct?
- How will you assess soft skills, logistical suitability and cultural fit?
- How will you carry out technical evaluations and in-depth technical discussions about your project?
Creating a plan will establish a consistent interview process, keeping things organized and fair for every candidate.
Remember, most in-demand software developers receive several job opportunities on a daily basis. Because competition is high, it’s necessary to connect with candidates and stand out somehow. For us, the key is to provide a positive vetting experience for developers by investing a fair amount of time in getting to know them in-depth from different perspectives.
According to PWC’s Future of Recruiting Survey, nearly half (49%) of candidates in in-demand fields like technology say they’ve turned down an offer because of a bad hiring experience.
For this reason, we’ve chosen to forego utilizing algorithmic or whiteboard tests in our vetting process because it doesn’t give a complete understanding of the candidate. While many argue that the hiring process used by FAANG companies is the most efficient way to find top developers, we’ve found these methods often don’t reflect a candidate’s true capabilities and potential. How can whiteboard or algorithmic tests totally represent the value a developer will bring to a team? We’re not convinced that asking candidates to solve a problem unrelated to the project or company’s goals is the best way to vet them for the job.
2. Avoid Interview Fatigue
Interview fatigue is increasingly becoming a problem for both candidates and companies looking to hire. In part, it comes from the hypercompetitiveness of the software development space. Because of the high demand for talent, developers often engage in interviews for several different roles at a time. Many of these are long, drawn-out interview experiences. Candidates get tired of investing extensive hours in this process and often lose interest, ultimately abandoning the opportunity.
This study by Re:Work suggests that conducting four interviews was enough to predict a new hire’s performance with 86% accuracy at Google:
No matter how many interviews you choose to conduct, making the process transparent is important. It should be fully fleshed out from the outset to establish clear expectations, being mindful of the time that candidates will have to allocate.
Three Stages for Interviewing Developers
We’ve been conducting interviews for 12 years and over time refined a process that works for both our clients and freelancers. We separate each stage of the hiring process into three distinct interviews:
- The initial screening interview
- The technical coding exercise
- The in-depth interview with team members
Let’s dive deeper into what each of these interview stages entails and why we recommend this approach.
Stage 1: Initial Screening Interview
The initial screening is a one-on-one meeting where you can get a first impression of candidates, learn about their experience and skill sets, and determine if they meet the standards of your role and team. I’ll share some key aspects that we integrate into these meetings and why they’re important to our process.
Research the Candidate
Doing some preliminary research about the candidate before the interview is a great way to prepare, learn about the person you’re meeting, and identify questions you have for them. It’s important to note here that, while a first impression can tell you some things about a new candidate (and should be considered), it shouldn’t be the determining factor for hiring someone. Doing some research beforehand can confirm or challenge reservations you may have during the interview, identify any ambiguities about the candidate, and ultimately help you make an informed decision.
We always enable video for the initial screening interview for a few reasons. For one, it allows us to confirm a candidate’s identity, assess their setup and quality check their internet connection. It can also help you get to know your candidate better by analyzing their communication style, reaction to questions and body language. Lastly, it helps to establish a warm and inviting space, encourages building a human connection, and can be a great ice breaker with candidates.
Confirm the Candidate’s Availability and Expectations
At this stage, it’s worth evaluating all logistical aspects of the role to filter out anyone who doesn’t meet basic criteria. For example, we recommend identifying the following:
- Time zone compatibility
- Desired hourly rate
- Working hours expectation (ex., 9 am-5 pm)
- Short vs long-term engagement
Checking these boxes right off the bat can save time and establish expectations for the role and project. Realizing that a candidate doesn’t overlap with your time zone or won’t be able to attend meetings can be a frustration if it’s not found until late in the interview process. It’s best to ensure the candidate is compatible right away.
Identify Core Values
While this isn’t always common in interviewing methods, we find that learning our candidates’ core values helps us understand more about them, like what they care about and how they conduct themselves. You can also use this information to compare whether they match your company’s values, and gain insight into how they may fit in with your team’s culture.
Evaluate English Language Proficiency
The initial screening is also a good opportunity to assess the candidate’s English communication skills for non-native speakers. It’s important to ensure you and the developer have effective communication if you hire them. While they speak, take note of how effectively they communicate, if they’re comfortable talking, and whether their answers are descriptive or detailed enough when asked to elaborate. If they make mistakes, determine if they still meet your communication standards.
Understand Communication and Collaboration Preferences
Learn about their communication preferences to gauge how they collaborate with remote teams and if they are compatible with your company’s internal processes. Consider asking the following questions:
- Do they use Slack or email?
- Will they attend virtual meetings?
- What is the best way to communicate with them?
- How do they expect tasks to be set up and assigned to them?
- What task management tools are they accustomed to?
Stage 2: The Technical Coding Exercise
For the second stage, our technical experts design a coding challenge that aligns with the role at hand. It covers required skills and tests candidates on tasks they’ll work on daily. We’ve found this method is highly effective in determining how well a candidate will perform on development projects. We also believe it creates a better experience for our developers, preparing them for real-world situations.
The test format will have a critical impact on the candidate’s interview experience. Since many developers have more than one job opportunity on their radar at a time, having a process that considers their unique experience, time and skills is often what makes a role stand out. So make your technical assessment count. Here are some ways to achieve this:
- Provide preparation tips. Surprising developers with coding challenges isn’t a true reflection of day-to-day work. We like to prepare our candidates before the technical interview so they know what to expect and can perform to the best of their abilities.
- Make the coding exercise relevant to the role. This is a great opportunity to see the candidates in action before hiring them. When the coding challenge is relevant to your project and role, you can see how well they perform and gain insight into what they’ll bring to your team. Many candidates also prefer this method of technical evaluation as it allows them to showcase their coding abilities (instead of their algorithmic skills) and represents actual day-to-day scenarios.
- Timebox the coding challenge. Make sure you and the developer understand and agree on the time allocation. Setting this expectation will help you gauge candidates’ time management skills overall and give insight into how they organize and allocate time for each activity.
- Give feedback. Before you carry out any technical assessments, let candidates know that you’ll give them feedback regardless of if they pass or fail. Most developers will appreciate it and be more inclined to take the test in the first place. It will also help you understand why they are the right or wrong fit and evolve your search requirements.
Stage 3: In-Depth Interview With Team Members
Stage three of our process is an in-depth interview between the candidates and clients. At this stage of the process, candidates who performed well in the first two interviews are put on a shortlist for our clients to review. For every suitable candidate we present, we share a report on the following:
- The candidate’s personality, professional background and experience
- The candidate’s logistical suitability
- A recording of the live coding exercise (to showcase coding and time management skills)
- A potential start date for the engagement
We share this information so our clients can understand why the candidate is suitable and quickly decide whether to continue the interview process with them or not.
If you’re hiring outside of Scalable Path, we suggest collecting this information before initiating an in-depth interview. We filter out a lot of candidates during the first two interview stages, which saves us, our clients, and our developers time. Instead, save the in-depth interview for top candidates you want to present to team members so you can discuss your project in more depth.
The bulk of this interview is a technical discussion on topics specific to the business challenges and technology that the developer will use for the project. This is the last stage of the interview process, so any team members who are involved in the hiring decision should attend this meeting as well. Try to include all important team members in this meeting to avoid additional and unnecessary interviews with candidates. We recommend keeping the interviews to a minimum of 3-4 to avoid interview fatigue and continue the hiring momentum.
Note: If some team members cannot attend, we suggest recording the interview and sharing notes on the candidate(s).
During the interview, your team should gain a good understanding of the following points:
- What the candidate is currently working on and what technologies they are excited about.
Why it’s important: The answer to this will help you understand what the candidate is passionate about. This information is helpful to determine if the candidate is a good fit and if they’ll be excited about the tasks they perform based on the stack you’re using in your project.
- What attracted them to this opportunity and what they’re looking for in their next role.
Why it’s important: This will give an understanding of the candidate’s expectations, which is important to start on the right foot.
- Technical experience: Years of experience that the candidate has been working with the requested stack. Where their focus lies: back-end, front-end, or full-stack oriented.
Why it’s important: When considering a roadmap, having this information might create opportunities for the team to increase productivity based on the way tasks are distributed.
- If they have worked on similar projects. What was the most interesting project they worked on? Are they proud of solving a particular challenge?
Why it’s important: Allow candidates to show their experience with the rest of the team and allow discussion to take place. People often connect over challenges and share similar experiences.
- Experience with the stack. What are some strengths and weaknesses of the stack they’re using? Are they excited about any new features? Are they currently learning something new about the stack? How are they hoping to improve skills or gain more experience?
Why it’s important: This is all about self-awareness and their level of involvement with the stack they are currently using. This might inform you and your team of the seniority level and the candidate’s ability to learn.
- How they solve technical problems. Instead of surprise coding challenges, initiate verbal technical discussions that apply to your business challenges.
Why it’s important: This will align with your hiring needs and give insight into how a candidate will provide value to you. Ask how the candidate would approach a hypothetical problem using real-life scenarios.
- Methodologies and tool preferences. Discuss your work methodologies and tools to determine if they’re comfortable using them. This is part of your team’s internal processes so there needs to be a consensus.
- Cultural and company fit. Address important aspects of how your team operates to see if they fit in or can adapt to your company culture. What should the candidate understand about your company in order to meet expectations?
- Experience with teams. Learn what team size the candidate has experience with, where they feel most comfortable and if they have experience working on teams similar to yours.
- How they can excel in the position. Find out what they need in order to feel comfortable and efficient in their work. Consider their needs and whether you have the capabilities to fulfill them. It has to work both ways.
- Experience with remote work Find out what they consider important aspects of successful remote development teams. Their answer will help you understand the depth of their remote experience with remote work and what practices or methods they follow and value to make it work. Do they prefer asynchronous communication? How should requirements be handled? What sort of follow-ups or check-ins do they expect?
After the interviews conclude, it’s time to collect your team’s thoughts to review and analyze your candidates. Consider developers who stood out technically, as well as those you perceive as being a strong communication and cultural fit. If your team wants to hire someone, then move fast and provide an offer without losing momentum. For candidates you want to pass on, try to let them know right away and provide honest feedback wherever possible.
Mapping out a good hiring process and sticking to it takes time and thorough consideration. Bringing anyone new to your team is a complex process and shouldn’t be taken lightly. Carefully defining goals for each phase, and thoughtfully designing the interview stages will help save time and cultivate a better experience for potential hires. Rushing the process might diminish the experience or result in hiring the wrong person.
If you’re looking for hiring support, you can speak with one of our senior software architects as a starting point. We’ll get to know your project and role requirements, and let you know how we may be able to help.