Back to Blog
FeaturedHiring

The Art of Technical Interviewing: Hiring Engineers Who Can Actually Ship

January 28, 202622 min read

I've interviewed hundreds of engineers and hired dozens. I've also been on the other side—interviewing for jobs and getting rejected by companies that later regretted it. The problem is that most technical interviews don't predict job performance. They predict how well someone can solve LeetCode problems on a whiteboard. That's not the same thing.

What Traditional Interviews Get Wrong

The LeetCode Problem: Asking someone to solve a hard algorithm problem on a whiteboard doesn't predict whether they can work with a team, communicate clearly, build maintainable code, solve real business problems, learn new technologies, or ship products. Yet this is what most companies do.

The Take-Home Project Problem: "Build a todo app in 4 hours" tells you how much free time they have, how familiar they are with boilerplate, how much they care about impressing you. Not much about how they work in a team or handle real-world constraints.

The Culture Fit Problem: "Do you fit our culture?" is code for "are you like us?" This leads to homogeneous teams that lack diversity of thought. The best teams have people with different backgrounds and perspectives.

What Actually Predicts Performance

1. Communication Skills: Can they explain their thinking? Can they ask clarifying questions? Can they discuss trade-offs? These are the most important skills for a software engineer.

2. Problem-Solving Approach: Do they jump to solutions or understand the problem first? Do they consider edge cases? Do they ask questions?

3. Code Quality: Do they write code that's easy to understand and maintain? Do they think about testing?

4. Collaboration: Do they work well with others? Can they take feedback? Do they help teammates?

The Interview Process That Works

Round 1: Phone Screen (30 minutes) - Get to know them, understand their background, assess communication, discuss the role and company, gauge interest and fit

Round 2: Technical Conversation (60 minutes) - Discuss a past project in depth, ask about technical decisions, explore problem-solving approach, no coding required, focus on communication and thinking

Round 3: Practical Problem (90 minutes) - Real problem from your codebase, pair programming with your team, focus on collaboration and thinking, not about getting the perfect solution, evaluate how they work with others

Round 4: Team Fit (30 minutes) - Meet the team, discuss culture and values, answer their questions, get their feedback, discuss compensation and logistics

Questions That Actually Work

"Tell me about a time you shipped something you were proud of." - This reveals what they value, how they approach quality, their communication skills, their impact mindset, their ability to see projects through.

"What's the most complex system you've worked on?" - This reveals technical depth, ability to handle complexity, how they think about architecture, their communication skills.

"Tell me about a time you made a mistake." - This reveals self-awareness, ability to learn, humility, problem-solving approach, accountability.

"What do you want to learn in the next year?" - This reveals growth mindset, ambition, alignment with your company, curiosity.

Red Flags and Green Flags

  • Can't explain their past work clearly
  • Dismissive of other approaches
  • No questions about the role or company
  • Unwilling to discuss trade-offs
  • Arrogant or condescending
  • Blames others for failures
  • Can't admit what they don't know
  • Asks thoughtful questions
  • Discusses trade-offs openly
  • Shows curiosity about your business
  • Admits what they don't know
  • Collaborative and humble
  • Takes responsibility for failures
  • Excited about learning

Common Mistakes I Made

1. Hiring for Resume: I hired someone with an impressive resume who couldn't communicate or work with the team. Disaster.

2. Asking Trick Questions: I thought I was clever. I wasn't. I just wasted everyone's time and made candidates nervous.

3. Not Involving the Team: I made hiring decisions alone. The team had to work with them.

4. Ignoring Red Flags: I hired someone despite red flags because they had impressive credentials. Regretted it.

5. Not Selling the Role: I focused on evaluating them but didn't sell them on the role. Good candidates had other offers.

Building a Diverse Team

Diverse teams make better decisions. They catch more bugs. They build better products. But you have to be intentional about it.

  • Expand your recruiting channels
  • Remove unnecessary requirements
  • Evaluate candidates fairly
  • Create an inclusive environment

Conclusion

The best engineers aren't always the ones with the most impressive resumes. They're the ones who can communicate clearly, solve problems thoughtfully, and work well with others. Design your interview process to reveal these qualities, and you'll build a team that can actually ship. Remember: hiring is the most important decision you make as a leader. Get it right, and everything else becomes easier.