Skip to content
Unverified — AI-generated content. Help verify this page

Hiring: How to Interview Others

Most engineers are never taught how to interview. They get pulled into a panel, ask whatever comes to mind, and make a gut-feel decision. This leads to inconsistent evaluations, biased outcomes, and missed talent. This page covers how to design interview loops, write questions that actually predict job performance, evaluate candidates consistently, and make the hire when you find the right person.

Designing an Interview Loop

The Full Loop Structure

A well-designed interview loop has distinct stages, each testing different competencies. No single stage should try to evaluate everything.

What Each Stage Tests

StageDurationEvaluatesSignal For
Recruiter Screen15-30 minCommunication, motivation, salary/timeline alignmentCulture fit, logistics
Phone Screen45-60 minCan they write working code? Basic problem solvingMinimum technical bar
Coding (Onsite)45-60 min eachAlgorithms, data structures, code quality, testingEngineering fundamentals
System Design45-60 minArchitecture, scalability, tradeoff reasoningSenior-level thinking
Behavioral45-60 minCollaboration, conflict, growth mindset, ownershipTeam fit, leadership

Tailor the Loop to the Level

  • Junior: 2 coding rounds + 1 behavioral. Skip system design.
  • Mid-level: 2 coding rounds + 1 system design + 1 behavioral.
  • Senior: 1 coding round + 1 system design + 1 architecture deep dive + 1 behavioral.
  • Staff+: 1 coding round + 1 system design + 1 technical vision/strategy + 1 behavioral/leadership.

Writing Good Interview Questions

Criteria for Good Questions

CriterionDescriptionBad ExampleGood Example
RelevantTests skills used on the job"Implement a red-black tree""Design a rate limiter"
CalibratedKnown difficulty, known time to solveRandom LeetCode hardQuestion you have tested with 10+ candidates
LayeredCan be made easier or harder via follow-upsSingle right answerBase case + optimizations + edge cases
ObservableReveals the candidate's thinking process"What is the output of this code?""Walk me through how you would approach this"
EquitableDoes not favor specific backgrounds"Implement the Sieve of Eratosthenes""Find all pairs that sum to a target"

Coding Question Design Template

markdown
## Question: [Title]

### Setup (read to candidate)
- Problem description (2-3 sentences)
- Input/output format
- 1-2 examples

### Hints (if stuck)
- Hint 1: [After 5 min with no progress]
- Hint 2: [After 10 min, still stuck on approach]
- Hint 3: [Almost there, minor issue]

### Expected solutions
- Brute force: O(n^2) — acceptable for junior
- Optimal: O(n) — expected for mid/senior

### Follow-ups
1. What if the input doesn't fit in memory?
2. What if we need to handle concurrent requests?
3. How would you test this?

### Scoring Guide
- Strong No: Cannot solve even with significant hints
- No: Solves brute force only, poor code quality
- Yes: Solves optimally, clean code, handles edge cases
- Strong Yes: Solves quickly, discusses tradeoffs, adds tests

System Design Question Design

Good system design questions for different levels:

LevelQuestionTests
MidDesign a URL shortenerBasic distributed systems, database design
SeniorDesign a notification systemEvent-driven architecture, queuing, at-least-once delivery
StaffDesign the backend for a collaborative document editorReal-time sync (CRDTs/OT), conflict resolution, operational complexity

Rubrics and Scorecards

Why Rubrics Matter

Without rubrics, two interviewers evaluating the same candidate can reach opposite conclusions. Rubrics define what "good" looks like, making evaluations consistent and defensible.

Coding Interview Rubric

DimensionStrong No (1)No (2)Yes (3)Strong Yes (4)
Problem SolvingCannot break down the problem. No progress after hints.Needs significant hints. Gets to brute force.Identifies approach independently. Reaches optimal solution.Identifies approach quickly. Discusses multiple approaches and tradeoffs.
Code QualityCode does not compile. Major logical errors.Works for happy path. Messy structure.Clean, readable code. Handles edge cases.Production-quality code. Good naming, modular functions, defensive checks.
CommunicationSilent or incoherent. Cannot explain thinking.Explains only when asked. Vague reasoning.Thinks aloud naturally. Clear explanations.Excellent communication. Checks in with interviewer. Collaborative.
TestingDoes not mention testing.Tests happy path only when prompted.Identifies edge cases. Writes test cases.Proactively writes tests. Discusses testing strategy.
Technical DepthDoes not know language fundamentals.Knows syntax but not idioms.Fluent in language. Knows standard library.Deep knowledge. Discusses runtime, memory, and tradeoffs.

System Design Rubric

DimensionStrong No (1)No (2)Yes (3)Strong Yes (4)
RequirementsDives into solution without asking questions.Asks some questions but misses key requirements.Asks good clarifying questions. Distinguishes functional/non-functional.Identifies edge cases in requirements. Prioritizes effectively.
ArchitectureNo coherent design. Missing major components.Basic design but missing critical components (caching, queuing).Complete design with appropriate components.Elegant design. Components are well-justified.
ScalabilityDoes not mention scale.Mentions scale but no concrete approach.Identifies bottlenecks and proposes solutions (sharding, caching, CDN).Quantitative analysis. Back-of-envelope calculations.
TradeoffsMakes choices without justification.Acknowledges tradeoffs when prompted.Proactively discusses tradeoffs. Considers alternatives.Deep tradeoff analysis. Understands second-order effects.

Behavioral Interview Rubric

DimensionStrong No (1)No (2)Yes (3)Strong Yes (4)
OwnershipBlames others. No accountability.Takes some ownership. Mostly describes others' actions.Owns outcomes. Describes their specific contributions.Takes ownership even when things go wrong. Learns and improves.
CollaborationDescribes solo work only.Works with team but does not actively improve dynamics.Actively helps others. Seeks feedback.Elevates the entire team. Mentors others. Resolves conflicts constructively.
Growth MindsetDefensive about mistakes.Acknowledges mistakes but vague about learning.Gives specific examples of learning from failure.Systematic improvement. Shares learnings with the team.

Reducing Bias in Interviews

Known Biases in Technical Hiring

Mitigation Strategies

BiasMitigation
Similarity biasUse structured interviews with the same questions for all candidates. Focus on skills, not "culture fit."
Halo effectEvaluate each interview dimension independently. Do not let one strong signal override weak ones.
AnchoringScore candidates against the rubric, not against each other.
Confirmation biasWrite your evaluation immediately after the interview, before talking to other interviewers.
StereotypingBlind resume review. Structured evaluation criteria. Diverse interview panels.

Structured Interview Protocol

  1. Same questions for every candidate at the same level and role
  2. Score against the rubric (not against each other) before the debrief
  3. Write feedback independently — do not discuss with other panelists first
  4. Evaluate dimensions separately — do not let one dimension bleed into another
  5. Diverse interview panels — at least 2 interviewers from different teams/backgrounds

"Culture Fit" Is Often Bias in Disguise

"Culture fit" is one of the most abused criteria in hiring. It often translates to "this person is similar to us." Replace "culture fit" with "culture add" — what perspectives, experiences, or skills does this person bring that we currently lack?


Calibration Sessions

What Is Calibration?

Calibration aligns interviewers on what "good" looks like. Without calibration, one interviewer's "Strong Yes" is another's "Yes."

Running a Calibration Session

StepActivityDuration
1Review the rubric together10 min
2Watch a recorded mock interview (or review a detailed write-up)20 min
3Each interviewer scores independently5 min
4Compare scores and discuss disagreements20 min
5Agree on the "correct" score and update rubric if needed5 min

Common Calibration Issues

IssueResolution
"I gave a Strong Yes because they solved it fast"Speed alone is not sufficient. Did they communicate? Handle edge cases?
"I gave a No because they needed one hint"One hint is normal and expected. Multiple hints or fundamental misunderstanding is a No.
"Their code style was different from ours"Do not penalize style differences. Evaluate correctness, readability, and maintainability.
"They did not use the optimal algorithm"For junior/mid, brute force with clean code can be a Yes. For senior, optimal is expected.

The Hiring Committee / Debrief

Debrief Structure

Decision Framework

SignalTypical Outcome
All Strong Yes / YesStrong hire
Mostly Yes, one NoDiscuss the No — is the concern valid? Would the team compensate?
Mixed (Yes and No)Default to No — ambivalence usually means no
Mostly NoClear reject
All NoImmediate reject — do not waste candidate's time

The Bar Raiser Model (Amazon)

Amazon includes a "Bar Raiser" — an experienced interviewer from a different team who has veto power. This prevents hiring managers from lowering the bar under pressure to fill a role. Consider appointing a similar role in your process.


Making the Pitch: Selling to Candidates

The Best Candidates Have Options

If your interview process is one-directional (you evaluating them), you will lose top candidates to companies that also sold them. Every interview is a two-way evaluation.

What Candidates Care About

FactorWhat to CommunicateHow
ImpactWhat they will build and why it mattersDescribe the product, user base, scale
TeamWho they will work withIntroduce the team. Have 1-2 potential teammates in the loop.
GrowthHow they will grow technically and career-wiseDiscuss mentorship, learning budget, promotion process
CultureHow the team works day-to-dayBe honest about on-call, meeting culture, remote policy
CompensationTotal compensation (salary, equity, bonus)Be transparent. Do not lowball.
TechnologyStack, tooling, engineering practicesShare your tech blog, open-source projects, tech talks

Selling Tactics by Interview Stage

StageTactic
Recruiter screenShare exciting company mission and team impact
Phone screenInterviewer shares what they personally enjoy about working there
OnsiteLunch/coffee with a potential teammate (casual, no evaluation)
OfferHiring manager call explaining the role vision and first-quarter goals
CloseConnect them with an engineer who joined recently to share their experience

Interview Anti-Patterns

Anti-PatternProblemFix
Trivia questionsTests memorization, not abilityAsk them to solve a problem, not recall a fact
Gotcha questionsDesigned to make candidates failQuestions should have a discoverable path to the answer
Whiteboard hazingStressful environment, poor signalUse a real IDE. Let them Google syntax.
No rubricEvery interviewer has different standardsCreate and calibrate rubrics
Marathon interviews8+ hours exhausts candidatesCap at 4-5 hours. Include breaks.
Ghost candidatesNo feedback, no closureRespond within 1 week. Provide brief, actionable feedback.
Lowball offersLose candidates to competitorsResearch market rates. Offer fairly.

"What I cannot create, I do not understand." — Richard Feynman