Staff vs Principal vs Distinguished Engineer: How the Titles Map Across Companies

Staff, Principal and Distinguished Engineer are the individual contributor levels above Senior, in that order at most companies. Staff leads technical work across a few teams, Principal sets direction for a department or sub-department, and Distinguished (or Fellow) works at company or industry scope. The catch is that the words are not standard: Amazon and Microsoft have no Staff title at all, and “Principal” at one company can be two rungs below “Principal” at another.

Table of Contents

The IC ladder above Senior

The StaffEng FAQ gives the most common sequence: “Junior engineer, engineer, Senior engineer, Staff engineer, Sr Staff engineer, Principal engineer, Distinguished engineer.” It also says many companies omit one or more of these titles and tend to add them as they grow. Those caveats matter more than the sequence.

Here is how the big ladders line up when you count rungs upward from Senior. The level names come from levels.fyi (Google, Meta, Amazon, Microsoft and Shopify) as listed when I checked for this post. Rows are aligned by position only; I am claiming an ordering, nothing about equal pay or equal scope across a row.

Rung Google Meta Amazon Microsoft Shopify
Senior L5 Senior SWE E5 L6 SDE III (Senior SDE) 63 and 64 Senior SDE L6 Senior Software Developer
One above Senior L6 Staff SWE E6 L7 Principal SDE 65 to 67 Principal SDE L7 Staff Software Developer
Two above L7 Senior Staff SWE E7 L8 Senior Principal SDE 68 and 69 Partner L8 Senior Staff Software Developer
Three above L8 Principal Engineer E8 L10 Distinguished Engineer 70 Distinguished Engineer L9 Principal Developer
Four above L9 Distinguished Engineer E9 80 Technical Fellow L10 Distinguished Engineer
Five above L10 Google Fellow

Meta’s ladder on levels.fyi shows only numbers (E3 to E9). Amazon and Microsoft go straight from Senior to Principal with no Staff rung, so an Amazon L7 Principal and a Google L8 Principal are two different jobs that share a word.

What each title usually covers, when a company has it:

Common title Typical scope
Staff Engineer Hardest problems for a team or a few teams; sets standards across them
Senior Staff Engineer Architecture and technical strategy for a domain or department
Principal Engineer Technical direction across departments; senior technical lead for a sub-department
Distinguished Engineer Company-wide influence, usually with a public or industry role
Fellow IC equivalent of a VP; company-level problems

That wording is condensed from two ladders that write scope down. Etsy’s career ladder says Staff work “extends to many parts of a domain, and may begin to influence your entire department or domain,” while Principal engineers “define the technical vision and strategy that guide engineers across departments.” GitLab’s handbook puts its Principal at sub-department scope and its Engineering Fellow as “the individual contributor equivalent to a VP of Engineering.”

Where Staff sits relative to Senior is covered in which level is Staff Software Engineer and the Staff vs Senior comparison; this post starts where those end.

Staff vs Principal: scope, time horizon and reporting line

Scope is the main difference, and I think of it as how many teams you can break with one decision. A Staff Engineer’s decisions land on their own team and the teams next to it. GitLab’s Staff Backend Engineer description shows that scope: solve “technical problems of the highest scope and complexity for your team,” push quality and performance improvements “across your team and others,” and shepherd internal standards. The unit is still the team.

A Principal’s decisions land on an organization. GitLab’s Principal Engineer “solves technical problems of the highest scope, complexity, and ambiguity for their sub-department,” makes proposals “across several teams,” and is “a point of escalation for sub-department teams facing complex technical challenges.” Mariana Valette’s LeadDev overview of the IC ladder says it from the outside: principals “guide the technical direction of the company” and “lead with influence, advising, and asserting their ideas without official authority.”

Time horizon follows from scope. A Staff Engineer is usually attached to projects with a visible end: a migration, a platform, a system that has to be redesigned this year. A Principal is attached to a direction that outlives any one project, and the feedback loop on “we standardized on this messaging pattern” is measured in quarters.

Reporting lines are the clearest tell, because they are written down. The LeadDev piece says Staff engineers usually “report to a manager but control their own day-to-day activities.” GitLab’s Principal “reports to Senior Manager and above,” and its Distinguished Engineer “reports to Director-level managers.” Whoever you report to is a decent proxy for the size of the problems you are expected to own.

Staff is also still a hands-on role. The LeadDev piece puts Staff coding time at roughly 20%, which matches what I have seen; Principal coding time is lower and more uneven.

Principal vs Distinguished and Fellow

Principal is the top of the ladder at most companies. Distinguished and Fellow exist mainly at companies large enough that “across departments” and “across the company” are different sizes.

The LeadDev article describes Distinguished Engineers as “director-level ICs” who “help to shape the organization’s direction, carve out strategic roadmaps, and meet business goals.” GitLab’s Distinguished Engineer description adds the external part: write extensively about technology, present at conferences and user groups, and work with key customers, on top of a “measurable impact on the work of teams across the company.”

That external piece is the practical difference. A Principal is known inside the company. A Distinguished Engineer is usually known outside it too, and part of the job is representing the company’s technical position to customers, partners and the industry. Fellow goes one further: GitLab’s Fellow solves “technical problems of the highest scope and complexity for the entire organization” and is the IC peer of a VP of Engineering. Google’s ladder ends at L10 Google Fellow, Microsoft’s at 80 Technical Fellow.

These levels are also rare, and the ladders hint at it: Google’s levels.fyi ladder lists five rungs above Senior, Amazon’s lists three and skips L9 entirely.

Why “Senior Staff” and “Senior Principal” exist

The extra word exists because the gap between two titles got too wide to promote across in one step. Once a company has a few hundred engineers, the difference between a new Staff Engineer leading one team and a Staff Engineer setting direction for a whole domain is bigger than the difference between Senior and Staff. Splitting the level lets the company pay and scope them differently without inventing a new name.

Google did it with L7 Senior Staff between L6 Staff and L8 Principal. Shopify did the same with L8 Senior Staff Software Developer. Amazon, with no Staff rung, did it one level up: L8 Senior Principal SDE sits between L7 Principal and L10 Distinguished. Microsoft gave Principal three numeric bands (65, 66 and 67) instead of a second title, then put a Partner band above it.

So “Senior Principal” is not a universal rung. At Amazon it is the second rung above Senior. At a company that uses Staff and Principal, Senior Principal is usually the step between Principal and Distinguished, with more teams, a longer horizon and more of the company’s risk under your name than a plain Principal. My own title is Senior Principal Engineer, and I get into what that means below.

Do all companies have both Staff and Principal?

No. The StaffEng FAQ notes that “a particularly small company might not even have a Senior engineer title,” and that companies add titles as they grow. In practice there are three shapes.

Small companies and startups collapse the ladder. Everyone above Senior is “Staff” or “Principal” depending on which word the founders liked, and the title means “the person we trust with the architecture.” When I ran engineering at Levpay as CTO, a ladder above Senior would have been ceremony.

Mid-sized companies pick one word. Will Larson’s Staff archetypes explain why: the Tech Lead archetype shows up as soon as a company has teams, while the Architect and Right Hand archetypes appear only as organizations reach a hundred or more and then a thousand or more engineers. A company of 150 engineers needs Staff-level tech leads and has nowhere to put a Principal, so the title either does not exist or is held by one or two people.

Large companies have the full ladder and diverge on names. Amazon and Microsoft skip Staff. Google and Meta skip nothing. Shopify uses Developer instead of Engineer most of the way up. If you are comparing offers, ignore the word and look at the rung count above Senior and the scope description on the company’s own ladder.

What a Senior Principal Engineer actually does

I am a Senior Principal Engineer at Questrade, working on crypto trading. I will describe the shape of the job rather than the specifics, because the shape is what transfers.

The first part is multi-team architecture. Several teams own pieces of a system that only works if the pieces agree on contracts, failure modes and data ownership. Nobody on any one team is responsible for the whole, so that becomes my job: where the boundaries go, which team owns which state, what happens when a downstream service is slow, and when a shared component should be built once instead of three times. Most of that is writing and reviewing design documents, then checking that what shipped matches what was agreed.

The second is standards. At Staff I set conventions for my teams. At this level I set them for every team in the area, which means they have to survive different stacks, different maturity and different managers. The standards that stick are the ones with tooling behind them: a shared library, a linter rule, a CI check. A standard that lives only in a document is a suggestion.

The third is risk. In a trading business a design flaw costs money directly and sometimes starts a regulatory conversation. A large part of my week is asking what breaks if a message is delivered twice, if a price feed lags, if a deploy goes out mid-session, and making sure the answer is written down and tested before the feature ships. Managers lean on this part most, because they are accountable for outcomes they cannot personally inspect.

The fourth is people, without being a manager. I mentor Staff and Senior engineers, review their designs, and try to make sure the next generation of technical leads exists. Nobody reports to me, so every decision I make has to be argued for.

Coding is still there in smaller doses: prototypes that settle a debate, a reference implementation of a pattern I want copied. The 9+ years I spent writing Go is what makes the reviews credible, and if I stopped reading code I would lose the ability to tell a good design document from a plausible one within a year.

How people move between the levels

Staff is reached by doing Staff work before you have the title, usually for six to twelve months. I wrote the full version in how to become a Staff Software Engineer, and GitLab’s ladder says it in one line: “We prefer to bring people in as Senior and let the team elevate them to Staff due to an outstanding work history within GitLab.”

Staff to Principal is a different kind of move, and most Staff Engineers never need to make it. A Staff Engineer who is excellent at leading a team’s technical work can stay there for a decade and be worth every dollar. Principal asks for something else: comfort with problems that have no owner, patience with decisions that take a year to prove out, and a willingness to spend most of your time on documents and conversations instead of code. Some of the best engineers I know looked at that and said no, and they were right to.

When the move does happen, it is usually because the organization grew: a new sub-department needs a technical owner, two teams’ architectures are colliding, or a manager needs someone to carry the technical side of a bet they cannot evaluate themselves. Asking for Principal scope rarely works, because the scope has to exist first.

Principal to Distinguished is mostly a function of company size and external visibility. If your company has no Distinguished level, the equivalent move is to a bigger company or to work that carries your name outside the building; maintaining pREST has done more for that than any internal promotion.

Moving companies is where the title mismatch bites. A Principal at Amazon interviewing at Google should expect to be levelled on scope, with the word ignored. The same goes for anyone coming from a startup where “Principal” meant “the most senior of six engineers.” Describe what you owned, how many teams it covered and how long the decisions lasted, and let the new company place you.

Titles in Canada vs the US

Canadian companies use the same ladder words as American ones, with two local wrinkles.

The first is “Developer” versus “Engineer.” Shopify labels its ladder Software Developer, Senior Software Developer, Staff Software Developer, Senior Staff Software Developer and Principal Developer, and only switches to Engineer at L10 Distinguished. Part of the reason is regulatory: in Canada “engineer” is a protected title under provincial law. In Alberta, where I live, APEGA went to court over job postings that used “software engineer,” had its application dismissed in November 2023, appealed, and the matter ended in 2024 when the province amended the Engineering and Geoscience Professions Act so that, in APEGA’s words, “only the title ‘software engineer’ is exempt.” So “Staff Software Engineer” is fine on an Alberta business card now. My reading is that “Staff Engineer” on its own is still murkier, which is one reason Developer keeps showing up on Canadian ladders.

The second is that the ladder is shorter here. From the postings I see in Calgary, most Canadian employers top out at Principal, and Distinguished shows up mainly at the Canadian offices of US companies. I was a Staff Engineer at LodgeLink in Calgary before my current role, and the title there meant what it means on the Etsy ladder: architecture and engineering standards across all the pods.

I have not found a Canadian source that maps titles the way levels.fyi does for US ladders, so treat this section as what I can see from Calgary. The bio page has the full path if you want it.

FAQ

Is Principal higher than Staff?

Yes, at every company that has both titles. The common order is Senior, Staff, Senior Staff, Principal, Distinguished. Amazon and Microsoft have no Staff level, so their Principal is the first rung above Senior and maps closer to Staff or Senior Staff elsewhere.

What is a Distinguished Engineer?

A Distinguished Engineer is an individual contributor whose scope is the whole company rather than one department. GitLab’s description includes company-wide technical impact, writing and speaking publicly, and working with key customers, and the role reports to director-level management. The title exists mostly at large companies.

What level is Staff at Google, Meta and Amazon?

Staff Software Engineer is L6 at Google, with L7 Senior Staff above it. Meta’s equivalent rung is E6, one above E5 Senior. Amazon has no Staff title; its L7 Principal SDE is the first level above L6 Senior SDE, so it is the closest match by position.

What does Senior Principal Engineer mean?

Senior Principal Engineer is the level between Principal and Distinguished at companies that use it, with wider scope than Principal: several teams or a whole sub-department, longer-lived decisions and more of the organization’s technical risk. At Amazon it is L8, one rung above L7 Principal. In my own role it means owning multi-team architecture, engineering standards and risk review for an area, and mentoring the Staff and Senior engineers in it.

Do startups have Principal Engineers?

Sometimes, but the title rarely means what it means at a large company. The StaffEng FAQ notes small companies may not even have a Senior title, and most startups collapse everything above Senior into one Staff or Principal role held by one or two people. Judge the job by its scope.

Should I move from Staff to Principal?

Only if you want the Principal job, which is mostly documents, cross-team decisions and long feedback loops, with little code. Many excellent Staff Engineers stay at Staff for their whole careers and are paid well for it. If you are unsure, read what a Staff Software Engineer is and compare it to the Senior Principal section above.