Danial Kalbasi

Notes on engineering leadership, building products, and figuring out what matters.

Observations: Staff engineer

Very few industries create a job title first, then figure out what it means. Software engineering's "Staff Engineer" is one of them.

Talking to people about Staff roles made me realize most companies treat it as a glorified Senior position without a clear definition. There are also contradicting ideas of what the job should be in different companies, even within a company.

I've been trying to hire a Staff Engineer for the past few months, and it made me rethink the role itself.

Take the book "Staff Engineer: Leadership beyond the management track." It describes various archetypes: tech leads, problem solvers, architects, and right-hand people. That's basically the entire IC spectrum packaged under one title.

This makes me wonder, should some of these expectations be normalized between all engineers based on where they are in their careers, rather than a distinct role presenting all these collective ideas? Should we just set different pay and incentives for senior people in the team rather than a title change?

I think part of this culture stems from our craving for visible progress.

We are also artificially separating technical and leadership skills. While in reality it's a normal expectation for someone being in the job for +10 years to have leadership qualities, like driving technical decisions, thinking in second-order effects, navigating ambiguity, or taking calculated risks without complete information.

So maybe the healthiest shift isn’t another title. Maybe it’s accepting that high-impact technical leadership is what experienced engineers do, and rewarding it with scope, influence, and money.