An Elegant Puzzle: Systems of Engineering Management by Will Larson
I am glad I stumbled upon An Elegant Puzzle: Systems of Engineering Management by Will Larson last week while listening to a podcast. I immediately took audible monthly subscription to read it. While listening to the book, I felt as if Will Larson has been talking to me over a fireside chat and sharing his long experience about how he learnt leading engineers and engineering teams after many trials and errors. I had so many aha moments that when I finished the audible this morning, I ordered the physical copy of this book from Amazon. I suspect I am going to refer back to this book every now and then to make my work life easier. I highly recommend this book to all engineering leaders.
Here are some of the notes I took along the way.
- There are 3 major management levels.
- Line Management — Usually managers and senior managers under this category who manage a team of engineers. Each such managers should have 6 to 8 direct reports. In a 100 company organization, a line manager needs to have at least 5 reports. Some companies have TLM (Technical Lead Manager) positions where engineering manager is supposed to be hands on. TLMs should have no more than 4 direct reports.
- Mid Level Management — Usually Directors and Senior Directors under this category who manages team of teams. They should have 4 to 6 managers as direct reports. In a 100 company organization, each such director needs to have 20 dotted (direct and indirect) reports.
- Leadership — VP of Engineering or CTO are under this category. They manage a whole organization. In a 100 company organization, they should have 40 people within their dotted reports.
- No engineering team size should be less than 4.
- A team takes a long time to gel together. So don’t dissemble them easily.
- It takes 8 engineers in a team to support 2 tier oncall rotations.
- An untrained engineer (for example, new hires) is one-third productive of a trained engineer. An untrained engineer may take about 10 hours of time per week from a trained engineer.
- Each interview takes about 2 hours of time from each engineer to prepare, take interview, debrief etc.
- Only trained engineers should be in oncall rotations.
- Almost every platform team is working on a critical scaling rewrite.
- Most teams work well when it has 8 engineers. For more than that a new team should be spinned off.
- If your engineer is taking more than 3 interviews a week, it’s an act of mercy to give that engineer a month off every 3 or 4 months.
- From Accelerate, 4 measures of developer velocity to track -
- Delivery lead time — time from creation of code to its use in production
- Deployment frequency — how often the code is deployed in production
- Change fail rate — how frequently changes fail
- Time to restore service — time spent recovering from defects
- There are 4 sources of staffing teams -
- team members who are ready to fill the position right now
- team members who can grow into the position in projected timeframe
- internal transfers from within your company
- external hires who already have the skills
- How experienced managers get stuck -
- do what worked in their previous companies
- spend too much time building relationships
- assume more hiring can solve every problem
- abscond rather than delegate
- become disconnected from ground truth
- Measuring teams -
- retention rate
- referral rate by cohorts
- attendance rate for recurring events and team lunch
- quality and completion rate of coffee chats
- An engineering manager should spend time cold sourcing (for example via LinkedIn) weekly one hour.
- A rigorous process should have some level of redundancy
- Every team needs to have a clear set of directional metrics and easily discoverable dashboard
I am a Java programmer currently working for Salesforce.com in San Francisco, California, USA. I finished my MSS in Economics from University of Dhaka, Bangladesh and two years Software Engineering Diploma from NIIT. After working for more than 4 years in various outsourcing and local projects back in Bangladesh, I came to USA on H1B visa at early 2005. Other than my passion for computer, internet and online community, I am a passionate chess player with my current USCF chess rating of 2022. In USCF terms I am a Candidate Master or Expert. I have also picked up hiking as a hobby lately. I love to travel around, read books and write blogs. Read my IT thoughts at https://ashikuzzaman.wordpress.com, online diary of regular events at http://ashikuzzaman.blogspot.com and chess endeavors at http://dragonbishop.blogspot.com . View all posts by ashikuzzaman
Published
Originally published at http://ashikuzzaman.wordpress.com on February 29, 2020.