
Staff engineer is the least defined title in engineering. Some companies write staff software engineer on the offer letter instead, which is the same role under a longer name.
Senior engineer with a raise is the wrong mental model, because the job itself changes: the value moves from owning your own hard problems to multiplying everyone else’s output. In practice, four work streams define the role, as opposed to a checklist of twenty skills.
The four work streams
- Technical advisory (45%). A staff engineer is the person others come to for technical consultations and complex code reviews. The best sign this is working is engineers seeking the advice out themselves; a staff engineer who has to push into every initiative to supervise it is a warning sign. In parallel, the most critical initiatives still need the technical design covered.
- Technical roadmap (15%). Without one, teams burn time on scattered, minor technical improvements nobody agreed to prioritize. A staff engineer co-owns the technical roadmap backlog for their domain, backend, frontend, data, AI, and helps decide what gets built. A .NET to .NET Core migration with no prioritization can drag on for years at questionable quality, but if you communicate the priority and align talent cross-team, the same migration lands in a year.
- Learning and knowledge sharing (25%). Staff engineers lead or contribute to a horizontal community for their domain. That means conference budget at least once a year with the expectation attendees share what they learned, personal reading and learning time on the calendar, and a weekly contribution to the team’s knowledge-sharing channel.
- Brand (15%). Staff engineers write blog posts and speak at meetups and conferences about real work, not marketing copy dressed up as engineering content. developers.mews.com is a good reference for what this looks like done well.
The multiplication effect
Promoting a deeply introverted engineer into staff, or letting a staff engineer get pulled onto a single initiative for delivery reasons, keeps the multiplication effect stuck at 1, and that’s the antipattern to watch for, because the project might still ship on time while the company never gets the long-term payoff of the role.
The people who make good staff engineers have communication skills and the presence to get others to listen. Push them to keep raising their multiplication effect: infecting other developers with the right instincts on technical design, priorities, coding standards, quality.
Do staff engineers still code?
Yes, but not the way a senior engineer does.
Take a tight deadline. One option is to take over control, tell yourself you’ll save the world, and ask everyone else to step back while you build the rest solo. The other is to stay close to the initiative, offer help, pair or mob with the team.
The second option wins long-term, every time. In practice that means:
Time set aside for coding prototypes and blueprints.
Time set aside for code reviews, delegated to the team within 3 to 6 months.
Zero time on solo coding of product features.
How to introduce the role
- Do the homework first. Staff Engineer: Leadership Beyond the Management Track by Will Larson is the standard reference. As the manager introducing the level, you need to be able to state and communicate the promotion criteria clearly, or you end up with senior engineers who leave for a title elsewhere and hires who only half fit the role.
- Decide where staff sits on the org chart. The approach that works: equal to an engineering manager, reporting to a second-level EM, building the technical roadmap for the teams that manager owns. Watch for staff engineers who struggle to delegate technical work once they’re in the seat.
- Pick the right people. Not everyone can make this transition, so define what success looks like at three and six months before you promote anyone. As a headcount rule of thumb, one staff engineer per 15 team members, adjusted for how technically complex the product actually is.
- Communicate the promotion with the specific reasons behind it, concrete examples of the abilities that earned the level, so the rest of the team understands what staff actually takes.
Staff engineer vs senior engineer
This is the question behind most promotion debates, and the difference isn’t skill, it’s scope of impact.
| Senior Engineer | Staff Engineer | |
|---|---|---|
| Impact | Own team, own problems | Cross-team, multiplies others |
| Measured by | Output of their work | Multiplication effect on others’ work |
| Coding | Product features, daily | Prototypes, blueprints, reviews |
| Org position | Inside the team | Equal to an EM, reports to 2nd-level EM |
| Typical ratio | Several per team | ~1 per 15 team members |

A senior engineer who wants the staff title but plans to keep doing the same work with a better badge is the most common promotion mistake I see. The role change is real, from doing to multiplying, and if the multiplication work in the four streams above doesn’t attract you, staying senior, or moving to the management track, is the more honest choice. The decision itself, management vs Staff+ track, is one of the most requested topics in my mentoring sessions.
Filling a staff engineering seat is an ongoing bet on the multiplication effect rather than a one-off promotion event, and the payoff arrives on a multi-quarter clock. How is the staff level defined in your company?