Can you imagine how long it would take to create your favorite product or app without a computer to write the underlying code? And more importantly, why would you ever attempt to do it this way? That’s the question many developers ask themselves when interviewers request they write code by hand without the help of GitHub, StackOverflow or the myriad other tools they use to help them do their jobs on a daily basis.
And yet, despite the nonsensical nature of whiteboarding interviews, most companies continue to use them. To say engineers hate these types of interviews is an understatement.
In fact, some flat-out refuse to do them. Writing on Medium, coder and engineer Eric Elliott explains his frustration with the practice saying, “Using a whiteboard to interview coders is like rolling a pair of dice and passing or failing the candidate based on the number it lands on.”
Elliott and others point out that whiteboarding interviews block qualified candidates with relevant experience, but not a photographic memory, and they don’t leave room for the abstract thinking that is crucial in this field.
Whiteboarding interviews often require candidates to recall abstract theories learned in computer science classes. This approach might work for new grads with little or no on-the-job experience. However, it’s a poor way to test self-taught candidates or those who have been out of school for more than a few years.
Imagine if a product marketing candidate came in and was asked to recite an esoteric theory taught in most undergraduate marketing classes. This would be a far less effective way to test the individual’s ability to do the job than by asking about relevant experience from their most recent job. It would also exclude anyone who hadn’t graduated with a marketing degree.
The bottom line? The vast majority of employers are hiring for a combination of skills and attitude – not theoretical knowledge. The average whiteboarding interview completely misses the mark in this regard. Why do many companies continue to use them? Simply, it’s difficult to create an alternative and takes time away from things like shipping product.Let Candidates Code in a Real-World Environment
That said, there are some simple and even obvious alternatives. Give the candidate a computer. Allow them to code in an environment similar to the one they’d be working in.
Here’s the trick: find a middle ground. You don’t want to overwhelm the candidate with your codebase, which typically requires weeks or even months to get up to speed on. You also don’t want to make tasks so simple they don’t allow strong performers to show their capabilities.
One way around this is to send a subset of your codebase ahead of time. That way, candidates have a chance to familiarize themselves before they come in for a coding interview. This way they aren’t overwhelmed by trying to understand context in the moment. Plus, you can create more complex tasks or tests to really separate out the high performers.Assign A Take-Home Test
Like students, there are plenty of candidates who just don’t do well in a high-pressure environment where they’re required to write code on the spot, be it on a whiteboard or a computer. Given the often solitary nature of an engineer’s day-to-day work, this doesn’t necessarily give the best indication of their abilities once on the job. For folks with this profile, consider offering a take-home test. They can work on it over a weekend and then talk to an interviewer over the phone or in person.Have the Candidate Walk You Through a Side Project
Many engineers have passion projects outside of their 9-5. This might include a startup they’ve launched on the side or code they contributed to a community like StackOverflow. These projects are often a great way to get an engineer talking about what interests them and to demonstrate that they’re passionate about the field, a trait that many employers consider a non-negotiable.
Ask probing questions about implementations the candidate made and why, what features they’d like to add, etc. This helps you understand their thought process and aptitude as an engineer.
You aren’t hiring developers to sit alone on an island writing algorithms all day. So, why test their skills in an interview that makes it seem that way? Finding an alternative to the traditional whiteboarding interview definitely takes a bit of work. Yet, it’s worth it. It will help you better test for the skills that will serve your organization in a real-world setting.
Equally importantly, it will drastically improve your candidate experience and set your company apart from others who are using this outdated method. In the engineering field, skills are in short supply and hiring is ultra-competitive. Companies looking to fill open roles need all the help they can get. Chucking the whiteboarding interview is almost certainly a way to get a big leg up.