An Elegant Puzzle: Systems of Engineering Management
Rate it:
Open Preview
5%
Flag icon
Managers should support six to eight engineers
6%
Flag icon
Managers-of-managers should support four to six managers
6%
Flag icon
Small teams (fewer than four members) are not teams
6%
Flag icon
An important property of teams is that they abstract the complexities of the individuals that compose them. Teams
6%
Flag icon
Keep innovation and maintenance together.
6%
Flag icon
Teams should be six to eight during steady state. To create a new team, grow an existing team to eight to ten, and then bud into two teams of four or five. Never create empty teams. Never leave managers supporting more than eight individuals.
7%
Flag icon
Figure 2.3 Four states of a team.
8%
Flag icon
these fixes are slow.
8%
Flag icon
For each constraint, prioritize one team at a time.
8%
Flag icon
disassembling a high-performing team leads to a significant loss of productivity,
8%
Flag icon
high-performing teams are sacred, and I’m quite hesitant to disassemble them.
8%
Flag icon
hiring into teams loaded down by technical debt, not into innovating teams, which avoids incurring re-gelling costs on high-performing teams.
9%
Flag icon
The Goal by Eliyahu M. Goldratt10 and Thinking in Systems: A Primer by Donella H. Meadows11 are both phenomenal books on this topic.
9%
Flag icon
but if it’s a choice of moving people rapidly or shifting scope rapidly, I’ve found that the latter is more effective and less disruptive.
12%
Flag icon
stacking small wins than identifying silver bullets.
13%
Flag icon
progress on those, and give yourself permission to do the rest poorly. Work with your manager to write this up as an explicit plan and agree on what reasonable progress looks like. These
13%
Flag icon
something simply isn’t likely to go well, I think it’s best to hold the bag yourself. You may be the best suited to manage the risk, but you’re almost certainly the best positioned to take responsibility.
13%
Flag icon
As an organizational leader, you’ll always have a portfolio of risk, and you’ll always be doing very badly at some things that are important to you. That’s not only okay, it’s unavoidable.
14%
Flag icon
Take a look at your calendar and write down your role in meetings. This goes for explicit roles, like owning a meeting’s agenda, and also for more nuanced roles, like being the first person to champion others’ ideas, or the person who is diplomatic enough to raise difficult concerns.
14%
Flag icon
The key tools for leading efficient change are systems thinking, metrics, and vision.
15%
Flag icon
stability by becoming glue. We step in as product managers, program managers, recruiters, or salespeople to hold the bits together until an expert relieves us.
15%
Flag icon
Thinking in Systems: A Primer3 by Donella H. Meadows,
16%
Flag icon
Stella5 is the gold standard, but the price is quite steep, with a nonacademic license costing more than a new laptop. The best cheap alternative that I’ve found is Insight Maker,6 which has some UI quirks but features a donation-based payment model.
18%
Flag icon
Write a customer letter. Write the launch announcement that you would send after finishing the solution. Are you able to write something exciting, useful, and real? It’s much more useful to test it against your actual users than to rely on your intuition.
18%
Flag icon
Prefer experimentation over analysis. It’s far more reliable to get good at cheap validation than it is to get great at consistently picking the right solution.
18%
Flag icon
three elements in place today—exploration, selection, and validation—won’t make you an exceptional product manager overnight, but they will provide a solid starting place to
18%
Flag icon
Strategies are grounded documents which explain the trade-offs and actions that will be taken to address a specific challenge. Visions are aspirational documents that enable individuals who don’t work closely together to make decisions that fit together cleanly. Picking
19%
Flag icon
A structure that I’ve found extremely effective13 is described in Good Strategy/Bad Strategy by Richard Rumelt,14 and has three sections: diagnosis, policies, and actions.
20%
Flag icon
If strategies describe the harsh trade-offs necessary to overcome a particular challenge, then visions describe a future in which those trade-offs are no longer mutually exclusive. An effective vision helps folks think beyond the constraints of their local maxima, and lightly aligns progress without requiring tight centralized coordination.
21%
Flag icon
A target states where you want to reach. A baseline identifies where you are today. A trend describes the current velocity. A time frame sets bounds for the change.
21%
Flag icon
“In Q3, we will reduce time to render our frontpage from 600ms (p95) to 300ms (p95). In Q2, render time increased from 500ms to 600ms.”
22%
Flag icon
“Effectively Using AWS Reserved Instances.”
22%
Flag icon
tying it against net revenue is more useful than pinning it at a specific dollar amount.)
23%
Flag icon
The fact that something stops working at significantly increased scale is a sign that it was designed appropriately to the previous constraints rather than being over-designed.
24%
Flag icon
The good news is that while migrations are hard, there is a pretty standard playbook that works remarkably well: de-risk, enable, then finish.
24%
Flag icon
Write a design document and shop it with the teams that you believe will have the hardest time migrating. Iterate. Shop it with teams who have atypical patterns and edge cases. Iterate. Test it against the next six to twelve months of roadmap. Iterate.
26%
Flag icon
targeting five to eight engineers, depending on experience level, is pretty typical. If you’re targeting more than eight engineers per manager, then it’s worth reflecting on why you believe your managers can support a significantly higher load than industry average: Are they exceptionally experienced? Are your expectations lower than typical? In any case, pick your target, probably in the six-to-eight range.
26%
Flag icon
Once you’ve grounded yourself, here are some additional considerations: Can you write a crisp mission statement for each team? Would you personally be excited to be a member of each of the teams, as well as to be the manager of each of those teams? Put teams that work together (especially poorly) as close together as possible. This minimizes the distance for escalations during disagreements, allowing arbiters to have sufficient context. Also, most poor working relationships are the by-product of information gaps, and nothing fills
27%
Flag icon
Accidentally missing someone is the cardinal sin of reorganization.
27%
Flag icon
Organizational change is rather resistant to rollback, so you have to be collectively committed to moving forward with it, even if it runs into challenges along the way (which, if history holds, it almost certainly will).
28%
Flag icon
For whatever controls you pick, the second step is to agree on the degree of alignment for each one. Some of the levels that I’ve found useful are: I’ll do it.
28%
Flag icon
Preview.
28%
Flag icon
Review.
28%
Flag icon
Notes.
28%
Flag icon
No surprises.
28%
Flag icon
Let me know.
29%
Flag icon
A prototypical head of engineering will be skilled at organizational design, process design, business strategy, recruiting, mentoring, coaching, public speaking, and written communication. They’ll also have a broad personal network and a broad foundation from product engineering to infrastructure engineering. That’s
30%
Flag icon
Answer the question you want to be asked. If someone asks a very difficult or challenging question, reframe it into one that you’re comfortable answering. Don’t accept a question’s implicit framing, but instead take the opportunity to frame it yourself. Don’t Think of An Elephant by George Lakoff 32 is a phenomenal, compact guide to framing issues. Stay positive. Negative stories can be very compelling. They are quite risky, too! As an interviewee, find a positive framing and stick to it. This is especially true when it comes to competitors and controversy. Speak in threes. Narrow your message ...more
31%
Flag icon
There are many different approaches to try to manage inconsistency creep. Some of the solutions I’ve seen are formalized sprints, training, shadowing, documentation, code linters,34 process automation (particularly deploys), and incident reviews. However, when the problem becomes truly acute, folks eventually reach for the same tool: adding a centralized, accountable group.
32%
Flag icon
Domineering groups significantly reduce individuals’ negative and positive freedoms, and become churn factories for members.
« Prev 1