What is a Staff Engineer?
"I've worked with a couple of Staff Engineers on different teams in the past and I've seen them do different things, but I've not been able to pin down exactly what they do."
I get this question quite frequently. Sometimes from engineers looking to elevate their roles. At other times, team members reach out looking to learn how they could get the most value from Staff Engineers on the teams. It is a complicated question because a lot of ambiguity exists in the role. Different engineers have distinct interpretations, so you may get a significantly different answer depending on who you ask. With that in mind, I wanted to capture my thoughts on the subject. It's deep, complex, and nuanced. As a result, I'm likely to be as successful as someone attempting to unravel the mysteries of Engineering Management [1] in a single blog post.
To lay some foundation, I'll be describing a class of engineers as Staff Plus (Staff+). These engineers operate above the Senior level. However, they do not assume the role of an Engineering Manager. These engineers often aim to stay within the technical track of an organization's career ladder. While there is currently no universally accepted title for this role [2], successful individuals I've seen in this role tend to share notable common traits
- They are proven experts in their area of expertise
- They have a lot of experience leading teams toward shipping products
Characterizing a Staff+ Engineer
One of my favorite ways to characterize the Staff+ role is by using the "4 key skills [3] every job needs". It provides a solid framework that we can use to determine the distribution of skills one would need to be successful in the role.
Core Technical Skill
This is the foundational skill needed to execute the role effectively and one that the Staff+ Engineer should be highly proficient in. In my experience, this level requires deep technical knowledge in some specialty[4], and it is often accompanied by a wide breadth of knowledge and experience working with multiple different systems within multiple different environments[5]. This is the wealth of experience that the Staff+ Engineer reaches into to solve complex technical problems that contribute toward furthering their team's objectives. While I cannot overstate the importance of this skill as a foundational element of the role, it's not enough to be successful on its own. It must be fluidly combined with other skills to empower the Staff+ Engineer to fluidly adapt to different roles on the team, some of which I will cover below.
Product Management
A Staff+ Engineer relies on this skill to determine what should be built as well as why. At this level, the Staff+ Engineer should be capable of looking at a team, project, and/or organization's objectives, gaining some understanding of its history, and developing a technical vision[6] to meet those objectives[7]. A skilled Staff+ Engineer should be able to communicate this vision to their stakeholders, as well as other parties that may have a stake in the outcome, and get buy-in from all parties, especially the engineering team that will be responsible for building the solution. This role may sometimes manifest as a Technical Architect[8].
Project Management
This skill helps the Staff+ engineer break down large work items into smaller more manageable tasks for more junior members of the team, create a plan/timeline for completion that can be tracked, as well as manage uncertainties/risks that may deter completion of the work. Proficiency in this skill requires a mastery of basic project management fundamentals [9]. This does not mean that Staff+ Engineers should be expected to replace project managers; rather these roles should be seen as complementary.
People Management
This includes the ability to rally and lead a team toward completing a set of objectives. I've heard this fondly described as "herding cats"[10]. While I don't think a Staff+ engineer in this role is required to assume full people management responsibilities (that's what Managers are for), there is notably a lot of overlap. For example, I would expect an engineer operating at this level to be an effective mentor, able to provide technical and a reasonable extent of career guidance. This skill also requires having a solid awareness of the team's composition. This includes the skills makeup, strengths as well as growth areas. At this level, the Staff+ engineer should be able to use this awareness to elevate the effectiveness of the team through coaching and mentoring.
You're rubber, I'm glue
"I feel like they do a little bit of everything. They seem to be the go-to on the team when there's an issue. They are like a rock with all the answers!"
I've found that a key aspect of my day-to-day is autonomously combining these skills to fill roles that may find difficult to fill. It's often the less glamorous but high-value work that is required to build or maintain team momentum. This is sometimes described as "glue" work.
"Every senior person in an organisation should be aware of the less glamorous - and often less-promotable - work that needs to happen to make a team successful. Managed deliberately, glue work demonstrates and builds strong technical leadership skills. Left unconscious, it can be career limiting."[11]
Doing glue work often requires a cross-functional grasp of how the team operates as well as deep insight into areas of the team that may require optimization. Here are a couple of scenarios that exemplify glue work,
- You notice that a couple of email threads between your engineers and a 3rd party vendor have been running long. They seem to be talking past each other without making any headway. You decide to help improve the situation by scheduling a couple of meetings to help foster alignment and develop a culture of partnership between the teams.
- You notice an up tick in the number of bug tickets being written about a feature in the product. After a brief investigation, you find that area of the code lacks automated tests because of a dependency on a third-party framework and will require some rework to make it testable. The development team needs some coaching on how to handle these sorts of problems in the future and a plan needs to be drafted and communicated to the leadership team. There's some upfront cost but will pay for itself in fewer bug tickets down the road.
- A team member has been struggling with a new aspect of their assignment. They are unsure of what specific skills they need to learn to be most effective. So you help by offering some light coaching by offering some resources that help them get up to speed quickly as well as setting up 1:1s where they can ask questions and get feedback.
- Your team was asked to build a tool that aggregates data for marketing and Business Intelligence (BI). The requirements were vague but enough for the engineering team to work on. Noticing the potential for improvement, you schedule meetings with representatives from the marketing and BI team to better understand how the aggregated data will be used to provide a better product.
While one could argue that this work has a high-value impact on the team, it may be tough to justify having the Staff+ Engineer function doing any one of those things in the long term. As a result, a crucial part of the role is leveling up the team such that they may take over such responsibilities such that the Staff+ Engineer may shift their focus towards tackling other priorities. It may be by coaching an existing team member to own one of those tasks or working with the leadership team to staff a new permanent owner.
Conclusion
"I forget what was said exactly, but [Staff+ Engineer] spoke up and said something with clarity and confidence that changed the conversation to be much more productive. They were thoughtful with their comments and have a keen ability to drive toward clarity in a room of swirling indecision."
I've only scratched the surface here, but hope I've captured some specific nuances in the role. Ultimately I think a Staff+ Engineer should be able to use their autonomy and influence within an organization and turn that into meaningful impact and value in service of a team or organization's objectives.
Here are a couple of great resources that I recommend if you are interested in learning more.
- The Staff Engineers Path by Tanya Reilly
- Staff Engineer: Leadership beyond the management track by Will Larson
To wrap things up, I'm adding an assorted collection of questions I've gotten recently. This is either because I couldn't figure out a way to answer it directly within the context of this blog post or because I thought it may add additional perspective to address the question directly.
FAQ
-
Does Staff+ Engineering require mentoring responsibilities?
Yes. I think this is a non-negotiable part of the role. The ability to elevate a team's capability is predicated on being a good mentor. In essence, the ability to identify strengths and growth areas on the team. Additionally, creating opportunities for team members to learn and grow.
-
What kinds of teams need a Staff+ Engineer?
A Staff+ Engineer can exist on any team in theory. However, their role will depend on the specific team composition. The Staff+ Engineer may be the main Individual Contributor (IC) on a small team working on a proof of concept for some experimental technology, while a Staff+ Engineer may act as a technical lead on a larger team trying to build long-term momentum. The opportunity cost is the Staff+ Engineer's time and must be considered when making staffing decisions. Could a Senior Engineer be sourced to fill the IC role? This would free up the Staff+ Engineer to work on more complex or higher value problems for the project.
-
What differentiates senior levels of Staff Engineers?
The main differentiator is their scope of impact. More senior Staff+ Engineers should be able to have and manage an impact on an organization or company, in some cases an industry at large. Being able to build and leverage their influence to guide a technical direction is a skill in and of itself
-
Hmm... It looks like you went over a lot of general points but didn't address a lot of specific expectations of the role
This is because the nature of the role changes with each individual and circumstance. This means that being able to adapt to each circumstance is important. That being said, I think the most important thing is that the Staff+ Engineer can turn autonomy into meaningful impact at a scale proportional to their role/level.
-
I stayed on the technical track with I got promoted because I wanted to continue to write code. How do I balance leadership responsibilities but still retain coding in my day-to-day?
I would argue that at this level, your leadership skills are likely your most valuable asset. Trying to keep hands-on-keyboard writing code a major part of your role may not be using your talents to their full potential. However, your day-to-day should be determined by the team/project needs while considering that time dedicated towards work that an IC would typically do comes at the cost of glue work and other higher-level work that may require your attention. This is not to say that you should be completely removed from the code avenues such as working on future work such as PoCs or lower priority features as you have availability might be great ways to keep you engaged in writing code.
Chegini, A. (2022) The art of engineering management, dzone.com. DZone. Available at: https://dzone.com/articles/the-art-of-engineering-management (Accessed: January 24, 2023) ↩︎
Some alternate titles I've encountered include Lead Engineer/Developer, Principal/Distinguished Engineer, Technical Fellow, etc... ↩︎
Zunger, Y. (no date) Role and Influence: The IC trajectory beyond Staff, Leaddev.com. Available at: https://leaddev.com/leaddev-live/role-and-influence-ic-trajectory-beyond-staff (Accessed: January 24, 2023). ↩︎
Woodhams, B. (2018) Balance between breadth and depth of learning software development, candidates. Available at: https://hired.com/blog/candidates/balance-breadth-depth-learning-software-development/ (Accessed: January 24, 2023). ↩︎
This may be different in your organization and your specific personality ↩︎
What do Staff engineers actually do? (2020) Lethain.com. Available at: https://lethain.com/what-do-staff-engineers-actually-do/ (Accessed: January 24, 2023). ↩︎
Micol, D. (2021) Writing our 3-year technical vision, Engineering Blog. Available at: https://www.eventbrite.com/engineering/writing-our-3-year-technical-vision/ (Accessed: January 24, 2023). ↩︎
Rethinking the role of the technical architect (2021) Lucidchart. Available at: https://www.lucidchart.com/blog/defining-technical-architects (Accessed: January 24, 2023). ↩︎
Joubert, S. (2019) Project management skills, Northeastern University Graduate Programs. Available at: https://www.northeastern.edu/graduate/blog/essential-project-management-skills/ (Accessed: January 24, 2023). ↩︎
Tech lead engineer - herding cats & drinks - Front End Happy Hour (no date) Frontendhappyhour.com. Available at: https://www.frontendhappyhour.com/episodes/tech-lead-engineer-herding-cats-&-drinks/ (Accessed: January 25, 2023). ↩︎
Being Glue — (no date) No Idea Blog. Available at: https://noidea.dog/glue (Accessed: January 25, 2023). ↩︎