Level Up Software Engineering ๐Ÿš€

Level Up Software Engineering ๐Ÿš€

Share this post

Level Up Software Engineering ๐Ÿš€
Level Up Software Engineering ๐Ÿš€
Career Ladders / Promotions

Career Ladders / Promotions

How can I tell when Iโ€™m ready for the next level / promotion as a software engineer? And what can I do when I feel stuck at the current level?

Caleb Mellas's avatar
Caleb Mellas
Dec 13, 2023
โˆ™ Paid
35

Share this post

Level Up Software Engineering ๐Ÿš€
Level Up Software Engineering ๐Ÿš€
Career Ladders / Promotions
7
6
Share

The level of engineer you are promoted to has nothing to do with how many lines of code you crank out. Sometimes, mid-level engineers are writing more code than senior level engineers. ๐Ÿ˜…

Itโ€™s not even directly tied to years of experience. ๐Ÿคฏ

And I just want to say: the level of engineer you are has nothing to do with your worth as a human. ๐Ÿ’™

Itโ€™s more to do with:

  • mindset

  • responsibility

  • technical expertise and communication

  • how you approach problems

  • leadership skills

  • scope of your influence

And yes, senior engineers do make a lot more than junior engineers. And yes, itโ€™s actually totally ok to optimize for money in your career.

Just make sure you go in eyes wide open and realize that going to senior+ roles doesnโ€™t always mean more coding. They are more about influencing others and expanded scope, than writing the most/best code on the team.

Alright, letโ€™s jump in ๐Ÿ‘‡

Junior engineer

What is a junior engineer?

Junior engineers have 0-3 years of development experience. They are usually fresh out of college, newly self-taught, or coming from a boot camp.

They should be proficient in one or two languages/frameworks and be able to build small to medium-sized features with direction.

At this level, engineers focus mostly on leveling up in their coding capabilities and get up to speed with engineering best practices.

They might do things like:

  • Improve an existing codebase by adding missing tests to legacy code

  • Migrate an old feature to a new framework or components

  • Add to existing apis

  • Work with senior engineers on pieces of larger projects

Junior engineers will require mentorship from other seniors on the team to ensure they are successful, and continue to level up ๐Ÿค

Every team should have a junior or two. ๐ŸŽ‰

Mid-Level Engineer

What is a mid-level engineer?

Mid-level engineers usually have 3-5 years of experience.

They should be proficient in 2-3 languages/frameworks and be able to build a new feature with some direction needed from other engineers.

At this level, engineers focus mostly on increasing their depth of knowledge in languages, frameworks and coding patterns as well as starting to contribute and own pieces of larger projects.

They might do things like:

  • Build out a new set of apis, services, and db tables for a new feature

  • Contribute quality components to the teamโ€™s style guide

  • Refactor and optimize old queries, legacy code, or fix complex bugs

They will still require mentorship from senior engineers on the team, but they will be able to tackle many more things on their own, and even provide support to juniors. ๐Ÿ’ช

Senior Engineer

Alright, now the question I asked myself for yrs while working towards it:

What is a senior engineer? And how do I become one?

Senior engineers usually have 5+ years of experience. They have proven their depth of knowledge and proficiency on several larger projects. Theyโ€™ve mastered several languages, and if they need to learn a new technology or framework they are able to do so quickly.

Theyโ€™ve developed deep problem-solving skills and cross-language engineering knowledge and experience.

They stand out in their communication, project management, systems design and architecture experience, documentation initiatives, and mentorship to help the team level up. ๐Ÿง 

At this level, engineers tend to focus on being โ€œan owner of a feature or systemโ€ with an expert end-to-end understanding of it. They are the โ€œgo toโ€ engineer for this area.

They should be able to:

  • Plan, research, breakdown, and successfully complete a large project

  • Identify and fix issues in complex systems

  • Lead a project with multiple contributors including writing technical specs, helping with sprint prioritization and planning, outlining a testing plan, etc.

  • Give through, helpful, and timely code reviews

  • Provide mentoring, technical interviews, onboarding, documentation - things that help the team level up

  • Successfully juggle multiple priorities or projects

  • Emerge as force multiplier for their product area

They are also helping to set design standards and model good engineering culture and practices.

Thanks for reading Level up software engineering ๐Ÿš€! Subscribe for free to receive new posts and support my work.

Staff Engineer

What is a staff engineer?

Staff engineers are much more rare than senior engineers.

They are the engineers you hear about that are L6 level and above at Meta or Netflix that are making $400,000+. ๐Ÿ˜…๐Ÿคฏ

Why donโ€™t we all just become staff engineers then?

Haha, well if it was just as easy as being a software engineer for 8-15 years - weโ€™d probably all be that level - but itโ€™s not that easy.

It takes extreme focus, mentoring, training, and real drive to continue leveling up all the way to a staff level.

Alrightโ€ฆ So what does a staff engineer look like? Glad you asked. ๐Ÿ™‹โ€โ™€๏ธ๐Ÿ™‹โ€โ™‚๏ธ

Keep reading with a 7-day free trial

Subscribe to Level Up Software Engineering ๐Ÿš€ to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
ยฉ 2025 Caleb Mellas
Privacy โˆ™ Terms โˆ™ Collection notice
Start writingGet the app
Substack is the home for great culture

Share