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 and before we talk about a better way to engage development talent, let me dive into what whiteboard interviews are and why they are an outdated way to assess a Python developer's capabilities.
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 a 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.
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.
We need to be realistic when it comes to coding interviews. What role requires you to program without any resources?
I’d like to meet a programmer that doesn’t use Stack Overflow, Google, or any number of other Python resources available to help them solve problems 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.
Hiring managers who have almost no time nowadays, have to go through the effort of bringing a candidate in; have to take the time to set up an interview with their recruiting team; then actually sit in through the interview to watch the candidate write on a whiteboard!
The time and money investment only increase when you host multiple candidates too.
Research shows that an unfilled position can cost a company upwards of $1,000 a day. At an average of 60 days to hire a developer, that’s a cost of approximately $60,000 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.
Programmers know it’s coming and that’s a problem in itself.
The fear this type of interview causes creates a toxic environment.
One Python developer related this story to me at PyCon 2019:
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 the 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.
My First Coding Interview
(This is a story related to Julian Sequeira, Co-Founder of PyBites - more on them in a minute.)
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 penalized and criticized 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.
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 minimizes the time investment of the hiring manager and recruiter. The 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.
So is there an alternative to whiteboard interviews?
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 our clients an alternative solution.
The Solution - PyBites CodeChallenges
PyBites was originally created by Julian Sequeira and Bob Belderbos as a training platform for Python developers and have recently added a “Recruiter” platform.
This groundbreaking platform allows clients to host their own coding exercises (Bites) or select from exercises already created that allow the hiring manager to measure the candidate against all others who have also completed that Bite.
PythonTek has partnered with PyBites to offer its clients access to the CodeChallenges platform. Clients don’t have to worry about learning a new system as PythonTek manages the entire process for them, at no cost to the client
To learn more about how you can utilize PyBites to enhance your hiring process for Python developers contact just click the button below.