The engineering mindset | Will Larson (Carta, Stripe, Uber, Calm, Digg)
07 Jan 2024 (9 months ago)
- Will Larson has a background as a software engineering leader at Carta, Stripe, Uber, and Calm.
- He is the author of two essential books for engineers and eng leaders: An Elegant Puzzle and Staff Engineer.
- The engineering field has experienced significant changes over the past few years, especially in terms of hiring practices and team management.
- There has been a shift in the amount of time spent on hiring, with managers now devoting less time to interviews and more to other competencies.
- Engineers and engineering directors are now facing challenges such as leading the team, determining the right team allocation and sizing, as well as handling team cutbacks and consolidation.
- There is a shift in the way engineers are treated within companies, with a move towards putting engineers into senior leadership roles and holding them accountable for their work.
- A previous trend of coddling engineers and avoiding holding them accountable is being replaced by a new approach that allows engineers to tackle real challenges and be placed in senior roles.
Systems thinking
- Systems thinking involves considering stocks (things that accumulate) and flows (the movement from a stock to another thing)
- It includes understanding how a system and reality can be in conflict and the importance of reconciling the two
- Systems thinking can help in understanding where mental models are wrong and how to improve them
- It's important to strike a balance between learning and taking action
- An example of systems thinking applied to hiring is explained using a hiring pipeline model
Implementing systems thinking in hiring
- Creating a model of the hiring pipeline with potential candidates, different inflows, conversion rates, and offer stages
- Identifying problems in the hiring process such as lack of confidence in candidates, low acceptance of offers, and insufficient candidates coming in
- Using historical data to identify areas for improvement and avoid making arbitrary changes without evidence
- Emphasizing the importance of taking a complex problem and working through it systematically
Engineering strategy
- Many companies lack a written strategy for any function, including engineering.
- It is important to realize that there is always a strategy, even if it is not written down.
- Writing down the strategy allows for improvement and debugging of its application.
Examples of engineering strategies
- An engineering strategy should include a diagnosis, guiding policies, and actions.
- Examples of engineering strategies include using only in-house data centers at Uber and running a Ruby monolith at Stripe to focus on building innovative features.
How to get good at strategy
- Recommended books for improving strategy include "Good Strategy, Bad Strategy" and "Thinking in Systems."
- There are several engineering strategy-related books available, but there is still a need for a comprehensive one. The speaker is working on releasing a book on engineering strategy in the future.
- Writing what you want to write allows for writing with energy and avoids negative energy
- Writing for personal interests rather than for financial gain or a schedule leads to more productive writing
- Writing an entire piece before starting with a publisher can help anticipate their concerns
- Writing what is interesting to oneself and not for any specific audience can lead to a dedicated following
- The biggest risk in content creation is quitting too soon due to burnout, not missing the initial wave of popular topics
- Consistency and sustainability over the long term are crucial for success in content creation
- It's an infinite game, and content creators are not competing but rather working together to grow and maintain high standards of content.
How to make time for writing
- Finding topics directly related to work can create alignment and efficiency in writing
- Energy management and deliberate scheduling are key to finding time for writing
- Excitement and passion for a topic can drive the motivation to make time for writing
Tips for aspiring writers
- Focus on creating high-quality artifacts to showcase deep thinking rather than maintaining a consistent blog
- Emphasize on publishing content and not worrying excessively about the quality
- Disregard unnecessary feedback and focus on producing content consistently
Building productive relationships between product managers and engineers
- Understanding each party's incentives and needs is crucial for alignment
- Clear communication and honest dialogue can help navigate misaligned incentives and find compromises
- There are usually compromise solutions that address everyone's needs when incentives and true needs are understood
- EM/PM pairs are given the same performance rating, except in cases of clear non-performance
- This approach drives a level of shared incentives and the right perspective
- Calibrating together ensures exceptions are addressed, but on average, both receive the same rating
- Involving design managers could be beneficial for design-led companies
- EMs balancing team expectations is a common source of friction, particularly in growth teams
- EMs are often seen as unreliable partners due to invisible constraints and differing priorities between PMs and EMs
Measuring engineering productivity
- Measuring engineering productivity is a common and challenging question for engineering leaders.
- Benchmarking based on funding allocation is a mechanical and unhelpful approach.
- Talking to engineers directly can provide insights into team effectiveness.
- Aligning engineering evaluation to business and product goals is essential.
- The book "Accelerate" suggests four metrics for evaluating engineering teams: lead time, incident remediation time, failure rate, and a fourth unspecified metric.
- The use of these metrics should be for diagnosis and improvement, not as definitive measures of success or failure.
- Educating stakeholders on the limitations and nuances of these metrics is crucial for a more sophisticated understanding of engineering performance.
- Values should be honest and applicable to the organization's work
- Reversibility is important - values that can't be reversed or applied are not useful
- It should be clear who doesn't fit with the values, as everyone fitting is not useful
Conclusion
- Companies should be honest about their values
- Values should be applicable to the organization's work
- The importance of clear criteria for who doesn't fit with the values is emphasized
- Digg needed to compete with social networks and decided to do a complete rewrite of their platform
- The decision to do a complete rewrite caused significant issues and challenges
- The team worked under intense pressure to get the site fully functional
- They faced technical challenges, but the experience provided valuable learning opportunities
- Despite the heroic efforts, the company ultimately declined, leading to layoffs and a tough business environment
- Will Larson has a new book, "The Engineering Executive's Primer," coming out in February
- The book is targeted at engineering executives and those aspiring to be one, and also useful for anyone working with engineering executives