Book Recommendations for Strategic Thinking
by Will Larson on January 7, 2024
Will Larson's approach to engineering leadership emphasizes treating engineers as capable adults rather than sheltering them from business realities. This shift enables putting engineers in senior leadership roles where they can tackle meaningful problems and be held accountable.
Systems Thinking for Engineering Leaders
Systems thinking involves modeling stocks (accumulations) and flows (movements between stocks):
-
Start by creating a simple model of your system
- Identify the "stocks" (e.g., number of candidates in hiring pipeline)
- Map the "flows" between stocks (e.g., conversion rates between stages)
- Understand how changes to one part affect the whole system
-
Use the model to identify bottlenecks and problems
- Compare your model against real data to find discrepancies
- The gap between your model and reality is where learning happens
- Avoid getting stuck in endless measurement without action
-
Balance modeling with execution
- "Measure twice, cut once" - but don't measure infinitely
- When your model conflicts with reality, reality is always right
- Use systems thinking as a learning tool, not just an analytical exercise
Engineering Strategy Development
-
Every organization has a strategy, even if unwritten
- Writing it down allows you to improve it
- Makes it possible to debug misalignments and misunderstandings
- Enables consistent application across teams
-
Effective engineering strategies are often boring but powerful
- Example: "We only use the tools we already have today"
- Example: "We run everything in our own data centers"
- Example: "We use a Ruby monolith"
-
Good strategy has three components (from Richard Rumelt):
- Diagnosis - accurate assessment of current reality
- Guiding policies - approaches to address the diagnosis
- Actions - how to implement the guiding policies
-
The goal of good strategy isn't to appease everyone
- It dictates how to invest limited resources into problems that matter
- It creates constraints that focus energy on what the company values
- Bad strategies usually stem from inaccurate diagnosis of constraints
Improving EM-PM Relationships
-
Core problems in EM-PM relationships:
- Misaligned incentives
- Failure to understand each other's needs
-
Solution: Create shared incentives
- Give EM-PM pairs the same performance rating
- Calibrate performance reviews together across functions
- Make success a shared outcome, not a competition
-
Before trying to solve conflicts:
- Ensure you understand what the other person truly cares about
- Dig deeper than surface-level requests to find underlying needs
- Look for compromise solutions that satisfy everyone's core needs
Measuring Engineering Productivity
-
Start with alignment to business goals
- Hold engineering accountable to product and business outcomes
- Show the roadmap of valuable things delivered in the last six months
-
Use metrics for education, not just evaluation
- DORA metrics (lead time, incident remediation, etc.) are good diagnostic tools
- No metric is perfect, but imperfect metrics create opportunities for education
- Start with something measurable and improve understanding over time
-
Talk directly to engineers
- Engineers know if their teams are effective or not
- They'll tell you why things aren't working if you ask
- Use their input to trace problems to root causes