Coding Puzzles Alienate Senior Engineers

· 4 min read
Coding Puzzles Alienate Senior Engineers

Finding strong senior engineers is hard. When you finally get an experienced developer in for an interview, you want to evaluate them effectively. It’s tempting to default to leaning too hard on textbook algorithm questions — I’ve definitely been guilty of it.

While puzzles might be appropriate for more junior hires, they don’t tell you much about the breadth of seasoned engineering abilities. Senior engineers need solid architectural skills, technical leadership, coaching, and sound engineering judgment. Coding contests reveal little about those critical qualities that provide the most value.

Rejected by Big Tech

You’ve been building one of the most widely used package management systems in macOS and Linux communities for over six years. It’s used across various well-known tech companies. Your specialized experience makes you one of the most sought-after engineers around. When you get an invite from a FAANG company out of the blue, you feel both thrilled and hesitant.

The prestige and compensation package tempt you. But you worry about toxic Big Tech culture and crazy work hours. Still, your friend convinces you to give it a shot. This is the pinnacle of tech success — how could you pass up at least interviewing?

While preparing, you brush up on textbook algorithms, feeling slightly silly, revisiting academic computer science puzzles that seem distant from your actual work. You practice explaining solutions clearly while writing code, knowing their notorious interview style.

But the first question on inverting a binary tree on a whiteboard completely stumps you. Frustrated trying to recall obscurities you haven’t touched in years, you finally ask for help. With the interviewer’s hints, you struggle through but abandon all hope by the third brutal tree traversal problem, never needing that in real life.

Leaving the interview, you feel overwhelmed and drained. Why couldn’t they ask about the complex systems you’ve built instead of puzzles? Didn’t they care about your specialty experience at all? Were they trying to reinforce their status, making even senior people squirm?

This literally happened to Max Howell, the author of Homebrew. His free and open-source package management system simplifies software installation on Apple’s operating system, macOS, and Linux. And he wasn’t the only one in this situation.

Puzzles Fall Short for Senior Engineers

When hiring senior engineers, throwing algorithm questions at candidates is an easy way to assess their skills. After all, aren’t all engineers supposed to be good at complex coding problems? Not really. For seasoned developers, leaning too hard on LeetCode and similar technical puzzles can backfire.

Most senior engineers will find these coding challenges more insulting than anything else. If you’ve been coding complex systems for 10+ years, how would you feel about having your abilities boiled down to solving abstract problems on a whiteboard? You may be frustrated and turned off, even deciding the company wasn’t worth your time.

Beyond being annoying, interviews like that fail to reflect what senior roles are about daily — things like system architecture, technical leadership, coaching junior developers, and defining processes. When was the last time you needed to invert a binary tree or implement a sorting algorithm from memory in your work? Probably never.

Strong senior engineers can struggle with coding puzzles but still excel at high-level software design and mentoring, the two skills you need in this role. Coding puzzle performance doesn’t correlate with total senior engineering ability.

Evaluating Senior Candidates Effectively

Instead of whiteboard coding contests, I’d focus on their flexibility in dealing with unfamiliar systems. Ask about their experience parachuting onto legacy codebases. What strategies did they use to restructure things? How did they convince stubborn teammates to adopt better patterns? You’ll see how gracefully they mesh with your existing tooling and process.

Dig deep into their architectural abilities — where have they had to walk the thin line between scalability, cost, and velocity? Have them map out technical solutions for scaling the hypothetical loads you describe. The goal is gauging judgment — how they navigate complex tradeoffs that creep up constantly in senior positions.

You want to know about their ability to nurture junior engineers, too. Ask them to explain a tricky systems concept or recent technical decision they faced. Assess their patience and clarity. You also want to know their competence in resolving conflicts or coaching through missteps. Even senior engineers need people skills to multiply their impact.

Give them a chance to display their technical seasoning by suggesting solutions to real problems you face, not just contrived puzzles. Let them demonstrate competence with production engineering concerns like observability, reconfigurability, and ops overhead.

Look Beyond Titles When Evaluating Senior Candidates

I wouldn’t get too hung up on job titles when looking at senior engineering candidates. I’ve seen “principal engineers” with 10+ years of experience who couldn’t lead a team or design a system if their life depended on it. Fancy labels can be deceiving.

Don’t put too much stock on candidates because they have “senior” in their title. Some may have gotten promoted quickly at less rigorous companies. Probe the substance behind their years of experience — complex projects, impactful products, and advanced architectural skills? Titles guarantee nothing by themselves.

Similarly, some engineers play senior roles for decades without expanding their thinking. They keep implementing minor iterations on the same systems. So, their breadth of knowledge stays narrow even after many years. Assess their appetite for learning and growth when evaluating senior appropriateness.

Ultimately, you’ve got to get beyond the resume shorthand to understand if a candidate has senior-grade technical wisdom and leadership ability. It’s more work than taking titles at face value, but you’ll end up with much stronger seniors.

Remember that even after lots of screening, you’ll only know if a senior candidate is a good match after gelling for a few months. But by not emphasizing titles too much and examining senior competencies, you can land better bets who will thrive in key engineering leadership roles. The juice is worth the squeeze.