The Staff Engineer's Path

The Staff Engineer's Path

Book Summary

Job titles do matter

What is a staff engineer

Staff engineers should do this big-picture, big-project, good-influence stuff, but here’s the problem: they can’t do it on top of the coding workload of a senior engineer. Any hour you’re writing strategy, reviewing project designs, or setting standards, you’re not coding, architecting new systems, or doing a lot of the work a software engineer might be evaluated on. 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. It isn’t a distraction from the job: it is the job.

What is my job?

Understanding your role

Where in the organisation you sit.

Reporting chains will affect the level of support you receive, the information you’re privy to, and, in many cases, how you’re perceived by colleagues outside your group.

Reporting High vs Reporting Low

Reporting to a higher-level manager, like a director or VP, offers a broad perspective and valuable learning opportunities from experienced leaders. However, you may get less time and attention from them, potentially impacting support and advocacy for your work. Conversely, reporting to a lower-level manager provides more focused attention and better advocacy, but may limit your influence within the organization and access to broader information. It’s important to balance these dynamics based on your career goals and ensure alignment with your manager's priorities. If misalignment persists, consider advocating for a reporting change.

What's your scope

Your reporting chain influences the scope of your responsibilities and the areas you focus on, even without a formal leadership role. Within your scope, you should have a say in both short-term and long-term goals, be aware of major decisions, and help guide the growth of other engineers. While your manager may expect you to focus mainly on their domain, you might also be involved in broader organizational challenges. Be clear about your scope but remain adaptable, especially during crises, as being a staff engineer often means stepping beyond your defined responsibilities to address urgent issues.

A scope too broad

When your scope is too broad or undefined, several issues can arise:

It’s better to focus on a specific area, build influence, and achieve successes before moving on to new challenges. This approach ensures more meaningful impact and better work relationships.

A scope too narrow

Scoping yourself too narrowly as a staff engineer, such as being dedicated to a single team, has benefits but also risks:

While some projects are deep enough to justify this focus, it’s essential to be clear if you’re in such a space to ensure your skills are effectively used.

What shape is your role?

Four disciplines that are needed in any job in the world
The higher your level, the less your mix of these skills corresponds with your job title

The more senior you get, the more this becomes true, the more and more there is an expectation that you can shift across each of these four kinds of jobs easily and fluidly, and function in all rooms.

Pasted image 20241007090543.png

How much do you want (or need) to code?

As staff engineers advance in their careers, they might find themselves coding less and focusing more on broader responsibilities like architecture or influence. Some still contribute code daily, while others review code or take on smaller, less critical coding projects to stay sharp. If you need to be hands-on with code regularly, avoid roles that focus heavily on strategy or architecture, or have a plan to stay engaged with coding while managing larger responsibilities. This helps avoid getting distracted by coding tasks at the expense of addressing bigger challenges.

How’s your delayed gratification?

Coding has comfortingly fast feedback cycles: every successful compile or test run tells you how things are going. It’s like a tiny performance review every day! It can be disheartening to move toward work that doesn’t have any built-in feedback loops to tell you whether you’re on the right path.

What’s Your Primary Focus?

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

What's important?

Early in your career, if you do a great job on something that turns out to be unnecessary, you’ve still done a great job. At the staff engineer level, though, everything you do has a high opportunity cost, so your work needs to be important.

Know why the problem you’re working on is strategically important—and if it’s not, do something else.

What needs you?

Try to choose a problem that actually needs you and that will benefit from your attention