HackerRank for Work is a paid service that can screen software development candidates. While some people might be familiar with the free HackerRank programming challenge and competition website, HackerRank for Work is distinct and separate. You can test software engineering candidates for programming skills as well as other technical skills with HackerRank. You might already screen candidates using other methods like whiteboarding or actual programming on a development machine. In this article, I’ll explain why I believe HackerRank for Work is a better option.
The whiteboard is one of the oldest and simplest technical screening methods. If you have a whiteboard and a dry erase marker, you’re all setup. A candidate can easily write code or illustrate architectures. Flexibility is highest here because the interview questions can change quickly with little wasted time. Unfortunately, this method is very unfair for writing code. Software developers spend most of their time writing code in files on a computer using an editor, not on a whiteboard with a marker. If a candidate hasn’t practiced writing code on a whiteboard specifically for interviews that candidate will usually perform suboptimally. Why challenge a candidate with a tooling problem?
Hands on computer
A more sophisticated interview option involves a development machine. A candidate can use a personal computer or a company-provided one. The candidate can write code in a familiar and realistic work environment instead of using a whiteboard. The candidate is usually free to refer to references and iterate on their code. I tried this method at various companies, and it worked well for the most part except when it didn’t. Some notable problems with personal computers involved viewing the candidate’s work. Some candidates didn’t have Google Hangouts installed. Some didn’t have HDMI ports for video output to our TV screens. An interview laptop solved many of these problems but had problems of its own. Sometimes the interview laptop would break right before an interview. The interview laptop would become a bottleneck.
Buy don’t build
HackerRank for Work lets you buy an interview environment accessible from any web browser. HackerRank supports numerous programming languages. Other sites have code editor support, but HackerRank goes beyond code highlighting. HackerRank runs code on input and prints output as feedback to the developer. For test automation, HackerRank can assert that given a certain input test case the candidate’s code prints the expected output. Automated testing of candidate submissions can scale your interview capacity if you position it early in your interview process. After a successful recruiter phone screen, the candidate takes a test that automatically notifies the hiring manager and recruiter upon submission.
The next step depends on the design of your test. A HackerRank test either screen for minimum capability or stack rank skills. If you want a simple pass/fail then screen for minimum ability. However, if you want more data on candidates then design your tests to stack rank performance. Both approaches are valid and useful. By stack ranking candidates, you collect more data points on their abilities. You decide what skills are necessary for the team and hire those skills based on data.
So how do you go about writing such a test? First, list the skills that are necessary for your team. Identifying these skills isn’t easy, and crowdsourcing this list from your employees is best. Next, is writing questions that have layers of increasingly complex test cases. Each test cases should expose a slightly more complex facet of the skill area. You should aim for a broad spectrum of test cases from easy to very complex. The goal is to have every candidate land somewhere on the spectrum: no zeros and no perfect scores. A zero or perfect score is effectively off-the-charts. In later blog posts, I’ll describe how to create questions like this.
The last benefit of automated take-home HackerRank tests is that they’re blind. These tests don’t suffer from unconscious biases or any personal preferences. Objective data collection of a candidate’s abilities allows refinement of your hiring process. Without this data, you can’t be sure that hiring managers aren’t making decisions based on unexpected tendencies.