What Is a Software Engineer Career Progression (updated)
Published: 2022-08-04 16:00:09

_The story was originally posted on [Ace's blog](https://blog.getace.io/)._

If you are looking for ways to become a better manager and build a high-performing team of motivated developers, you definitely need to know about software engineer career progression and how to build a software engineering career ladder.

Successful tech companies like Etsy, Dropbox, Spotify, Buffer, Songkick Technology, and many others, have already developed and implemented their own career path framework, in order to retain top engineers and make better decisions.

[Ace](https://blog.getace.io/) will help you explore the experience of these companies and help managers to build their own software engineer career progression framework, adapted to their company’s needs.

This is the first article in the software engineer career progression topic, in which you will find:

- Career ladder definition
- Career path framework example
- Why tech companies need career development plans

This is a part of a [big topic on software engineer career progression](https://www.getace.io/ebooks/career-path-guide?utm_source=devto&utm_campaign=ebook_promo). 

## Career ladder definition (or career progression)

Before we start talking about how to create a career ladder in your company, make decisions about promotions and help engineers skip level and raise grade, you need to define the terms and find out — what is a career ladder, or career progression?

An engineering career ladder is not just a list of developer positions and responsibilities. This is a systematized career growth roadmap, which inсludes skills, career goals, salary expectations and a professional development plan. To simplify, the career ladder is a way to chart individual career progress.

## Roles and titles

Roles and titles are terms that define the place of a software engineer in a company. However, there are differences:

- **Job role** is the area of responsibility of an employee, which reflects what kind of work they perform in the company. The area of responsibility defines the scope of duties: what the employee does at work every day, what kind of tasks they have. Job roles examples: Developer, Designer, Product Manager.

- **Job title** is the name of the position that a person occupies in a company. This usually consists of a job level (Junior, Middle, Senior) and a specialization (QA Manual Engineer, Python Developer, Go Developer). If the job role involves managing people, this is also usually reflected in the job title (Team Lead, Technical Officer, Project Manager), etc.

That’s what Chuck Groom [says](https://cgroom.medium.com/the-software-engineering-job-ladder-4bf70b4c24f3) about the importance of defining titles and roles in a company:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0vk3zi95dzgerho0uu4a.png)

> Get [skill matrix templates and career path templates](https://www.getace.io/templates?utm_source=devto&utm_campaign=skill_matrix_promo#skill-matrix) for 50+ tech roles by Ace.

## Levels (or grades)

Job levels (or job grades) denote the level of responsibility in the company, within the job role. The higher the job level, the more expertise, independence and initiative the company expects from an engineer.

Companies use roles to build grades, set OKRs for reaching the next level, and motivate an employee to reach new heights. A simple software engineer levels system looks like: engineer level 1, 2, 3, 4 or Junior Developer, Middle Developer, Senior Developer, Tech Lead, but as the company grows, it can become larger or even branch out.

Such systems allow a developer to move along their career path and develop within the company. This means that, if a company uses this method, developers have professional growth opportunities and have more motivation to stay with the company.

Next, we will move on to examples of the different types of software engineer career ladder examples and explore what software engineer career progression frameworks exist, depending on the size of the company.

## Software engineer career ladder example

As we said earlier, the software engineer career ladder can be more or less complex, depending on the structure and needs of the company.

We will give examples of different types of software engineer career frameworks. When building your own career framework, it is important not just to copy existing models, but to focus on the goals and values of your company, as well as discussing its structure with the team at the formation stage.

## Small companies (<20)

Often, small companies and startups don’t feel the need to build a career ladder framework and are limited to job titles. Career development implementations happen as the company grows, are often unplanned, and the KPIs that have to be based on the skills and traits of engineers are unclear.

In this case, developers do not have professional development goals and may lose motivation over time. So, the best talent will go to other companies, where they will be offered career growth opportunities.

The basic (and most common) software engineer career path looks like a change of levels — engineers skip from one level to another within the framework of the role approved at the start: Junior Developer, Middle Developer, Senior Developer, Tech Lead.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jemozn0r83w2se7uty75.png)

> Use Ace’s [engineer career ladder template](https://www.getace.io/templates?utm_source=devto&utm_campaign=skill_matrix_promo#skill-matrix) for your tech team for free.

## Medium companies (<100)

As the company grows, the career progression framework should become more complex — intermediate positions (levels) on the career path can be introduced.

But the most important point is to build a career progression for those engineers who want to develop professionally, but don’t have the desire to grow into managers and hone their people skills. Here, a branched career path becomes relevant. It often has two tracks — engineering career path technical or management, where a developer can become a manager and develop in leadership, or become an IC (individual contributor) and develop as an expert. This division of the career path is called the dual-ladder approach.

Some successful companies have developed this approach in building software engineer progression for their teams. Here are some examples worth exploring.

[Buffer](https://buffer.com/resources/career-framework/) has developed their own career progression framework that allows employees to develop professionally and move along the career ladder without becoming a manager. This framework has two equal growth opportunities - the individual contributor track and the managerial track.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbox7s3cgp0qw1a6m9ky.png)

> You can use the [Buffer career path template](https://public.vectorly.team/skillboard/5d76de00-b9f5-11ec-9782-5948cf9c8402?_gl=1*g86akq*_ga*MTEzMjIyODkxMC4xNjUwMDM4OTY3&utm_source=devto&utm_campaign=skill_matrix_promo) to build an engineer career ladder for your tech team.

One of the variations of a dual-ladder approach was developed at [Songkick Technology](https://www.songkick.com/downloads/growth-framework/sk-growth-framework.pdf):

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/51xxf5wl8vismq6b4k0n.png)

> You can adapt the [Songkick developer career path template](https://public.vectorly.team/skillboard/f9a54410-b9f0-11ec-a273-6f01cebe2f96?_gl=1*1nmbthu*_ga*NTExMTI3MzMyLjE2NTAwMzkxNTQ.&utm_source=devto&utm_campaign=skill_matrix_promo) for your own company.

## Bigger Companies (>100)

Large companies, with complex structures, develop their own, more complex career progression frameworks. There may be several levels within a career path, depending on the needs of the company.

Levels.fyi collected data from the world's leading IT companies about what levels are present in their frameworks and what is the process of moving from level to level. The companies in the scheme below show several typical cases in the organization of software engineer levels.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mgg2rvpxtbqm3ogiwtr.png)

You can explore the experience of top IT companies and get more details on how their frameworks were developed and implemented:

[Etsy](https://etsy.github.io/Etsy-Engineering-Career-Ladder/)

[Dropbox](https://dropbox.github.io/dbx-career-framework/)

[CircleCI](https://docs.google.com/spreadsheets/d/131XZCEb8LoXqy79WWrhCX4sBnGhCM1nAIz4feFZJsEo/edit#gid=0)

[Spotify](https://engineering.atspotify.com/2016/02/spotify-technology-career-steps/)

> With Ace, you can build career progression framework using [ready-made career path templates](https://www.getace.io/templates?utm_source=devto&utm_campaign=skill_matrix_promo#skill-matrix) for 100+ tech roles.

## Benefits of building career paths for a tech team

Career ladders help to achieve the best results in self-developing both employees and companies. Let's take a closer look at what benefits the participants receive from the process.

## For developers

A career path helps a developer avoid burnout, due to development uncertainty. Is there a future in this company? Who can I be here? How can I increase my salary? These questions don’t go unanswered, if the company has an employee professional development plan.

- **Gain a broader skill base**. A well-built career path includes a professional development plan, within which an employee receives an assessment of the current level of their skills and tasks for developing the focus skills necessary for promotion.

Ben Gateley [tells](https://www.charliehr.com/blog/career-progression-framework-why-2/) about their experience of implementing a career progression framework:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikamrn34m6lbpbtivsin.png)

- **Unlock earning potential**. Together with a manager, employees can define professional development goals and career goals, including their salary expectations. Then they build a career development plan jointly, that will help achieve these goals in the shortest possible time.

- **Avoid stagnation**. A well-defined development plan allows engineers to constantly develop and achieve their goals in the fastest way, while increasing job satisfaction and feeling their contribution to common business goals.

Anirudh Todi [shares](https://dropbox.tech/culture/sharing-our-engineering-career-framework-with-the-world) Dropbox experience on implementing career path framework:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj6msvpf0mairol3x37n.png)

- **Clear promotion requirements**. It means employees understand what is required to get promoted and get a pay raise. If the career progression framework is organized correctly, then grade raises take place every six months, which allows software engineering managers to plan the career path of developers.

- **Opportunity to choose and plan the career path**. With a career progression framework, software engineers are free to choose in what direction they develop professionally - take the managerial track and improve soft skills, or build expertise by moving along the technical track.

Sarah Drasner [explains](https://css-tricks.com/the-importance-of-career-laddering/) why career planning talks with employees are important:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r0x43jv2t07jg793q91c.png)

## For managers

A job ladder provides a basis for discussing the career development of employees: it ensures the regularity of meetings about professional growth, expansion of responsibilities, and salary increases. Here are the major benefits of implementing an engineer career progression framework:

- **Building a high-performing team**. Career progression allows a manager or a team lead to create and maintain a growth mindset and continuous learning in the company. So, the team is constantly growing, developing skills and performs better, in general.

- **Increase motivation**. Long-term goals motivate the team and help to avoid stagnation. Motivation directly influences performance, while a high-performing team is one of the business success factors.

- **Improve retention**. Career growth and professional development are the best ways to motivate employees, save top talent and keep the best engineers. For most developers, one of the key factors in choosing a job (or when making the decision to get an offer from another company) is the opportunity for career development and getting new professional perspectives.

- **Ability to make better decisions**. Having clear guidelines, a manager can make transparent and reasoned decisions about pay rise, grade raise, hiring, etc. And also to make these decisions transparent, both for the team and for senior management and HR.

Bradford Fults [speaks](https://bradfordfults.com/business/software-engineering-leveling-expectations/) of the importance of the professional development for engineers:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bnkvjhsiardh96r90vc2.png)

## For HRs

A hiring bar for each level makes it fairly easy for HR to decide in favor of one or another candidate. It is better to compare specialists with each other, using the system - this is how the company eliminates the human factor.

- **Fairness and transparency in decision-making process.** One of the tasks of a recruiter is to find objective criteria for understanding whether a developer is ready for promotion or not. Clear steps towards achieving career goals within the company make employees understand that their growth or lack thereof is a fair decision.

Jerry Talton [tells](https://medium.com/building-carta/engineering-levels-at-carta-d33db2a55a20) about Carta’s experience:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1q4xyrrlnnn3kssk7u60.png)

- **Optimize the hiring process**. Understanding the professional level of a potential employee allows you to more confidently determine the cost of hiring, identify the skillset and, in general, clarify whether the developer will fit into the team and can contribute to the company's goals.

- **Transparent decisions on pay raise**. If career paths are clearly defined and pay grades are tied to specific levels, then this greatly reduces the difficulty in negotiating decisions on salary increases.

Michael White [speaks of](https://wetransfer.com/engineering/how-to-build-an-engineering-career-framework-everything-we-learned-along-the-way/) how a software engineering career ladder helps to support engineers at Square:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6iyux6je9a9xcsoj1ccp.png)

- **Improve a company’s brand image**. When a company cares about the professional development and well-being of its employees and is ready to invest in their education, this always increases its credibility among candidates, making the company a place everyone wants to work.

> Read a successful case study of motivating employees and retaining the best technical talent with professional development - [What to Do if Your Developer Comes to Work With an Offer From Another Company?](https://blog.getace.io/all-posts/developer-comes-to-work-with-an-offer?utm_source=devto&utm_campaign=blog_promo)

_The story was originally posted on [Ace's blog](https://blog.getace.io/)._