Post

Lessons learned from Staff Engineer path

Cover Large Web Apps

Introduction

I have been working as a software engineer for more than 10 years, and I have seen many people grow in their careers. Some of them have become Staff Engineers, and I have always been curious about how they did it. I have read many articles and books about this topic, and I want to share with you some of the lessons I have learned from the Staff Engineer path by Tanya Reilly.

The two paths

Before to start we need to understand there are 2 paths to grow in your career when you are a software engineer:

  • The technical path: It is for people who want to focus on technical skills and become experts in a specific area.
  • The management path: It is for people who want to focus on leadership skills and manage teams.

The book is divided in 3 sections (pillars) and 9 chapters, so I’ll try to summarize the main points of each chapter based on this order.

Staff Engineer Overview

The Big Picture: Strategic View

Important questions

  • Why would an organization want very senior engineers to stick around?
    • Not all organizations need very senior engineers, but some do when they grow and need to ensure the culture and the technical decisions are aligned with the company goals.
  • Does title matter in the career path?: Yes, it does.
    • Helping people understand that they are progressing.
    • Vesting authority in those people who might not automatically receive it
    • Communicating an expected competency level to the outside world
  • Why Do We Need Engineers Who Can See the Big Picture?
    • Any engineering organization is constantly making decisions, and good decisions need context that experimented engineers can provide.
  • Why Do We Need Engineers Who Lead Projects That Cross Multiple Teams?
    • Because the projects that cross multiple teams are the most complex and require the most coordination and communication. One way to keep a project moving is to have someone who feels ownership for the whole thing, rather than any of its individual parts.
    • TPMs are responsible for delivery, not design, and not engineering quality. TPMs make sure the project gets done on time, but staff engineers make sure it’s done with high engineering standards.
  • Why Do We Need Engineers Who Are a Good Influence?
    • Culture and role models move the organizations, so, no matter what the standards say, if the most senior engineers don’t write tests, you’ll never convince everyone else to do it.
    • If a company’s most senior engineers just write code all day, the codebase will see the benefit of their skills, but the company will miss out on the things that only they can do. This kind of technical leadership needs to be part of the job description of the person doing it.
  • What is a Staff Engineer?
    • Has a deeply technical knowledge/experience, autonomy (and with a great power comes great responsibility), an ability to communicate often and well, and sets the technical direction of the company.
    • A Staff Engineer is a leadership role, not a management role. They are responsible for the technical direction of the company, and they are expected to be able to make decisions that impact the company in a positive way.
    • Usually Staff Engineers don’t have direct reports, however they influence technically in those managers who do.
  • What is the scope?
    • It is important to identify the right scope for the Staff Engineer according to the context.
    • A scope too broad will generate: Lack of impact, becoming a bottleneck, decision fatigue, missing relationships, and lack of focus and burnout.
    • A scope too narrow will generate: Lack of impact, opportunity cost, overshadowing other engineers, overengineering.

Staff Skills

  • Which skills do you need at your job?
    • There is a combination of technical, leadership, communication, project management and product skills that are required to be successful in this role.
  • What are you going to work on?
    • The work that’s most important will often be the work that nobody else sees.

Three Maps

Execution: Tactical View

Leveling up: Leadership and Influence

Quotes

“So you know you’re supposed to be working on things that are impactful and valuable. But where do you find this magic backlog of high-impact work that you should be doing?” Her answer: “You create it!” - Sabrina Leandro

“To get better answers you need to ask better questions, and to get better solutions you need to ask more about the problem/context.”

“If anything can be your problem, then it’s easy for everything to become your problem.”

“If you always have time to answer all of the questions and take on all of the tricky problems, nobody else gets experience in doing that.”

This post is licensed under CC BY 4.0 by the author.