tilstaff eng archetypes
As I write this it’s performance reviews season at my company, which means renewed interest in the expectations of engineers of each level. My role is to help define this for our front-end engineers and ensure fair outcomes. A common question I hear throughout this process is: what is a staff engineer?
My company, like many in the tech industry, defines a progression of levels for engineers1. Others may use a set of titles, these are often interchangeable. To grossly simplify:
Level | Scope |
---|---|
Junior Eng | First few years in industry. Expected to learn quickly, complete assigned small projects with little guidance, and continue to grow. |
Mid-level Eng | 2-6 years in industry. Completes moderate projects with autonomy and contributes to the team in other ways. |
Senior Eng | 5 or more years experience. Accountable for large projects requiring a team and external stakeholders. Mentors and improves their team. |
Staff+ Eng2 | Typically over 10 years experience. Peer to managers, accountable for their team’s roadmap and technical vision. Then… things get complicated. |
Most companies provide expectations guidelines alongside these levels, often breaking things down by technical skills, soft skills, leadership, etc. These can be helpful tools for both engineers and managers to guide them in their career, but I’ve found this often breaks down at the Staff Eng level, for a few reasons:
-
There just aren’t that many Staff+ Eng to compare and generalize. Most organizations will have less than 1 in 10 engineers at this level.
-
Every one of these engineers is a different person, who found a unique impact relative to what was needed and what they’re good at. No two Staff+ Eng follow exactly the same path.
-
The gamut of potential impact is so diverse that what is central to one Staff Engineer’s impact may be near absent from another’s. It can be hard to even define base expectations.
A different approach is necessary. Rather than defining one set of expectations, describe Staff Eng Archetypes
-
The Tech Lead guides the technical execution of their team via day to day leadership. The most common Staff Eng archetype and a natural extension of the expectations of a Senior Eng. This is such a common path to management that there’s a term “TLM” for the variant which also takes on some people management, furthering their autonomy.
-
The Architect sets the vision for a domain, and is accountable for its success, often requiring many teams working together. This may be a purely technical vision or, more often for a front-end engineer, a product vision.
-
The Solver goes deep to solve problems no one else can. Not purely technical, really tough problems are often equal part organizational and require excellent communication skills and “bedside manner”.
-
The Right Hand extends a leader’s bandwidth by helping to operate a complex organization, converting inefficiencies into well run programs. They bounce between whatever is most urgent be it tech, people, process, or business.
If these all sound really different from each other, that’s the idea! There are just as many ways to becoming a Staff Eng as there are engineers with that title. I love that these four archetypes each highlight a very different core competency: tactical leadership, vision setting, technical excellence, and organized execution. It wouldn’t be possible to define base expectations across these for all Staff Eng.
I also appreciate that using archetypes is still flawed. Not everyone will fit into these four buckets, some may bridge between multiple, others will define their own path. For those with aspirations to become a Staff Eng and those that manage them, my advice is to not emulate others but find and lean into your own strengths.
-
Designers often have a very similar career progression. You can generally replace “engineer” with “designer” throughout this entire post. A fantastic comparable resource for designers is staff.design.
↩ -
Some companies define titles beyond Staff Eng, like “Senior Staff Eng”, “Principle Eng”, “Distinguished Eng”, “Architect”, or “Technical Fellow”. What I share here is also true for these engineers, just further into the limit. These are often collectively referred to as “Staff+ Eng”.
↩ -
One of many fantastic resources from staffeng.com!
↩