Can you imagine how long it would take to create your favorite product or app without using 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 they are asked in job interviews to 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 that 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.
Instead of testing real-world skills in a setting that mimics to an engineer’s actual working environment, whiteboarding interviews often require candidates to recall abstract theories learned in computer science classes. While this approach might work for new grads with little or no on-the-job experience, it’s a poor way to test candidates who are self-taught or 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 class. Not only would this 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, but it would also exclude anyone who hadn’t graduated with a marketing degree.
The bottom line is that the vast majority of employers are hiring for a combination of skills and attitude, not theoretical knowledge, and the the average whiteboarding interview completely misses the mark in this regard. The real reason that many companies continue to use them is that creating a better alternative is, quite simply, difficult to do and takes time away from things like shipping product.
That said, there are some simple and even obvious alternatives. The first of these is simply giving the candidate a computer and allowing him or her to code in an environment that is close to the setting in which he or she would be working. The trick here is to find a middle ground between overwhelming the candidate with your codebase, which typically requires weeks or even months to get up to speed on, and making tasks so simple that they don’t allow strong performers to show what they’re capable of.
One way around this is to send a subset of your codebase ahead of time, so that 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, and you can create more complex tasks or tests to really separate out the high performers.
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 that they can work on over a weekend and then talk an interviewer through over the phone or in person.
Many engineers have passion projects outside of their 9-5. This might include everything from a startup they’ve launched on the side to code they’ve 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. Asking probing questions about implementations the candidate made and why, what what features they’d like to add, etc. can help 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 would test their skills in an interview that makes it seem that way? While finding an alternative to the traditional whiteboarding interview definitely takes a bit of work, it’s worth it because 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 a field like engineering where 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.