The Staff Engineer's Path, page 1





Praise for The Staff Engineer’s Path
The book I wish I’d had when I stepped up to principal engineer. If you are wondering what Staff+ means, and how to be successful in the role in your organization, Tanya has laid out the path, with lots of practical, insightful advice for you. This book will provide the tools to enable you to thrive in a tech track role, acting with influence and impact.
Sarah Wells, independent consultant and author,
former principal engineer at the Financial Times
This book feels like the missing manual for my whole career. It’s amazingly reassuring to see the ambiguity of the role laid out in print, along with great specific guidance on time management, consensus building, etc. I’m going to cite this a lot.
Titus Winters, principal engineer, Google, and
coauthor of Software Engineering at Google
Tanya is the perfect author for this exceptional guide to navigating the murky role of staff-plus engineering. Her deep, direct experience comes through in every section and taught me a great deal.
Will Larson, CTO, Calm, and author of Staff Engineer
The job of senior leadership as an individual contributor has long been ambiguous and difficult to define, and this book is a much-needed guide on being successful in a relatively new role to our industry. Tanya does an excellent job bringing large-company perspective and scaling company challenges for a rounded view on how to be a successful staff engineer.
Silvia Botros, principal engineer and
coauthor of High Performance MySQL, 4th edition
When you reach near the top of the individual-contributor scale, you’re given a metaphorical compass and a destination. How you get there is your problem. How you lead there is everybody’s problem. Tanya offers a solid framework, a mapping approach, to help you lead from “here” to “there.”
This book offers a solid anchor for those new to the upper levels of individual contributors, and new perspectives for those with more experience. Staff engineer, know thyself.
Izar Tarandach, principal security architect and
coauthor of Threat Modeling
Tanya Reilly captures with eerie accuracy the sinking feeling I experienced when I first became the “someone” in “someone should do something.”
This book is a detailed exploration of what that actually means for folks at the staff engineer level.
Niall Richard Murphy, founder, CEO, and coauthor of
Reliable Machine Learning and Site Reliability Engineering
In The Staff Engineer’s Path, Tanya Reilly has brought desperately needed clarity to the ambiguous and often misunderstood question of how to be a senior technical leader without direct reports. Every page is chock full of valuable insights and actionable advice for navigating your role, your org, and carving out your career path—all delivered in Tanya’s trademark witty, insightful, and down-to-earth style. This book is a masterpiece.
Katie Sylor-Miller, senior staff frontend architect, Etsy
If you’re a senior engineer wondering what the next level is—a staff-level engineer or a manager of staff engineers—this book is for you. It covers so many of the things no one tells you about this role—things that take long years, even with great mentors, to discover on your own. It offers observations, mental models, and firsthand experiences about the staff engineer role in a more distilled way than any other book has covered before.
Gergely Orosz, author of The Pragmatic Engineer
The Staff Engineer’s Path
A Guide for Individual Contributors Navigating Growth and Change
Tanya Reilly
The Staff Engineer’s Path
by Tanya Reilly
Copyright © 2022 Tanya Reilly. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com.
Acquisitions Editor: Melissa Duffield
Development Editor: Sarah Grey
Production Editor: Elizabeth Faerm
Copyeditor: Josh Olejarz
Proofreader: Liz Wheeler
Indexer: Sue Klefstad
Interior Designer: Monica Kamsvaag
Cover Designer: Susan Thompson
Cover Art Creator: Susan Thompson
Illustrator: Kate Dullea
September 2022: First Edition
Revision History for the First Edition
2022-09-20: First Release
See http://oreilly.com/catalog/errata.csp?isbn=9781098118730 for release details.
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. The Staff Engineer’s Path, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc.
The views expressed in this work are those of the author, and do not represent the publisher’s views. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.
978-1-098-11873-0
[LSI]
Foreword
When I wrote The Manager’s Path in 2016, I had many goals. I wanted to share lessons I had learned growing up as a manager. I wanted to show those who were interested in becoming managers what the job would be like. And I wanted to force a reckoning across the industry that we needed to expect more from our managers, and that the managers we were currently promoting often did not have the right balanced focus of people, process, product, and technical skills to do the job well. In short, I wanted to correct what I saw as a cultural failing in tech: to both take management seriously as a critical role and to discourage it from being the default path for ambitious engineers who want to grow their careers.
I would say that I partially succeeded. Every time someone tells me they read my book and decided not to become a manager, I do a little victory dance. From that perspective, at least some people read my book and realize that this path isn’t for them. Unfortunately, the alternative path of career growth for the individual contributor, the staff+ engineering path, has lacked a similar guidebook. This lack has led to many choosing to follow the management path despite knowing they would rather not have the responsibility for larger and larger groups of people, because they cannot see another way forward. This is a great frustration for engineers and managers alike: most managers want to have more strong staff+ engineers in their organizations but don’t know how to cultivate them, and many engineers want to stay on that path but see no realistic options beyond going into management.
One of the core challenges of the staff+ engineering path is the unspoken expectation that part of being qualified to be on that path is figuring out how to climb it without much in the way of directions. If you were destined to be a staff+ engineer, conventional wisdom argues, you would figure out how to get there yourself. Needless to say, this is a frustrating and bias-ridden approach to career development. As more and more companies realize the need for staff+ engineers, we as an industry cannot afford to maintain a mysticism about the staff+ engineering career path that ignores the underlying skills that lead to successful technical leaders.
With this in mind, you can imagine how thrilled I felt when Tanya Reilly came up with a proposal for a book about career growth as a staff engineer, filling in the missing half of the career ladder that my book left unexplored. I know Tanya from her writing and speaking about technical leadership, and it is obvious that she wants to correct the cultural failings of the tech industry’s approach to staff+ engineering in the same way that I wanted to correct the cultural failing in the tech industry’s approach to management. Namely, Tanya wants to address the overfocus on coding and technical contributions and the lack of clarity around the skills that allow strong engineers to become successful multipliers without needing to manage people.
In this book, Tanya has stepped up to the task of articulating these underlying skills that are so crucial for successful staff+ engineers. She provides a framework that shows how, using the pillars of big-picture thinking, execution, and leveling up others, you can build impact that goes beyond your individual hands-on contributions.
Reflecting the multifaceted nature of the staff+ engineering path, Tanya does not try to dictate the precise mix of skills needed at each level above senior engineer. Instead, she wisely focuses on how to build out these pillars from wherever you are today. From developing technical strategy to leading big projects successfully and going from mentor to organizational catalyst, this book takes you through these critical pillars and shows how to increase your impact on the success of your company beyond writing code.
There’s only one person in the driver’s seat for your career, and that person is you. Figuring out your career path is one of the great oppo
Camille Fournier
Author, The Manager’s Path
Editor, 97 Things Every Engineering Manager Should Know
Managing Director, JP Morgan Chase
Board Member, ACM Queue
New York, NY, September 2022
Introduction
Where do you see yourself in five years? The classic interview question is the adult equivalent of “What do you want to be when you grow up?”: it has some socially acceptable answers and a long enough time horizon that you don’t need to commit.1 But if you’re a senior software engineer looking to keep growing in your career, the question becomes very real.2 Where do you see yourself going?
Two Paths
You may find yourself at a fork in the road (Figure P-1), two distinct paths stretching ahead. On one, you take on direct reports and become a manager. On the other, you become a technical leader without reports, a role often called staff engineer. If you really could see five years ahead on both of these paths, you’d find that they have a lot in common: they lead to many of the same places, and the further you travel, the more you’ll need many of the same skills. But, at the start, they look quite different.
Figure P-1. A fork in the road.
The manager’s path is clear and well traveled. Becoming a manager is a common, and perhaps default, career step for anyone who can communicate clearly, stay calm during a crisis, and help their colleagues do better work. Most likely, you know people who have chosen this path. You’ve probably had managers before, and perhaps you have opinions about what they did right or wrong. Management is a well-studied discipline, too. The words promotion and leadership are often assumed to mean “becoming someone’s boss,” and airport bookshops are full of advice on how to do the job well. So, if you set off down the management path, it won’t be an easy road, but you’ll at least have some idea of what your journey will be like.
The staff engineer’s path is a little less defined. While many companies now allow engineers to keep growing in seniority without taking on reports, this “technical track” is still muddy and poorly signposted. Engineers considering this path may have never worked with a staff engineer before, or might have seen such a narrow set of personalities in the role that it seems like unattainable wizardry. (It’s not. It’s all learnable.) The expectations of the job vary across companies, and, even within a company, the criteria for hiring or promoting staff engineers can be vague and not always actionable.
Often the job doesn’t become clearer once you’re in it. Over the last few years, I’ve spoken with staff engineers across many companies who weren’t quite sure what was expected of them, as well as engineering managers who didn’t know how to work with their staff engineer reports and peers.3 All of this ambiguity can be a source of stress. If your job’s not defined, how can you know whether you’re doing it well? Or doing it at all?
Even when expectations are clear, the road to achieving them might not be. As a new staff engineer, you might have heard that you’re expected to be a technical leader, make good business decisions, and influence without authority—but how? Where do you start?
The Pillars of Staff Engineering
I understand that feeling. Through 20 years in the industry, I’ve stayed on the staff engineer’s path, and I’m now a senior principal engineer, parallel to a senior director on my company’s career ladder. While I’ve considered the manager’s path many times, I’ve always concluded that the “technical track” work is what gives me energy and makes me want to come to work in the morning. I want to have time to dig into new technologies, deeply understand architectures, and learn new technical domains. You get better at whatever you spend time on, and I’ve consistently wanted to keep getting better at technical things.4
Earlier in my career, though, I struggled to make sense of this path. As a midlevel engineer, I didn’t understand why we had levels above “senior”—what did those people do all day? I certainly couldn’t see a path to those roles from where I was. Later, as a new staff engineer, I discovered unspoken expectations and missing skills I didn’t know how to describe, much less act on. Over the years, I’ve learned from many projects and experiences—both successes and failures—as well as from phenomenal colleagues and peers in other companies. The job makes sense now, but I wish I’d known then what I know now.
If you’ve taken the staff engineer path, or are considering it, welcome! This book is for you. If you work with a staff engineer, or manage one, and want to know more about this emerging role, there’ll be a lot here for you too. In the next nine chapters I’m going to share what I’ve learned about how to be a great staff engineer. I’ll warn you right now that I’m not going to be prescriptive about every topic or answer every question: a great deal of the ambiguity is inherent to the role, and the answer is very often “it depends on the context.” But I’ll show you how to navigate that ambiguity, understand what’s important, and stay aligned with the other leaders you work with.
I’ll unpack the staff engineer role by looking at what I think of as its three pillars: big-picture thinking, execution of projects, and leveling up the engineers you work with.
Big-picture thinking
Big-picture thinking means being able to step back and take a broader view. It means seeing beyond the immediate details and understanding the context that you’re working in. It also means thinking beyond the current time, whether that means initiating yearlong projects, building software that will be easy to decommission, or predicting what your company will need in three years.5
Execution
At the staff level, the projects you take on will become messier and more ambiguous. They’ll involve more people and need more political capital, influence, or culture change to succeed.
Leveling up
Every increase in seniority comes with more responsibility for raising the standards and skills of the engineers within your orbit, whether that’s your local team, colleagues in your organization, or engineers across your whole company or industry. This responsibility will include intentional influence through teaching and mentoring, as well as the accidental influence that comes from being a role model.
We can think of these three pillars as supporting your impact like in Figure P-2.
Figure P-2. Three pillars of staff engineer roles.
You’ll notice that these pillars sit on a solid foundation of technical knowledge and experience. This foundation is critical. Your big-picture perspective includes understanding what’s possible and having good judgment. When executing on projects, your solutions will need to actually solve the problems they set out to solve. When acting as a role model, your review comments should make code and designs better, and your opinions need to be well thought out—you need to be right! Technical skills are the foundation of every staff engineer role, and you’ll keep exercising them.
But technical knowledge is not enough. Success and growth at this level means doing more than you can do with technical skills alone. To become adept at big-picture thinking, execute on bigger projects, and level up everyone around you, you’re going to need “humaning” skills, like:
Communication and leadership
Navigating complexity
Putting your work in perspective
Mentorship, sponsorship, and delegation
Framing a problem so that other people care about it
Acting like a leader whether you feel like one or not6