Overview

Will Larson (2019, Stripe Press) draws from experience at Digg, Uber, and Stripe to present a structured approach to engineering management. The book treats management as a systems problem — where sizing teams, managing technical debt, and succession planning are interconnected challenges with elegant, principled solutions. Balances structured principles with human-centric thinking.

Key Frameworks

Four States of a Team

Teams exist in one of four states, each requiring a different management intervention:

StateSymptomIntervention
Falling behindBacklog growing, morale droppingAdd people, then process
Treading waterHandling current work but no improvementReduce WIP, add time
Repaying debtActively improving, paying down tech debtGive space, don’t interrupt
InnovatingSurplus capacity, exploring new approachesMaintain slack, set direction

Systems Thinking for Management

  • Every management problem exists within a system — changing one variable affects others
  • “More engineers, more problems” — systems survive one magnitude of growth, then need redesign
  • Entropy management is the core management activity — organizations naturally drift toward disorder

Sizing Teams

  • Teams should be 6-8 engineers, with a manager for every 6-8 people
  • Teams smaller than 4 are fragile; teams larger than 10 lose cohesion
  • Never “optimize globally” by moving people between teams — this destroys team effectiveness

Technical Debt and Migrations

  • Migrations are the only reliable way to eliminate technical debt at scale
  • De-risk migrations by running new and old systems in parallel
  • Never start a migration you cannot finish — half-completed migrations are worse than no migration

Chapter Themes

SectionKey Insight
OrganizationsTeam sizing, four states, succession planning
ToolsSystems thinking, metrics, vision documents
ApproachesTechnical debt, migrations, reorgs
CultureInterview processes, performance management
CareersPromotion packets, career narratives, staff+ engineering

Actionable Takeaways

  • Diagnose which state each team is in before choosing an intervention — the wrong fix makes things worse
  • Protect teams in the “repaying debt” state from interruption — this is where lasting improvement happens
  • Treat management as systems engineering — look for feedback loops, not isolated variables
  • Succession planning is not optional — document what you do so someone else can do it
  • Avoid top-down global optimization — local teams know their constraints better than leadership
  • Shift scope rather than shifting people — rotate problems to teams, not engineers between teams