The engineering mindset | Will Larson (Carta, Stripe, Uber, Calm, Digg)
1. Treat Engineers as Peers
Treat engineers like peers and put them into senior leadership roles, holding them accountable, rather than coddling them, to foster their growth and allow them to tackle real problems.
2. Use Systems Thinking
Apply systems thinking by modeling problems with “stocks” (things that accumulate) and “flows” (movement between stocks) to understand reality, identify conflicts with your mental model, and pinpoint where to focus efforts for improvement.
3. Write Down Your Strategy
Document your strategy (for any function, including engineering) even if it’s imperfect, because a written strategy allows for debugging, improvement, and consistent application across the organization.
4. Embrace Strategic Constraints
Implement “boring” strategies that constrain options (e.g., using only existing tools, specific tech stacks, or data centers) to focus energy on company-valued problems and align teams, even if they are initially annoying to some engineers.
5. Align EM-PM Performance
To address misaligned incentives and foster better collaboration, consider giving Engineering Managers and Product Managers the same performance review rating, reinforcing that they are a “pair” with shared accountability for overall execution.
6. Understand Others’ Needs
Before trying to solve a conflict with an EM or PM, dig deeper to understand the other person’s true needs and what they genuinely care about, as often a compromise can be found that satisfies everyone without extra time.
7. Measure Engineering Productivity
Combine benchmarks and metrics like Dora (useful for diagnosis) with qualitative insights from engineers, and align engineering evaluation with business and product goals. Be comfortable measuring imperfect metrics and use them to educate stakeholders on nuances.
8. Write What Energizes You
To sustain a long-term writing habit, prioritize writing about topics that genuinely energize you and that you are curious about, rather than focusing on what you think others want or what’s popular, to avoid burnout.
9. Align Writing with Work
Find ways to write about topics directly related to your work, as this allows you to refine your thinking, improve job performance, and integrate writing into your demanding schedule rather than treating it as a separate, distracting activity.
10. Publish Consistently
If your goal is consistent long-term writing, prioritize publishing almost everything you write, rather than getting stuck on perfecting drafts. Accept that some content won’t be “perfect” and focus on sharing your evolving thoughts and experience.
11. Define Values Honestly
When defining company values, ensure they are honest (you actually do what you claim), applicable (you can use them to guide decisions), and reversible (the opposite could also be a valid choice for another company), to make them truly useful.
12. Focus on Quality Artifacts
If your primary goal for writing is career advancement, focus on producing two or three exceptionally good pieces, dedicating significant time to drafting, revising, and getting feedback, rather than trying to maintain a frequent publishing schedule.
13. Don’t Stress Minor Decisions
Before agonizing over a decision, ask yourself if anyone will remember or care about it in six months. If the answer is no, make a reasonable choice and move on to more important matters.
14. Ask Candidates About Choices
When interviewing, ask strong candidates how they plan to decide between multiple compelling offers to understand their priorities. Then, tailor your pitch to highlight how your company best meets those specific needs.
15. No Way Around, Just Through
In challenging situations, adopt the mindset that there is “no way around, just through,” meaning you must confront and work through difficulties directly to reach the other side, rather than trying to avoid or dodge them.