What’s the Role of a Staff Software Engineer? (2022)

Based on books, observations, and podcasts

What’s the Role of a Staff Software Engineer? (1)

Throughout the past six months, much consideration has gone toward my career progression. Early in 2021, I was promoted to the Senior Software Engineer title. This was a warmly welcome milestone for me. With this under my belt — reaching “the career level” for software engineers — a new question sprung to mind: where do I want to go next on the ladder?

Whilst management is not ruled out, it’s also not my first preference. I love to be hands-on with the latest technology, dive into the problems facing customers and colleagues alike, and support other engineers in their work. If management isn’t for me, where should my ambitions lie next on the Individual Contributor (IC) path after becoming a Senior Software Engineer?

This question remained unanswered for a couple of months. The title “Principal Engineer” floated around for a while as a potential candidate, where instead of influencing a couple of teams, I may instead deliver technical guidance to a full engineering department. Whilst this sounds fantastic, it would be a huge leap to progress from influencing an individual “two pizza” size team to a group of 150+ engineers.

Later I stumbled upon the title “Staff Engineer”, which one of my colleagues recently promoted into. I started digging further into this, and over the course of a few months, I learned a tremendous amount. If like me, Staff Engineering is new to you, then I hope this blog post serves as a valuable introduction. Better still, if you already know how Staff Engineers operate, I would love to hear how your insights align with or differ from my own.

Reading more and more into the “Staff Engineer” role, it became quickly apparent that the answer varies wildly between organizations. Roles up to and including Senior Software Engineer are common across the industry, sharing many similarities. Staff Software Engineer on the other hand is fairly new, so it remains an evolving title with room for greater consistency.

Whilst Senior Engineers operate within one or two teams, and Principal Engineers usually deliver guidance across engineering departments, Staff Engineers tend to fall somewhere between this: shaping the technical direction of domains spanning several teams. Example domains include data analytics, front-end development, and machine learning.

Exceptions do occur, where a Staff Engineer may shape the technical direction across an entire department. In such cases, they normally follow a more hands-on approach compared to Principal Engineers, working closer with engineering teams and more often contributing code to team projects. Like Principal Engineers, they delegate their work — allowing engineers of all levels to strengthen skills and share technical knowledge within their teams.

Staff Engineers normally report directly to Directors of Engineering, or equivalent technical managers, whereas Senior Engineers often report to technical leads or Engineering Managers within teams. Priorities between Staff Engineers and their line managers strongly align: if the manager has specific engineering targets, then the Staff Engineer makes sure their own goals and that of their teams align with these ambitions. Furthermore, Staff Engineers actively engage with their managers — reducing their manager’s workloads and freeing them to focus on their highest priority tasks.

Shifting between teams and guiding technical direction, Staff Engineers usually contribute toward multiple projects concurrently. With regular context switching expected, a question which may not be surprising to hear time and time again put to Staff Engineers is “how often do you code?”. The answer to this question is the same as the last: it depends.

In some companies, Staff Engineers code regularly. This rings particularly true for start-ups and small businesses, where a single contributor may have a huge influence on the software developed. Conversely, this holds true for some larger companies.

In the case of Netflix, Staff Engineers code regularly because of the business’ structuring and hiring strategy: Netflix only employs highly experienced or talented engineers that would be recognised as Senior Software Engineers elsewhere in the industry. Therefore engineers in more senior Netflix roles like Staff also code on a regular basis.

In other organisations, Staff Engineers code rarely, or not at all. Given their scope of influence across teams, more time may be spent architecting software, documenting processes, or pursuing proof of concepts — investing time to explore new tools and share findings for consideration in upcoming projects. Like coding, all the other aspects of the Staff Engineer position take varying proportions of time depending on the company and key objectives.

As with any IC role, a key challenge is to guide the technical direction of teams without any line management responsibilities: suggestions may be made on how and where to work, but this is difficult to enforce. Staff Engineers need to establish trust with their teams so that their advice is valued and followed through. This is earned through experience, clear communication, and solid arguments to back up the suggestions given.

The technical challenges Staff Engineers face will be considerably more ambiguous than what they experienced previously. Whilst Senior Software Engineers usually start with well-defined problems within a team, set out by technical leaders and Product Managers, Staff Engineers are tasked with identifying problems themselves that need to be solved. In addition to this, Staff Engineers usually manage their own work, so time boxing different avenues and delegating follow-up tasks is vital to success.

Measuring success in the role will also prove a challenge. Usually, engineers working within a team use tickets to track their progress, recognising accomplishments by marking these tickets “done”. In the Staff capacity, success will generally be measured through longer-term accomplishments and how much value they and their teams deliver to customers over time.

Last, but not least, is the change in working relationships. Shifting from one or two tight-knit teams of engineers to an independent position across teams makes it harder to maintain a set of strong work connections. A couple of Staff Engineers have described the transition as a more lonely experience. Whilst some may have no problem with it, others (including me) will definitely want to consider this feedback going into a Staff Engineer post.

A recurring theme so far in this blog post is the variation in Staff Engineer expectations between organisations. Wherever it piques your interest, it’s important to develop a clear understanding of the role. If this applies within your current company, be direct with management, make sure their definition of Staff Engineer is desirable to you, then formulate a plan to reach that title.

Support from management and Staff Engineer colleagues will go a long way toward any successful progression plan. Given Staff Engineers usually report to Directors of Engineering, or similar levels of technical management, having the backing of at least one Director would be particularly valuable. Try to set up a 1–2–1 with a Staff Engineer (if applicable) or another senior technical engineer in the company. Make sure to check-in regularly with them and review progress against your progression plan targets.

Many Staff Engineers talk of a “Staff Engineer project” they undertook before receiving the promotion: leading something that delivered huge value to customers, or solved an important problem, which involved collaboration across multiple teams. Whilst this is common, not all companies expect this, so it would be worth clarifying requirements in progression conversations.

Two common themes emerge in the type of engineer to reach Staff level: depth and breadth. Some specialise in particular fields and gain recognition as Subject Matter Experts (SMEs), whereas others gather higher-level knowledge across companies and build a reputation through their range of experiences. Either avenue works – determine which is best for you.

Throughout the past few months, a few references have been key to my own understanding of the Staff Engineer role. First is “Staff Engineer: Leadership Beyond the Management Track” by Will Larson. This is a relatively new book, following from “The Elegant Puzzle: Systems of Engineering Management”, where Will gives his own insight into the Staff Engineer title before sharing a collection of interviews conducted with Staff+ engineers. This I would highly recommend reading.

Inspired by Will’s book, the StaffEng podcast is my next recommendation, delivered by David Noël-Romas and Alex Kessinger. In this series, David and Alex interviewed Staff+ engineers to hear and better understand the experiences of Staff Engineering. Whilst often we hear the recurring answer “it depends”, it’s great to learn how engineers followed different career paths to become Staff Engineers, and how their day-to-day routines vary considerably based on the needs of their organisations.

Last, but not least, I recommend reaching out to Staff Engineers within your own circles. A particular shout-out is earned to my colleague, Tudor Cojocaru, who recently took on the position of Staff Engineer at Trustpilot. Tudor kindly gave their time to recommend the resources I share here, as well as reviewing drafts of this blog post.

Hopefully this serves as a useful reference for those aspiring to reach the Staff Engineer level. Evidently it manifests in many forms – breadth or depth of knowledge, predominantly coding or documenting, and influencing domains or entire departments. If this insight differs from your own, or you would like to share further reading material, do let me know.

Since writing this blog post, a new book was released in autumn 2022 which I would highly recommend in addition to aforementioned material: “The Staff Engineer’s Path” by Tanya Reilly. Focusing on three pillars of “big picture thinking”, “project execution”, and “levelling up”, this is a valuable resource for all engineers — particularly those wishing to pursue Staff+ engineering opportunities.

Top Articles

Latest Posts

Article information

Author: Geoffrey Lueilwitz

Last Updated: 07/30/2022

Views: 5786

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.