A hyper-concise Software Engineering Career Ladder
AI generated image by DALL-E 2

A hyper-concise Software Engineering Career Ladder

As a leader of engineering organizations of different shapes, sizes and maturity levels, I've come across many different incarnations of engineering career ladders. Either I helped design and implement them myself or I helped apply existing ones through 1:1 feedback & development plans, performance calibrations and promotion processes.

Some of them were really detailed, down to the level of programming language constructs being used by the engineer, others were more high-level, abstract guidelines of what was to be expected from the engineer at each level.

None of them were anywhere near perfect and all of them always had the following disclaimer: don't use this as a checklist. Yet many engineers or their managers usually ended up using them exactly like one.

Maybe a more candid version of the "don't use this as a checklist" disclaimer (or cop-out if you'd prefer) can be translated into "evaluating people is really subjective and context dependent, don't expect results to always be fair". Personally, I accept this reality as it is as it's such a hard problem to solve (at least for humans) and I've seen most companies that I've worked for really striving to be the most fair possible which is good enough for me.

Here's my attempt of distilling engineering career ladders into the most concise version I could come up with:

  • L3 (junior engineer): LEARN. Your main goal is to learn as much and as fast as possible, leveraging knowledge and experience of the more senior engineers.
  • L4 (mid-level engineer): EXECUTE. Your main goal is to ship lots of things fast, with quality and autonomy.
  • L5 (senior engineer): LEAD. Your main goal is to lead your immediate team/squad to deliver and help develop L3s and L4s. Your output as an IC still needs to be up there, but soft skills and leadership will start to play an important role as you'll serve as a blueprint for aspiring engineers.
  • L6 (staff engineer): AMPLIFY. Your main goal is to help amplify the impact you had as a L5 for your single team across many teams (or the whole organization, depending on the company size), finding the levers that can significantly boost the business outcomes, engineering productivity, operational costs, etc. 
  • L7+ (senior staff/principal engineer): SHAPE. Your main goal is to help shape the architecture of the company, both technically and organizationally. Your scope becomes ever more ambiguous and intertwined with the business and you'll have significant inputs into strategic decisions (such as company-wide build vs buy, mission-critical migrations, cloud vendors, etc).

You'll keep coding and sharpening your technical skills along the way, while doing a good amount of mentoring and developing your leadership skills. You'll be woken up by incidents in the middle of the night and respond to them, hopefully learning and making sure they don't repeat. You might become a generalist/ jack-of-all-trades or a deep specialist/expert engineer in some field.

If you're fortunate enough to work in good low-politics companies, you'll be able to not worry too much about the career ladder, focus on the work, deliver relevant impact for the business, have fun and grow as a consequence of that.

To view or add a comment, sign in

More articles by Demetrius Nunes

Others also viewed

Explore content categories