Notes: June 10, 2025
Professional growth, career ladders and how to create engineering roles that matter
#1
10 career levels for software engineers
Engineer I: As a first-level engineer, you may be working as an intern or a junior software engineer.
Entry-level software engineer II: Entry-level software engineers are usually considered to be at engineering level two. With this rank, a person must have the foundations of engineering, programming and software development. Engineers at this level typically spend two or three years developing their technical and professional skills before moving on or being promoted to a job or role as a mid-level software engineer.
Mid-level software engineer III: Level three engineers, or mid-level software engineers, expand upon their foundational knowledge and develop an understanding of best practices for writing code and developing computer software. They can work independently and regularly assist level one or level two engineers with task-related or troubleshooting problems. People at this level of their careers often have three to six years of experience as software engineers.
Advancing on a technical career track
When software engineers have between four and seven years of experience, they might be selected by their employer to move forward in their career and move up in level and job title.
Staff engineer IV: This is a high-level position, and people selected for this type of job need to have a comprehensive knowledge of software development practices, and they must have mastery over writing code and debugging code. Engineering at this level includes performing complex programming tasks and implementing software systems. The job is often highly collaborative and may include leading teams or mentoring more junior engineers.
Senior staff engineer V: People working in these jobs typically have a minimum of seven or eight years of experience in their field. They should have the ability to perform programming tasks and large engineering projects with Independence and expertise. Level five engineers, or senior staff engineers, are often responsible for guiding or mentoring other staff members, and regularly lead technical projects for the clients that their companies serve.
Principal engineer VI: Principal engineers hold the highest position or level on the technical engineering career track. They are highly advanced software engineers who make important product decisions regarding direction and scope. They make strategic decisions about which team members should work on which areas of a project and they provide technical and professional leadership for the engineers who report to them.
Advancing on a managerial career track
Engineering manager IV: Engineering managers regularly lead teams or projects, and they provide support for initiatives throughout many areas within a company. They regularly have seven or eight years of experience in software development, and they must have a broad understanding of all aspects relating to the design, innovation and development of software products and solutions. They should be able to prioritize workloads, tasks and assignments to efficiently manage team projects.
Director of engineering V: are responsible for managing multiple teams and coordinating with team leads or engineer managers. This person must have a keen understanding of the broad picture behind the company initiative and the company development goals. They must also have an expert-level understanding of programming, code languages, troubleshooting practices and innovative design theories. People in this position often have eight to 10 years of experience as software engineers or developers and should also have two or three years of experience in leadership positions.
VP of engineering VI: A person in this role is a high-level executive who manages teams of software developers, programmers and technology assistants. These people are responsible for designing and delivering products and solutions that meet the needs of their clients. The vice president of engineering must also have tactical and strategic expertise, as well as strong interpersonal and leadership skills. Typically, a person in this role has over 10 years of experience as a software developer and team leader.
Chief technology officer: Chief technology officer (CTO) is the highest executive position within the technology or engineering department of a company. The CTO handles all final products developed by the engineering staff and is responsible for the professional and technical development and career growth of all reporting employees. They must have programming, software development, innovative design and strategic management expertise.
(Ref: Indeed)
#2
The framework relies heavily on radar charts to visually represent the different perspectives and expectations of a given position:
The framework has 4 different ladders:
Developer: role also known as programmer or software engineer, requires a deep level of technical expertise
Tech Lead: role also known as dev lead, is the owner of the system and requires a unique balance between hands-on development, architecture knowledge and production support
Technical Program Manager: role responsible for coordinating and driving to completion initiatives that span multiple teams
Engineering Manager: role also known as dev manager, is responsible for the consistent delivery, career growth and level of happiness of the team
The chart shown above has the following 5 axes:
Technology: knowledge of the tech stack and tools
System: level of ownership of the system(s)
People: relationship with the team(s)
Process: level of engagement with the development process
Influence: scope of influence of the position
The influence axis can be seen as a different dimension since it is orthogonal and applies to all the other axes.
Each axis has 5 different levels of performance. It is important to highlight that every level includes the previous one(s). For example, someone that evangelizes technology, specializes and adopts it as well.
Tech Lead vs Engineering Manager
(Ref: engineeringladders.com)
#3
tl;dr 👇
Roles up to and including Senior, ladders are constructed around becoming the best at what one does that one might personally be.
At Staff level, the career expands to help others be successful with what you do and know, and scale yourself.
At Principal and beyond, you are trying to help others be the best that they can be, removing yourself and meeting others where they are.
The Engineering
Engineer I
Engineer II
Senior Engineer
Staff Engineer
Principal Engineer
Distinguished Engineer
Misc: Tech Lead
Developer Experience
DX Engineer I
DX Engineer II
Senior DX Engineer
Staff DX Engineer
Principal DX Engineer
Distinguished DX Engineer
Misc: Tech Lead
Documentation
Technical Writer I
Technical Writer II
Senior Technical Writer
Staff Technical Writer
Principal Technical Writer
+ Sarah Dresden is explaining the rational behind this career ladder system in this post
(Ref: career-ladders.dev)