DEV Community

Cover image for What's Beyond Senior Engineer?

What's Beyond Senior Engineer?

dev.to staff on October 26, 2023

Is there room for a title above Senior Engineer in the software development industry? What would such a title entail? Follow the DEVteam for more ...
Collapse
 
mshertzberg profile image
Michael Scott Hertzberg

Titles are as arbitrary as magic numbers. There are the standard titles for seniors and below:

  • Junior or Associate Software Engineer
  • Software Engineer
  • Senior Software Engineer

However, beyond that scope, it can vary company-by-company. There are the titles "Staff," "Principal," and "Lead." However, these can sometimes be interchangeable depending on where you are. a Principal title may be at the same level of Staff, but with different responsibilities (for example, a subject matter expertise, a certain focus on a part of the system, and level of autonomy at the organization). Either of these can also be prefixed with "Senior" (as mentioned, titles can become personal and defined for an individual). Beyond that, there is the concept of a Distinguished engineer, which implies a level that is topmost in the hierarchy and has a much larger role that can pertain to shaping the organization itself.

FAANG companies and larger tech entities can go even more deep, but also may keep their titles the exact same throughout their lifetime in the organization, but have different responsibilities. For example, at Facebook there is Engineer 3-9 (there is no title aside from E3, E4, E5; At Apple there is the ICT2, ICT3, ICT4, up to 6. After that, is Distinguished, Senior Distinguished and Engineering Fellow; Amazon starts at SDE I-III, but does indeed have a following Principal (L7), Senior Principal (L8) and Distinguished (L10; there is no Staff title).

All in all, with standard titles, a Staff is above Senior, a Principal is above Staff, followed by Distinguished and Fellow, respectively.

Collapse
 
moopet profile image
Ben Sinclair

Wow, all those ranks sound absolutely awful!

Collapse
 
mshertzberg profile image
Michael Scott Hertzberg

it can definitely make you feel like a cog in the big machines that they are.

Collapse
 
theaccordance profile image
Joe Mainwaring • Edited

Yes, there is room for titles above Senior. Many companies have 6+ different levels to categorize engineers, and Senior is typically only Level 2 or 3. This was the hierarchy I established the last time I needed to define levels:

  • Level 0: Apprentice Engineer (intern)
  • Level 1: Junior Engineer
  • Level 2: Mid-level Engineer
  • Level 3: Senior Engineer
  • Level 4: Staff Engineer
  • Level 5: Senior Staff Engineer
  • Level 6: Principal Engineer

For what it's worth - you may not hear about a lot of engineers reaching Levels 4-6 because many engineers will pivot into different paths, like management or architecture. At least in my experience, most went in other directions to satisfy their long-term career or financial goals.

Collapse
 
balagmadhu profile image
Bala Madhusoodhanan
Level Title Role Description
Entry Level Engineer Jnr Engineer Jnr has the foundational knowledge to design and implement basic business functionality. They have a strong focus on growing their development skills in their respective area. Engineers at this level can deliver on assigned individual stories. They may not have prior development experience.
Entry Level Engineer Associate Engineer associate has the solid technical foundation to design and implement basic business functionality. They work to support other engineers in the team and lead by example. Engineers at this level can deliver on assigned individual features. They have a small amount of experience in their area / domain.
Mid Level Senior Engineer A Senior Engineer has the knowledge & experience to design and implement business functionality in their assigned Platform(s)/Product(s). Engineers at this level can lead & deliver deliver on assigned Epics in their supported area. They use DevSecOps best practices to ship high-quality code, and continue to push their knowledge.
Mid Level Staff Engineer A Staff Engineer has the knowledge & experience to design and implement business functionality in their assigned Platform(s)/Product(s)/Product Line(s). They support and lead the technical direction in their product team, and can communicate future plans and direction to technical and non-technical people. Engineers at this level can lead & deliver on assigned Epics in their supported area. They use & create DevSecOps best practices to ship high-quality code, and continue to push their knowledge.
Mid Level Sr. Staff Engineer A Sr. Staff Engineer has deep knowledge & experience to design and implement business functionality in their assigned Platforms(s)/Product(s)/Product Line(s). They actively coach and mentor engineers in their product team, and are able to identify and resolve issues with technology and product processes. Engineers at this level can lead & deliver on assigned Epics in their supported area. They create and champion DevSecOps best practices to ship high-quality code, and continue to push their knowledge.
Senior Level Principal Engineer A Principal Engineer has deep knowledge & experience to design and implement business functionality in their assigned Platform(s)/Product(s)/Product Line(s). A Principal Engineer typically leads the technology aspect of Platform(s)/Product Line(s), leading the technical direction, guiding engineers, and communicating team progress alongside the Product Manager. Engineers at this level can lead & deliver on assigned Epics in their supported area. They identify, lead the creation of and champion DevSecOps best practices to ship high-quality code, and continue to push their knowledge.
Senior Level Lead Principal Engineer A Lead Principal Engineer has expert knowledge & experience to design and implement business functionality in their assigned Platform(s)/Product(s)/Product Line(s). A Lead Principal Engineer typically leads the technology aspect of multiple Platform(s)/Product Line(s), leading the technical direction, guiding engineers, and communicating team progress alongside the Senior IT leaders. Engineers at this level can lead on assigned Epics in their supported area. They identify, lead the creation of and champion DevSecOps best practices to ship high-quality code, and continue to push their knowledge.
Senior Level Distinguished Engineer A Distinguished Engineer is an expert in multiple domains. Their role is to support and lead the technical direction across all/multiple product lines and/or the Platform teams. They work with the CxO/Senior Leadership to plan future technology projects, and effectively communicate plans to the wider company.
Collapse
 
pengeszikra profile image
Peter Vivo

Sith Lord

Collapse
 
manchicken profile image
Mike Stemle

I would like to push back against the idea that folks need to keep pushing for changing titles. We need good developers, but far too many organizations push their good people into management roles and reduce their effectiveness.

I think it’s OK for the next thing to be the same thing.

Collapse
 
wraith profile image
Jake Lundberg

there’s a lot that can come after senior. of course there is the staff and principle tiers, depending on where you work. but there’s also consulting, education, and management. starting your own company. creating your own product and selling it. there’s also nothing wrong with staying at the senior level if that’s where you’re happy. the money is generally good, and you’re in a great position to solve large problems that can benefit others.

Collapse
 
katafrakt profile image
Paweł Świątkowski
Collapse
 
thormeier profile image
Pascal Thormeier

Unpopular opinion: Job titles are overrated. Sure, companies use them in contracts to distinguish between different levels of skill and impact, but what's more important is, in my opinion, to be able to deliver this impact at a certain skill level. A job title does by no means equal a certificate of skill. I've witnessed high-ranking engineers with less skill than some low ranking engineers in several areas. The only difference why they had different job titles was the amount of experience in numbers of years. What's most important, and I cannot stress this enough, is the ability to solve problems, generalize solutions and knowing core concepts. This ultimately defines your skill level. Impact will come with confidence in your own abilities. Job titles follow from there as mere labels.

Collapse
 
jodoesgit profile image
Jo

Consultation? I'm not sure, but you can make bank working your own hours using your own specialized experience. So I'd say that'd probably be pretty good.

Collapse
 
lopis profile image
João L.

Consulting has nothing to do with seniority, really. You can be a consultant without being senior.

In some work places, senior just means you have some number of years of experience. I've seen people say as low as 3 years can mean senior. Other places go with achievements, knowledge of adjacent domains, impact on other teams, etc. So the term senior is very loosely defined. And maybe you are senior using in-house software but then need to relearn a lot once you move on.

So what comes after senior? "Nothing". When you're senior I expect you to understand that at this point seniority levels are like power levels in Dragon Ball - if you should a little louder, you might just come out on top 😅. You don't necessarily provide less value to a project than someone who's called principal or staff elsewhere. And you're able to look at a job offer and understand that you might not check all the marks but you're able to learn quick.

Collapse
 
ryencode profile image
Ryan Brown • Edited

<snark> You can apply for a seat on the Counsel of Engineers. You're ready! You are the chosen one!

Collapse
 
vnnvanhuong profile image
Huong Nguyen

I'm currently reading the book "Staff Engineer: Leadership beyond the management track" by Will Larson. In the book, the author refers to the level beyond senior as Staff-plus. They have Staff, Principal, and Distinguished. Pretty cool explanation, I must say.