Technical Interviewing: What Actually Works

April 16, 2018

Technical interviews are expensive. Candidates invest hours preparing and participating. Companies invest engineering time in conducting them. Yet most interview processes are poor predictors of job performance.

We’ve hired over 50 engineers in the past three years, iterating on our process continuously. Here’s what we’ve learned about what actually works.

Problems with Common Approaches

Whiteboard Algorithm Puzzles

The classic approach: candidates solve algorithm problems on a whiteboard.

Problems:

Algorithmic thinking matters, but whiteboard puzzles are a poor way to assess it.

Brain Teasers

“How many golf balls fit in a school bus?”

Problems:

Google famously abandoned these after analyzing their predictive value (none).

Trivia Questions

“What’s the time complexity of HashMap.get()?”

Problems:

Take-Home Projects

Candidates complete projects at home, then discuss.

Problems:

Take-homes can work but need careful design.

What Actually Works

Work Sample Tests

The strongest predictor of job performance is a sample of the actual work.

Approach:

Example: For a backend role, a realistic problem might be:

Structured Interviews

Consistent questions across candidates, with scoring rubrics.

Benefits:

Structure:

Question: "Tell me about a time you had to debug a production issue under pressure."

Scoring rubric:
1 - Unable to provide example or poor approach
2 - Basic example, reasonable approach
3 - Good example, methodical approach, learned from it
4 - Exceptional example, systematic debugging, improved systems after

Pair Programming

Collaborate with the candidate on a real problem.

Benefits:

Tips:

System Design Discussions

For senior roles, discuss how they’d design systems.

Effective approach:

Good discussion: “Design a URL shortening service”

Technical Experience Deep-Dive

Discuss their previous work in depth.

Questions:

What you learn:

Process Design

Define What You’re Looking For

Before interviewing, define requirements:

Technical skills:

Working style:

Values fit:

Design for Coverage

Ensure interviews cover needed areas:

Phone Screen (45 min):
- Basic technical screening
- Communication ability
- Mutual interest check

On-site Interview 1 (60 min):
- Pair programming session
- Real codebase problem

On-site Interview 2 (60 min):
- System design discussion
- Architecture and tradeoffs

On-site Interview 3 (45 min):
- Technical deep-dive
- Past experience discussion

On-site Interview 4 (45 min):
- Values and working style
- Team collaboration assessment

Train Interviewers

Interviews are a skill:

Training covers:

Shadow and reverse shadow:

Calibrate Decisions

After interviews, calibrate as a group:

Debrief process:

  1. Each interviewer shares assessment independently (prevent anchoring)
  2. Discuss areas of agreement and disagreement
  3. Identify missing information
  4. Make collective decision

Red flags for recalibration:

Candidate Experience

Respect Their Time

Set Them Up for Success

Give Feedback

Many companies avoid feedback for legal reasons. But:

At minimum, provide meaningful closure.

Measuring Interview Effectiveness

Track Hiring Outcomes

Correlate interview scores with job performance:

Track Process Metrics

Iterate Based on Data

Regular review:

Common Pitfalls

Hiring People Like Us

Homogeneous teams:

Combat with:

Pattern Matching on Credentials

Credentials (school, companies) are weak predictors:

Evaluate ability, not pedigree.

Optimizing for False Negatives

“Better to miss a good candidate than hire a bad one” taken too far:

Find balance between quality bar and hiring needs.

One Bad Interview = Rejection

Single data points are noisy:

Weight aggregate signal, not single interviews.

Key Takeaways

Interviewing well is hard. But it’s learnable, and the investment pays dividends in team quality.