The Staff Engineer's Path
by Tanya Reilly
Responsibilities
Seeing the big picture and to avoid local maxima - Good decisions need context. The local maximum, the best decision for a single group, might not be anything like the best decision when you take a broader view.
Ownership for the whole system - to avoid the teams’ local maxima
Have enough perspective to track down issues
Sell the vision to the rest of the company - explain what the work will make possible and how the new project affects everyone
Not a manager, but a leader
As you increase in seniority, you’ll take on bigger projects, projects that can’t succeed without collaboration, communication and alignment; your brilliant solutions will only cause you frustration if you can’t convince other people on the team that yours is the right path.
Teaching is a form of leadership.
Quietly raising everyone’s game is leadership.
Setting technical direction is leadership.
You aim to be autonomous.
Creating a backlog of high-impact work.
Understand your organization -> by understanding the culture
Engineers sometimes dismiss organizational skills as "politics", but these skills are part of good engineering: considering the humans who are part of the system, being clear about the problem you're solving, understanding long term consequences, and making trade offs about priorities. If you don't know how to navigate your organization, every change will be much more difficult.
The archetypes
Tech leads - partner with managers to guide the execution of one or more teams.
Architects - responsible for the technical direction and quality across a critical area.
Solvers - wade into one difficult problem at a time.
Right hands - add leadership bandwidth to an organisation.
The three maps
Locator map
your place in the wider organization.
helps to not be biased towards your team's projects.
helps you to make sure the teams you work with really understand their purpose in the organization, who their customers are, and how their work affects other people.
Topographical map
helps navigating the terrain.
helps to highlight the friction and gaps between teams and open up the paths of communication.
includes understanding your organization's "personality" and how your leaders prefer to work, clarifying how decisions are made.
Treasure map
shows where you're going and lays out some of the stops on the journey.
helps you to make sure everyone knows exactly what they're trying to achieve and why.
Understanding the culture
secret
information is currency; everything is private; you get access only if you ask for it, if only you know that exists
open
access to everything
oral
big decisions can be taken in a hallway conversation
written
every change comes with a formal specification
top-down
missing local context; engineers feel controlled
bottom-up
teams are empowered to make decisions by their own
fast change
tend to make rapid decisions and pivot abruptly; you'll want an inceremental path that shows value immediately
deliberate change
might miss low hanging opportunities to improve; you'll need to show that you thought through the whole plan
back channels
front doors
formal paths for information and requests; can take longer but might be more predictable and fair
allocated
understaffed and overworked
available
liquid
offer more space to change your space in the structure
crystallized
the same group of people, in the same configuration, climb the ranks together and have a fairly fixed structure for communication; each person is like a node in a crystal lattice: as long as the people around you are moving up, you'll move up too.
Westrum classified organizations and their influence on information flows using three categories:
= low-cooperation culture where power and status are the goal and people hoard information
= a rule-oriented culture where information moves through standard channels and change is difficult
= a mission-oriented, high-trust, high-cooperation culture where information flows freely
power-oriented
rule-oriented
performance-oriented
low cooperation
modest cooperation
high cooperation
messengers shot
messengers neglected
messengers trained
responsibilities shirked
narrow responsibilities
risks shared
bridging discouraged
bridging tolerated
bridging encouraged
failure -> scapegoating
failure -> justice
failure -> inquiry
novelty crushed
novelty -> problems
novelty -> implemented
Points of interest on the map
Chasms = canyons that can form between teams; group cultures, norms, goals, and expectations evolve differently, causing gaps that make it difficult to communicate, make decisions, and resolve disputes.
Fortresses = teams or individuals who seem determined to stop anyone from getting projects done. e.g. the gatekeeprs (well intentioned to keep quality of code and architecture) winning by making proving you mitigated all risks, did capcity estimations etc.
Disputed territory = systems owned by multiple teams - scattered ownership, people owning parts of its behaviour.
Uncrossable deserts = running into a battle that is considered unwinnable (e.g. project that is too big or politically messy)
Paved roads, shortcuts, and long ways around = company processes to ensure that the official ways to do something are also the easiest ways. (e.g. self-service checklist to make sure a new component is safe)
Last updated