I am a Staff Software Engineer, and I am always looking to grow in my career and improve at my job. I picked up The Staff Engineer’s Path to understand what skills I already have, what I am missing, and what I should focus on to become a better fit for the Staff Software Engineer role.
Learnings from The Staff Engineer’s Path
The Staff+ Engineer role is naturally ambiguous, but this book provides a lot of useful information for current staff engineers and those who want to become one. It helps you define what the role means to you and how to shape it to fit your strengths.
The book is divided into three main parts, which the author calls pillars: big-picture thinking, project execution, and leveling up the engineers around you.
I am not listing everything covered in the book, but rather focusing on what applies to my situation. In this case, I am more interested in the behaviors and characteristics of a Staff Engineer than the details of how they work for now.
Staff engineering is a leadership role
The first thing to understand is that staff engineering is a leadership position. You will have the same seniority as a team manager, but instead of leading people, you lead through technical expertise. This means you are expected to be “the grown-up in the room.”
“Whenever there’s a feeling of “someone should do something here,” there’s a reasonable chance that the someone is you.”
Understand the big picture
One of the key responsibilities of a Staff Engineer is seeing the bigger picture.
You need to understand trade-offs, costs, risks, and long-term impact. It is important to avoid the local maxima problem, where a decision benefits one team but harms the company as a whole.
Just as important as understanding the present is anticipating how your decisions will affect the future.
“At staff+ levels, you’re often trying to find a balance between seeing the big picture and accepting pragmatic local solutions”
Be a role model
As mentioned earlier, you are expected to be the “adult in the room.” People will pay attention to not just what you say but also what you do. The way you work will set the standard for others. If you do not follow best practices, you cannot expect others to follow them either.
“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!”
Have high standards for quality
To be an effective role model, you need to maintain high standards of engineering quality.
Your code and design reviews should not only improve the work itself but also help your colleagues learn. You need to understand trade-offs, ask the right questions, seek help when needed, and be well-informed.
“Having high standards means making your work as good as it can be. Look for opportunities to put aside your ego and ask someone else to help make your work better.”
Optimize for maintenance, not just creation
Building something new is exciting, but most software exists in maintenance mode for far longer than it takes to create.
“Software gets maintained for much longer than it takes to create it, so don’t build code that’s hard to maintain. Make your systems observable: easy to inspect, analyze, and debug. And keep them simple”
Take ownership
As a senior engineer, you are responsible for the whole problem, not just when things go well. If you make a mistake, own it and learn from it.
“You’re not running someone else’s project for them: it’s yours and you don’t passively let it sink or swim.”
Help others grow
You are responsible for improving not just your project but also your team. You should actively look for opportunities that help your colleagues grow.
Since you set expectations through your actions, lead by example.
When reviewing code, make your comments useful and explain your reasoning. When writing tests, set a high standard. When making proposals, clearly outline trade-offs. Everything you do impacts your team, for better or worse.
Learn to prioritize
You cannot do everything. As your career progresses, more responsibilities will come your way, but you will still have only so much time.
“Every time you choose what to work on, you’re also choosing what not to do, so be deliberate and thoughtful about what you take on.”
Your job is to help the organization succeed, not to solve every problem yourself. Focus on what truly needs your attention and delegate where possible. Since you are helping your teammates level up, you can share responsibilities and achieve more together.
Write things down
According to the author, the number one tool for success is writing things down.
Document your decisions, the trade-offs you considered, and how you arrived at your conclusions. It does not have to be a long document—even a short summary helps.
“Write things down. Be clear and opinionated. Wrong gets corrected, vague sticks around.”
The job is supposed to be difficult
If you ever feel like the job is hard, that is because it is meant to be. Learning and dealing with unknowns is uncomfortable, but you are not alone.
“When it gets difficult, everyone needs to know that the difficulties are expected, and that they can be overcome.”
It is normal to feel overwhelmed at times. You are tackling difficult problems.
“If it wasn’t messy and difficult, they wouldn’t need you.”
Choose what is important to you
As a Staff+ Engineer, you will often choose your own work. This means you need to be mindful of what kind of work energizes you and what drains you.
“Choosing projects that support your growth, reputation, and happiness can feel a little selfish in the short term, but your needs are important, and you’re the person with the most incentive to watch out for them.”
At the end of the day, your career is your responsibility.
“There are a lot of options about what to optimize for. Know what’s important to you. Be deliberate.”
Final Thoughts
The Staff Engineer’s Path provides valuable insights into what it takes to succeed in a Staff+ engineering role. It highlights the importance of leadership, big-picture thinking, high standards, and mentorship. The book emphasizes that success in this role is not just about technical skills but also about ownership, prioritization, and the ability to level up those around you.
At the core, being a Staff Engineer means making thoughtful decisions, taking responsibility, and continuously growing. It is a challenging role, but one that can be deeply rewarding.
Favorite quotes
These are my 5 favorite quotes from the book:
- “There’s only one person in the driver’s seat for your career, and that person is you.”
- “Being a senior engineer means having a growth mindset and a drive to improve.”
- “Your organization, codebase, and production environment probably existed before you joined them. They’ll probably exist after you move on. Don’t optimize for now at the cost of future velocity or engineering ability. It’s OK to plant some seeds that you won’t personally see grow.”
- “Write things down. Be clear and opinionated. Wrong gets corrected, vague sticks around.”
- “There’s a Martin Fowler quote that I love: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand””.
These are my learnings from the book The Staff Engineer’s Path: A Guide for Individual Contributors Navigating Growth and Change written by Tanya Reilly.
Happy career!