The Rise and Looming Fall of the Whiteboard Coding Interview
This article was originally published on Forbes.com.
For the past few decades, most engineers require candidates to code on a whiteboard. If you think about it, this concept is really bizarre. Software engineers who make it to the in-person whiteboard interview have a couple of hours to show you how quickly, concisely and clearly they can code.
You give them a coding challenge, like “sort an array of 100 integers.” They have to stand up, turn to a vertical blank slate and handwrite code from scratch while a handful of senior engineers scrutinize their every word and move. Writing code on a whiteboard is a skill in and of itself. How does this awkward experience tell you anything meaningful about how well engineers can truly think and work in their element?
But it’s how engineers have always done it. It’s the industry standard. Engineers have written plenty about the ineffectiveness of the whiteboard interview for these reasons and more (examples here, here and here). Have you ever wondered how the concept of the whiteboard interview originated?
‘Hey, you made a typing mistake!’
Back in the ‘70s, when microcomputers like the Apple AAPL -0.17% II were all the rage, computer time was expensive, pressure-packed and cumbersome. Workstation computers were massive and the electricity, data processing and disc space costs were outrageous. Here’s the cost per megahertz, or the unit of alternating current, from 1970, courtesy of Dr. Mark J. Perry:
Bill Gates describes the experience in a commencement speech at Lakeside School:
“You had to type up your program off-line and create this paper tape—and then you would dial up the computer and get on, and get the paper in there, and while you were programming, everybody would crowd around, shouting: “Hey, you made a typing mistake.” “Hey, you messed this up!” “Hey, you’re taking too much time.Of course, computers were totally new to everyone here—faculty as well as students. In one early development, one of the teachers burned up $200 of computer time in a few minutes by accidentally running an infinite loop.”
Programmers in this era were just used to the idea of writing code on paper. Most people, like developer Diego Basch who started programming in the 1980s, didn’t own a computer. They were as expensive as brand new cars. It was common for passionate programming hobbyists to actually write down programs on paper so they could type them into school computers later.
Moving into the 1990s, desktops were affordable but laptops were a luxury. Basch says you’d be crazy to ask someone to bring their development environment with them to an interview. It would naturally follow that software engineers would test applicants by asking them to code on paper.
The Birth of Whiteboards
While software engineering was growing into a legitimate profession with the rise of the Internet in the 1990s, whiteboards were simultaneously enjoying a spike in popularity. Even though whiteboards were technically invented in the 1960s, the general public didn’t adopt them until the 1990s for several reasons.
One, it was really hard to wipe a whiteboard clean until the invention of the dry-erase marker in 1975 by Jerry Woolf of Techform Laboratories. Two, there was public concern in the 1980s about the hazardous effects of chalk dust from chalkboards, which encouraged people to turn to whiteboards. Three, the early whiteboards were made of expensive material, like enameled steel.
As software engineering grew in high demand, it was a natural transition to switch from pen and paper to the whiteboard interview in the 1990s. It makes sense since it’s easy to setup, you can erase mistakes and the entire team can see the code on the whiteboard.
Old Habits Die Hard
Even as laptops, projectors and disk space have become dirt cheap and computer time is virtually free, the act of writing out the code on a whiteboard or paper is frozen in time. Again, it’s the way we’ve always done it. But as the demand for software engineer continues to grow exponentially, engineers are going to have to stop interviewing like it’s the 90s.
Whiteboard Coding Interviews are Far Too Slow
Whiteboard problems were never meant to be fast, scalable or simulate real-world problems to ensure high-quality hires. The 2000 Programming Interviews Exposed book reassures candidates that most questions are designed to take up to an hour and most job interviews take up to a full day. Plus, the questions are far from real-world problems:
“They have to be short enough that they can be explained and solved reasonably quickly, yet complex enough that not everyone can solve them. Therefore, it’s unlikely that you’ll be asked any real-world problems.”
This strategy worked sufficiently for engineers of past decades because the profession was still new. But the world is going to need to hire a lot more engineers to support the exponential growth of programming. For example, just look at the sheer number of software apps that have been downloaded in just the last 10 years or so. The numbers below are in billions:
The US Bureau of Labor Statistics predicts that the demand for software engineers is going to go up by 22% by 2020. Screening each qualified engineer can’t require a half day per candidate. While the demand for software developers continues to skyrocket, the engineering interview is ironically stuck in the 90s.
Engineers did the best with what they had in the 90s, but today’s engineers should start adopting more technologically advanced ways to screen and test an engineer’s communication skills without a whiteboard and marker. Using a real-time video platform that allows you to view, edit and talk through code challenges remotely is much faster and scalable than in-person whiteboard interviews. Are you going to change your interview process for the better?