Career development is an ongoing process of managing one’s career in order to achieve personal and professional goals. It involves making deliberate choices and taking actions to enhance skills, knowledge, and experiences to progress in the chosen career path.

In the tech industry, we use progression frameworks (also known as ‘career ladders’) to guide the development of engineers’ careers.

A career ladder usually consists of designations (Software Engineer, Product Manager, etc.), levels, and expectations to measure, develop, and evaluate performance.

A typical Software Engineering (SWE) career ladder:

  • SWE, SWE II, and Sr. SWE: The first three and most common levels in Software Engineering;
  • Staff: They lead deep, complex, or high-risk technical projects;
  • Principal: They guide the technical direction of the company;
  • Distinguished and Fellow: Such levels may exist in large organizations. Like Principals, they guide the technical vision of the organization. Usually, there is no standardized way to achieve this.

For each level in the ladder, companies define a set of expectations. Make sure you understand your company’s expectations.

Engineers may take such expectations as a reference for personal development, and those expectations are usually evaluated in performance review cycles.

Climbing the Ladder

Knowing how evaluations and promotions are decided will help you get promoted faster.

There are many online references on developing yourself as a software engineer. Here, I share a few articles and blog posts that I believe are valuable to help engineers progress in their careers.

Progression Frameworks

Some interesting resources covering career ladders in the tech industry: