Hiring Programmers Is Hard: How to be More Efficient
Hiring software developers is one of the most important aspects of building a successful business. It's a general truth that a great programmer can be 10 times more productive than a mediocre one. In fact, hiring a mediocre to poor developer not only adds minimal productivity to your team, but often decreases the team's existing efficiency. This happens as your engineers must now train and continuously coach the weaker developers, taking up their focus, time and patience.
That's why it's so important to make great hires. You need to keep your team moving at full speed. Bringing on great developers who are fast learners is crucial to keeping your momentum going. However the process of hiring great developers takes time, and that time in itself can be a hit to your productivity. Here are just a few ways that the hiring process can bring engineering productivity to a halt:
- A flood of applications create a backlog of candidates to review.
- Constant interviews distract your software developers.
- Poor performers that make it to on-site interviews drain the engineering team's time.
- Inconsistent technical interview formats create biased and unreliable results.
- Scheduling conflicts can create delays in the hiring process.
To overcome these issues, code assessments can be leveraged to combat an inefficient hiring process and improve the quality of your technical screens. The idea of code assessments is nothing new. They have been around for a while and are well-known for their usage by companies like Google. Using code assessments for technical screens is possible in a variety of different ways. Some use code assessments to test candidate's real-world programming skills. Many like to see a candidate's thought process through whiteboarding. Others like to use pair-programming tools to work alongside candidates. All of these tactics can go a long way in making your hiring more efficient and effective. To improve the process further, you can use skill assessment software such as Qualified.io. We built Qualified.io to accelerate the technical hiring process with automated code assessments and pair-programming tools. We believe that when code assessments are done right, you can maximize the impact of your hiring process at identifying the best engineering talent.
Here are some of the areas where you can use code assessments within your process to improve efficiency:
Pre-Screens
A pre-screen is a quick coding test you can ask candidates to take before they talk to engineers on your team. If your company is fielding a lot of inbound job applications then this is likely a bottleneck for you. Your first step towards better efficiency is filtering out candidates who can't handle fundamental coding tasks. Ideally, you want to do this without involving your technical team, as it is crucial that they stay focused on their work. You will want to involve them later only after you have found candidates who show promise.
This is a key area where Qualified's automated coding assessments can make a huge impact. Automation allows you to qualify candidates in a consistent and reproducible manner. An assessment can test defined coding tasks in a familiar coding environment and auto-score the candidate's solutions. It does all of this for your recruiting team without needing to include your engineers to do the scoring. This should be a key take away for improving your pre-screens. You want the process to be efficient and you don't want to have to include your engineers, who need to stay focused on more important things.
In-Depth Assignments
Implementing pre-screens to filter out poor performing candidates will make a large impact on streamlining your hiring flow. At this point the candidate has gotten through your low-pass filter and it's time to step it up a notch. This is where in-depth code assessments will really improve things. The basic idea is simple. Give the candidate a coding assignment that they can do on their own time. The assessment should be designed to provide you with a more in-depth coverage of their skill sets. Since each candidate will be completing the same assignment, this will give you a consistent set of results to compare.
There are a few options for giving assignments to candidates. One is a take home project. In this approach the candidate is given a set of requirements and completes a full project. With this approach you will get a great real-world code sample. There are however a few drawbacks to watch out for. First, these projects will be quite intensive, which can be a turn-off for candidates due to the large time investment. Second, you should expect your development team to spend a good amount of time reviewing each submission. To combat these you will want to selectively use these projects to ensure candidate retention and prevent interviewer fatigue. Having your interviewers being familiar with the solution is key to making this process more efficient. You will also want to setup a system for tracking results and making sure everyone has access to the project submissions.
Another option is to take things a step further and use an automated assessment platform. In this case, you wouldn't give the candidate a full project, but instead one or more in-depth coding assessments to complete. With targeted challenges, you can isolate specific areas that you would like to focus on. Since the system will score the candidates for you, you won't need to worry about testing the code yourself. This allows you to filter candidates effortlessly and focus your time on how the assignment was solved. Taking it even further, Qualified.io actually utilizes unit tests for automated scoring - the same tests development teams use for testing their own software. This provides a familiar process to candidates and also enables you to test TDD skills. Imagine, you can not only use tests to ensure your development team is producing quality software, you can also use it to ensure you are producing quality technical assessments.
Regardless of which in-depth assignment approach you take, it will give your candidates an opportunity to reveal their skills in a comfortable environment. This way you can quickly see talent, and well before you invest your engineers time in a whiteboarding or on-site interview.
Pair-Programming Interviews
OK, so you have pre-screened out all of the poor candidates, and honed in on the high quality candidates using an in-depth assignment. At this point you have done a great job minimizing the amount of time you need to take from your development team. Its now time to get them more hands-on with the interview process.
The process of interviewing can be incredibly time consuming, but it's an important phase that you don't want to shortcut on. Many companies hold technical phone screens before an on-site interview in a conversational format. These phone screens provide shallow skill insight, while a full on-site can often be very costly - costing your team precious time as well as possible travel expenses. Pair-programming during a phone screen is a great way to allow your interviewers full insight into a candidate's coding skills without increased overhead. They are often so effective they can even replace an on-site interview when necessary.
A pair-programming interview involves one or more of your engineers meeting with a candidate in a real-time collaborative coding environment, such as Qualified's Live Interview. These pair-programming environments allow developers to remotely code together as they work through a code assessment or whiteboarding problem. This real-time collaboration offers direct insight into a candidate's thought-process and problem-solving approach. With Qualified.io, you can even record the playback of the pair-programming session so the rest of your team can review the session later. Pair-programming will provide you with a great preview of how well the candidate will integrate into your team.
Recap
Optimize your hiring flow by using pre-screens to quickly filter out poor performers. Get real world examples from your prospects by using in-depth code assessments. Save your development team from hours of in-person interviews by utilizing pair-programming phone screens. Automate and streamline your process with tools like Qualified.io.