The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change
Rate it:
Open Preview
10%
Flag icon
Charity Majors’s “The Engineer/Manager Pendulum” is an excellent article on this topic.
12%
Flag icon
Figure 2-2. It’s easy to lose perspective about what other people know (source: https://xkcd.com/2501 by Randall Munroe).
12%
Flag icon
Taking an outsider view
15%
Flag icon
(See the website Is Tech a Meritocracy? for more.)
17%
Flag icon
As Burr tells us, people who aren’t in the room “don’t get a say in what they trade away”
17%
Flag icon
Will Larson’s article “Getting in the Room”
20%
Flag icon
Coordination Headwind: How Organizations Are Like Slime Molds” is a fantastic presentation about the failure modes of bottom-up coordination.
21%
Flag icon
Resources for Writing a Technical Vision
21%
Flag icon
Fundamentals of Software Architecture by Mark Richards and Neal Ford (O’Reilly)
22%
Flag icon
The canonical book on strategy is Good Strategy/Bad Strategy by Richard Rumelt (Currency).
22%
Flag icon
“Getting to Commitment: Tackling Broad Technical Problems in Large Organizations” by Mattie Toia
23%
Flag icon
Bear in mind that getting people to agree isn’t a chore that stands in between you and the real work of solving the problem: the agreement is the work.
23%
Flag icon
technology radar or
27%
Flag icon
Show your work However you make the decision, document it,
27%
Flag icon
“Don’t call for a vote until you know you have the votes,”
28%
Flag icon
Avoid dense walls of text. Use images, bullet points, and lots of white space.
28%
Flag icon
I have seen so many documents die at this point because the authors didn’t know how to make them real.
28%
Flag icon
In my experience, you’ll all be more successful if you stay with it, making sure the work maintains momentum and the plan stays clear as the vision or strategy turns into actual projects.
29%
Flag icon
interviews build up a pattern and let you see what’s going on.
29%
Flag icon
Every new feature change needs complex logic changes in a set of shared components.
30%
Flag icon
You show him the list of challenges you’re not focusing on too, to make it clear that you see them but don’t think they should come first.
33%
Flag icon
Being the least skilled person on a team of superstars will teach you more than being the best person on an otherwise mediocre team.
34%
Flag icon
Working groups can be effective if there’s organizational buy-in, a clear time commitment, exit criteria, and a process for making decisions.
34%
Flag icon
If you tend to let distractions pull your attention in lots of directions at once, try to build the habit of pausing for a few seconds before reflexively volunteering or agreeing to do something.
38%
Flag icon
You don’t get to that level without knowing how to defend your time.”
38%
Flag icon
told that bullet journaling is helpful for letting go of things, because every day you copy the things you still care about to the next page.
38%
Flag icon
it’s that you’re dealing with ambiguity: unclear direction; messy, complicated humans; or legacy systems whose behavior you can’t predict. When the project involves a lot of teams; has big, risky decisions along the way; or is just messy and confusing, it needs a technical lead who will stick with it and trust that the problems can be solved, and who can handle the complexity. That’s often a staff engineer.
38%
Flag icon
number one tool for success—writing things down.
40%
Flag icon
“Working with Product Managers: Advice from PMs”
41%
Flag icon
Remember that tenet of Amazon’s principal engineer community I mentioned in Chapter 2: “Respect what came before.”
41%
Flag icon
senior levels, engineering roles start to blur into each other: the difference between, say, a very senior engineer, an engineering manager, and a technical program manager might not be immediately clear.
41%
Flag icon
Table 5-1. Example table of leadership responsibilities
42%
Flag icon
I’ll just note that RACI turns the preceding list into a matrix, so you can set everyone’s expectations even more clearly.
43%
Flag icon
Avoid the Lake!”
43%
Flag icon
I’m always suspicious when a brand-new project already has a design document or plan, and even more when those include implementation details: “Build a GraphQL server with Node.js to…” and so forth.
43%
Flag icon
If you’re creating a design where it’s difficult to articulate the goals (or if the goals are just a description of your implementation!), that’s a sign that you haven’t spent enough time in this exploration stage.
44%
Flag icon
In The Art of Travel (Vintage), Alain de Botton talks about the frustration of learning new information that doesn’t connect to anything you already know—like the sorts of facts you might pick up while visiting a historic building in a foreign land.
44%
Flag icon
love that quote and think about it a lot while trying to help other people understand something. How can I hook this concept onto their existing knowledge?
44%
Flag icon
Take the time to understand what words are meaningful to the people you intend to communicate with, and use their words when you can. If you’re trying to talk with multiple groups at once, provide a glossary, or at least be deliberate about describing what you mean by the terms you’re using.
45%
Flag icon
written design is a very cheap iteration
45%
Flag icon
The specific implementation should serve the goal; it should not be the goal. Leave the design decisions to the design section.
45%
Flag icon
Wrong Is Better Than Vague
45%
Flag icon
write with active verbs that have a subject who does the action:
45%
Flag icon
“What I Think About When I Edit”: Instead of saying “this” or “that,” you should add a noun to spell out exactly what you’re referring to, even if you’ve just mentioned it.
46%
Flag icon
The Write the Docs website also offers a ton of resources on how to write well.
47%
Flag icon
“Writing code is rarely the highest leverage thing you can spend your time on.
47%
Flag icon
however, that coding gives you a depth of understanding that’s hard to gain otherwise and helps you spot problems. What’s more, “If spending a day a week coding keeps you engaged and excited to come to work, you will likely do better in the rest of your job.”
47%
Flag icon
Think of your code as a lever to help everyone else.
47%
Flag icon
Sometimes it’s better to let someone set a pattern that’s good enough and not overrule them,
47%
Flag icon
whatever you do will set expectations for the team.
« Prev 1 3