Skip to main content

1. Staff Engineer 101: You probably are one, you just don’t know it yet!

27 December 2021

1. Staff Engineer 101: You probably are one you just don’t know it yet!

“It depends” engineering lingo for: the answer is complicated

What is the definition of Staff engineer

Staff Engineer is a term that has been used mainly by the FAANG companies or similar highly tech focused companies. It is one of the steps you might take as your career progresses in software development.

FAANG — Facebook, Apple, Amazon, Netflix, Google

A standardised way to represent career progression for software engineers is:

Graduate → Junior → Mid → Senior

or a similar variation, sometimes some names would be different or there would be I,II,II levels as smaller steps within the wider name but thats pretty much the gist of it.

I am a Senior Engineer, now what?

When you reach Senior level you are normally faced with the question of:

Shall I pursue an Individual Contributor path or engage in Managing?

For many years and for companies outside the big tech, this question was not real, the path was just one: Managing. Team/Tech Lead manager was the next logical step for a senior to evolve.

Today, it’s clear that not everyone is good at managing people, more importantly not everyone is supposed to like it. We are constantly talking about being effective and using expressions like the now infamous “10x engineer”, yet we try to make people follow and act in standardised ways, but I digress.

Venn diagram that shows which areas tech careers are closer to.

If you decide to pursue an individual contributor path your career progression would look like:

Graduate → Junior → Mid → Senior → Staff → Principal → Distinguished

Again, this is not a standard so there might be some variations but Staff is the most common term for the next stage of a Senior engineer.

What are the common traits for a great Staff Engineer

The purpose of this article is not to discuss what a Staff Engineer is per se, that was already done by others at a greater scale. It’s not even to discuss the art of being a Staff Engineer that is also very well document by Will Larson in his “Staff Engineer — Leadership beyond the management track” (link).

We want to discuss which qualities a staff engineer should have that are useful and that seniors engineers might already have making them highly effective contributors.

Staff Engineer skills tree
  1. Assessing the efficiency of technologies
    - Do they impact the team’s quality and proficiency?
    - Are there concrete benefits of fully revamping the technologies list?
  2. Battle tested Architecture awareness
    - Are you pragmatic about your approaches?
    - Do you create working proof of concepts before implementing?
    - Is the impact of changes clear in your head?
  3. You are team upskill oriented
    - Do you spend time teaching peers how to learn by themselves?
    - Do you like to engage on technical discussions with other colleagues to understand their technical struggles?
  4. Strategical Thinking
    - Do you understand the impact your changes can have across the company?
    - Is there due diligence on understanding how technical changes alter/impact the business?
    -Are you aware and clear on the big picture of your software realm
  5. Proactively identify problems and bottlenecks
    - Are urgent interventions a metric you measure and act on?
    - Do you understand the fundamental issues that impact your area?
    - How frequently do you solve fundamental yet underlying problems?
  6. Love to solve technical problems
    - Can you ever walk away of a puzzle? How about something you cant quite understand from a technical standpoint?
    - Follow key tech leaders and be argumentative about their suggestions, do you question it or you take it as absolute?
  7. Team spirit
    - How much does coherence between individual across teams matter to you?
    - Do you try to see the other persons perspective both on technical and personal matters?
    - Do you participate and engage in discussions with other colleagues with different technical backgrounds?

Focus on the journey not the titles, set a new direction!

a road sign by roadtrafficsigns.com

Maybe you need to tick all the boxes on the list above and in some cases go even beyond this to be given the title. That’s beside the point, in a day to day development team if you are able to tick half of the boxes above, you are de facto an excellent individual contributor.

This is either because of the good code you write, the good practices you set and facilitate or because people can see you as a beacon of help. Having a few, some, a lot or all of the items listed above do help immensely any team no matter what level you are.

In a world where career progression matters more and more it is important to remind that having fun, enjoying what you do and sharing that joy with your colleagues will naturally deliver your next title while enjoying the ride and bringing value to your projects.

I personally live under the mantra:

Focus on the journey not the destination.

At craftable software this is one of our values, “Feel the breeze” means precisely that: enjoy your journey; your growth; your uniqueness and that will in turn deliver excellent results for your projects, teams and even your personal career path.

And maybe some day you can get the shirt!

A special thanks to Alberto São Marcos ( @albertocsm ), our constant back and forth about this not only gave me the idea for the article but continues to help shape our way of thinking constantly bring joy to our team and ourselves, Thanks Zé!


1. Staff Engineer 101: You probably are one, you just don’t know it yet! was originally published in craftable on Medium, where people are continuing the conversation by highlighting and responding to this story.