Why whiteboard coding interviews suck and what we’re doing about it.

By on 5 June 2019

Ah, whiteboard interviews! One of the most harrowing experiences of a professional programmer’s life.

It’s absolutely beyond me why this archaic practice is still actively used around the world today.

Clearly I’m not a fan, Bob isn’t either, so we’re working to change this but first, let me dive into what whiteboard interviews are and why they suck.

What’s all the hubbub?

A whiteboard interview is a type of interview a programmer/coder will undertake to gauge their level of skill with their programming language of choice as well as their ability to tackle a problem.

The idea is that the candidate is asked to code a solution to a problem on the whiteboard in front of the interviewer. No resources. No phoning a friend. Just the whiteboard marker and the shirt on their back.

Harmless right? Wrong.

Under Pressure

Be honest. Who here reading this actually codes under pressure? If you do, I’m sorry! The reality is, it’s not often that our production apps go down due to bad code. If they do it’ll be all hands on deck and you’ll have every resource at your disposal.

So why are we asking programmers to code live, out of their comfort zone, in a situation they’re already nervous enough in? Are we seriously trying to get them to fail? How is that in the best interest of the company?

Giving them a tough problem and asking them to solve it on the spot with zero resources only proves you’re capable of setting people up for failure. And, perhaps, that you’re sadistic.

Reality Check

We need to be realistic when it comes to coding interviews. What God forsaken role requires you to program without any resources?
I’d like to meet a programmer that doesn’t use Stack Overflow and Google to help them solve and find solutions.

It’s ridiculous to expect someone to write an entire solution up on a whiteboard without giving them access to the usual resource pool.

Time and Money Sink

I’ll turn the focus back on the interviewer and hiring manager.

These poor sods have to go through the effort of: bringing a candidate in; taking the time to set up an interview with their recruiting team; and actually sitting in through the interview to watch the candidate write on a whiteboard!

The time and money investment only increases when you host multiple candidates too.

Research shows that an unfilled position can cost you a company upwards of $500 a day. At an average of 43 days to hire a developer, that’s a cost of at least $21,500 to businesses, per position that they’re aiming to fill.

The worst part is that putting the candidates under this sort of stress lowers their ability to perform. Hiring managers will then likely miss out on quality candidates due to one ridiculous, overrated hour of scribbling on a whiteboard.

Fear Factor

Programmers know it’s coming and that’s a problem in itself.

The fear this type of interview causes, creates a toxic environment.

On a recent trip to the US I met with a mate who is an incredibly capable Python programmer. In fact, he’s quite senior in the non-coding role he holds now, namely for his ability to think laterally and tackle problems.

The imposter syndrome he suffers based on his fear that he’s not good enough to pass a coding interview is heartbreaking.

These whiteboard interviews and their reputation destroy the confidence of candidates such that they’re too afraid to even try. This alone should be the wake up call the industry sorely needs.

So what are we doing about it?

I’m glad you asked! (If you didn’t ask, ask now, I’ll wait!).

We want to see whiteboard interviews banished to the Twisting Nether. How?

By offering an alternative solution.

CodeChalleng.es for Recruiters

We have an existing feature on the codechalleng.es platform that allows enterprise customers to create their own exercises (Bites) which they can then use for the purpose of running interviews.

After seeing the massive demand for this at US PyCon 2019 we were compelled to flesh it out.

We’ve created a new tier for Recruiters that comes along with some interesting features. More on this below.

Let me tell you why this is so important to me.

My First Coding Interview

At the time of writing, I’m 3 days into my very first, professional coding role. It’s honestly a dream come true!

I didn’t go through a whiteboard interview.

My interviewers were more interested in who I was. My personality. How I performed working on a team. My ability to manage multiple projects. And most importantly: my ability to think critically and tackle a problem.

This approach quite literally changed my life.

Rather than being penalised and criticised on syntax and form, they dove deep on my ability to troubleshoot and my ability to communicate.

These two things are critical to being an effective coder! If you know how to tackle a problem and communicate your ideas, you’ll succeed.
And this is why we’re pushing to change the way the world interviews programmers.

Our vision

As a hiring manager, imagine being able to send a coding exercise to a candidate before inviting them to come in.

As a candidate, imagine being able to take the coding exercise in the comfort of your own home, using your own keyboard and with access to your usual resources.

This scenario gives the candidate the best chance to solve the problem the way they normally would. It also minimises the time investment of the hiring manager and recruiter. Code can be reviewed remotely after submission by the candidate and the call can then be made to bring them in for face-to-face (F2F) interviews.

The F2F interview will then be very different. The conversation will be around why the candidate came to the code solution they did. How they reasoned their way there. Why they chose that coding methodology and perhaps even what they could do better.

This opportunity for self assessment and reflection is invaluable and should open many conversational avenues to flesh out the candidate’s fit for the team, company culture and, of course, their technical abilities.

Our goal is to see roles become more accessible to the masses of programmers out there and to see them filled quickly.

What’s Coming

Here’s what’s coming. Get excited.

The Recruiting tier on codechalleng.es will include the following features:

  • The ability to create custom Bites (exercises) to interview Python job candidates.
  • Access to copy and use our library of Bites for the interviews.
  • A dashboard to see candidate metrics; code submissions and their last 5 code revisions.
  • The ability to set a finite time to complete an interview Bite.
  • Your custom branding on the platform.
  • The option to download interview submissions as a zip file.

Changing the game

With these new features and abilities we’re looking to change the coding interview game. This is a real step toward some positive change in this space.

If you’re in the Python recruiting game, check it out and reach out. We’re keen to hear your thoughts.

Keep Calm and Code in Python!

— Julian

Video demo of the Recruiter Tier

Bob and Julian want to make the coding interview a nicer experience for both recruiter as well as interviewee.

Want a career as a Python Developer but not sure where to start?