, 16 tweets, 3 min read Read on Twitter
Whiteboard coding is a pretty broken way to gauge developer skills.

For years, companies have "proven" that they hire only the best and brightest by putting interviewees through rigorous algorithmic puzzle solving on the whiteboard.

It's kind of dumb. Here's why:
1) Whiteboard coding is literally never a skill you need in real life as a software engineer.

Judging a developer by their ability to code on a whiteboard is like deciding to draft an NFL quarterback because of how many points he can rack up on his Xbox playing Madden.
That's not to say that knowing how to sketch ideas, data structures, architectures, or bits of code on a whiteboard isn't a useful arrow to have in an engineer's quiver; it definitely is.

But daily coding rarely involves writing functions longhand in a high-pressure situation.
The best signifier of the quality of work an engineer can produce is what they write when they're in their native habitat, whatever that is.

On her laptop, using her favorite code editor, Stack Overflow open, with a glass of coffee/wine/tea next to her, headphones cranking.
Coding for many people is a nonlinear experience, built from the inside out. You have an idea, you build around it.

Whiteboard coding, on the other hand, enforces top-to-bottom coding, and makes refactoring and refining (incredibly important skills for devs) terribly difficult.
A fairer interview process gives an opportunity for engineers to do their best work, in their most comfortable environment.

If you need a coding exercise as part of your interview process, consider a take-home that lets people code in a way that shows their best self.
2) Whiteboard coding is just a skill that can be learned. Like hacky sack, juggling bowling pins, or balancing straws on your nose.

It is a totally artificial skill, and like any skill, if you practice it a bunch of times you'll get unnaturally good at it.
There are fewer than a hundred common interview coding questions to which the solution fits on a whiteboard and can be completed in an hour. Some candidates will just memorize all the solutions.

✅ Reverse a linked list
✅ Compute the nth Fibonacci number
✅ etc. etc. etc. sigh
If you hire engineers based on their solutions to these standard whiteboard coding questions, know that you are selecting people based primarily on their prep for these specific questions.

If all you need is devs to reverse linked lists longhand, OTOH, this might be great!
3) Whiteboard coding is a terrible power imbalance.

The candidate trembles at the blank whiteboard in a silent room, watched by the smug interviewer waiting to see if she quickly codes his "preferred" solution. Tick, tick, tick.

Eyes on the back of the head. Flop sweat drips.
The pressure involved in from-scratch puzzle coding on the whiteboard is enough to make many very talented engineers fail the loop or avoid the interview process altogether.

It makes the candidate feel small and the interviewer feel powerful. (No wonder it's so popular.)
There are, of course, mitigations to this. There are wonderful collaborative interviewers who work on a problem together with a candidate, or set context that they will be helping them along the way.

Reading code together or sketching out pseudocode is often less intense.
4) Whiteboard coding focuses primarily on algorithms.

While algorithms are important, typical coding puzzles are always about reinventing the wheel (coding things that other very smart people already figured out the definitive version of decades ago.)
Real engineering is about so much more than algorithms.

Understanding when to use open source. Learning how to compose modules together in a cohesive way. Reading other people's code. Finding bugs through introspection. Knowing what to optimize (and what not to.)
The reason you want a whiteboard in an engineering interview is to support the discussion, not to code.

"Why did you choose this solution?"
"Tell me about the trade-offs here."
"Could you sketch how the parts work together?"

The discussion is where you do your real learning.
For sure, candidates will continue to be paraded up to the whiteboard to face the code guillotine for some years to come, but humane companies have found effective alternatives: take homes, discussions, thoughtful conversation.

Let's relegate whiteboard coding to the dustbin.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Jensen Harris
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!