Software Engineering Tidbits

Software Engineering Tidbits

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
Software Engineering Career Ladders
Copy link
Facebook
Email
Notes
More
User's avatar
Discover more from Software Engineering Tidbits
Small (or sometimes big) tidbits about software engineering. This is where I share tips and learnings I acquired building, maintaining and supporting software in production at Airbnb, Uber and Microsoft.
Over 10,000 subscribers
Already have an account? Sign in

Software Engineering Career Ladders

Georges El Khoury's avatar
Georges El Khoury
Jan 09, 2023
9

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
Software Engineering Career Ladders
Copy link
Facebook
Email
Notes
More
Share

This is my take on software engineering ladders and what it takes to be promoted from one band to another.

Software Engineer I:

You are tasked and are able to deliver a feature part of a bigger release. Special skill to acquire to be promoted to the next level is clear communication and status update.

Software Engineer II:

At this level you should have delivered multiple features with high quality including unit tests and instrumentation. You should be viewed and have the reputation of an engineer who can deliver consistently with high quality with minimal guidance. You should also start mentoring interns or new engineers and start designing end to end features as a stepping stone for the next level. You are a great asset for your team.

Senior Engineer:

This is a terminal level at many companies. At this level, you should own a critical area in the product. You usually own a code area or repo and code review changes in this area.

You are battle tested and have some scars to show for it usually from over engineered systems. You are the go to person and the authority for an area of the product and receive multiple requests from different people looking into integrating into your area or needing support.

You have been a commander in outages and are one of the few who can return a system to a green status especially in your area of expertise. You mentor junior engineers and are able to drive the design and release of a complex product or set of features.

You set patterns or design software that are leveraged or adopted throughout the company. You are called upon for feedback and advice from upper management. You are a valuable asset for your company. You leaving the company is a considerable loss for the company.

Staff Engineer:

This is a continuation of the senior engineer role but your charter is now multiple teams and orgs. You avoid duplication and pursue opportunity for consolidation of redundant systems in multiple team. You build systems that improve developer velocity.

You have clout in your organization and lead by example. You set an example of good behavior and reprimand bad behavior. Your endorsement lead to promotions for junior and senior engineers.

You are able to architect and deliver end to end products from infra to user facing including developer experience, operations and release management. Example of deliveries is to move APIs from Rest to GraphQL or migrate a repo from a monorepo to microservices.

You leaving the company is a tremendous loss for the company.

Principle Engineer:

This is a continuation of the staff engineer role but you are closer to the executive layer at the company with a direct access to the CTO. You can prioritize initiatives and impact budgeting.

You are tasked with initiatives that are critical to the company. Failure to deliver on them have serious repercussions on the competitiveness of the company. You can reach deep and wide and commandeer any resource or engineer when pursuing company critical priorities.

Example of deliveries is moving from on premise infra to the cloud or responding to the emergence of web, mobile or AI as an example.

You leaving the company has financial and competitive impact on the company.

One last note is that every engineer wherever they are and no matter how successful in their careers will remember the manager that promoted them (knighted them) into their new band. This is a manager that recognized their contribution and trusted them into new responsibilities.


Software Engineering from the Frontlines Course on Maven

If you liked this article, I will be teaching a “Software Engineering from the Frontlines” course on Maven where I will teach hard-learned lessons I acquired developing large-scale products at companies such as Uber, Airbnb, and Microsoft.

View Course


Thanks for reading Software Engineering Tidbits! Subscribe for free to receive new posts and support my work.

LifeOf97's avatar
Christian Chemaly's avatar
Ryvee's avatar
Gerald's avatar
Ali B's avatar
9 Likes
9

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
Software Engineering Career Ladders
Copy link
Facebook
Email
Notes
More
Share

Discussion about this post

User's avatar
A good unit test
A good unit test should be:
Feb 20, 2023 • 
Georges El Khoury
18

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
A good unit test
Copy link
Facebook
Email
Notes
More
5
A good way to debug
One of the best software engineering tip I received is a good way to debug.
Apr 28, 2022 • 
Georges El Khoury
16

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
A good way to debug
Copy link
Facebook
Email
Notes
More
2
Outage Management
Outage management is a core skill for a software engineer to acquire and is critical to achieve high availability of an online service.
Feb 13, 2023 • 
Georges El Khoury
13

Share this post

Software Engineering Tidbits
Software Engineering Tidbits
Outage Management
Copy link
Facebook
Email
Notes
More
3

Ready for more?

© 2025 Georges El Khoury
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More

Create your profile

User's avatar

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.