Understanding the 10 Career Levels for Software Engineers

By Indeed Editorial Team

Updated September 29, 2022

Published February 22, 2021

The Indeed Editorial Team comprises a diverse and talented team of writers, researchers and subject matter experts equipped with Indeed's data and insights to deliver useful tips to help guide your career journey.

Job titles for software engineers in the public sector vary from company to company. However, there are specific levels of seniority for engineers that those titles fit into. If you are interested in computer coding or software development, you may want to know what those levels are and how they can impact your potential salary. In this article, we describe the 10 engineering ranking levels in the three stages of career development for software engineers and give the national average salary for people working at each stage.

What is a software engineer?

A software engineer is a career in information technology that focuses on the creation and maintenance of computer software systems. These professionals have technical knowledge and skill regarding engineering and software development. Software engineers develop, maintain and improve software for many devices including mobile phones, automobiles, healthcare equipment and devices, computers and are other machines. These engineers often work with clients or client companies to assess issues and design software solutions to resolve their professional needs and meet their overall goals.

Read more: What Is Software Engineering?

What is an engineering level?

Engineering level refers to a person's position or role within a team or company structure. Your job title and engineering level depend on your years of experience, technical skill and internal or external promotion during your career.

Technology companies or software development companies typically create career ladders to outline specific job levels for engineers. As people start out in their careers, it is likely that they will progress through one to three engineering job levels. As software engineers move forward to the fourth level of their career, they will typically be geared toward a technical engineering career path or a managerial engineering career path. Both of these paths have their own career ladders with specific engineering levels for people to aspire to.

Related: What Degree Do You Need to Be a Software Engineer?

10 types of engineering levels

Here is a list of the ten engineering levels within the three stages of career development for software engineers:

Starting your engineering career

You are likely to move through one to three levels throughout the first five or six years of your career as a software engineer. The national average salary for software engineers at these ranks is $50,308 per year. Here is an explanation of what these three career levels are, and what you may be expected to do at each one:

Engineer I

As a first-level engineer, you may be working as an intern or a junior software engineer. At this stage is of your career, you are developing your technical abilities and working to resolve and troubleshoot code and software related issues. It is likely that your job title will reflect first-level engineering status for up to two years.

Related: Explore Junior Software Developer Salaries

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. Much of this person's job revolves around completing basic programming tasks such as troubleshooting code, participating in code reviews and testing software systems. 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. These people are familiar with multiple coding languages and are comfortable with software development tools. 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. Those who advance beyond engineering level three, and move forward through the technical career track, are considered senior engineers. They may earn titles such as senior staff engineer or principal engineer. The national average salary for engineers with this seniority level is $132,271 per year. Here is a description of the responsibilities and job functions of senior software engineers at levels four through six in their career:

Staff engineer IV

For people pursuing a technical career path in software development, the fourth engineering level is often earned by being hired as a staff engineer. 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 overwriting 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

Engineers at level five are typically senior staff engineers or advanced staff engineers. 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.

Related: What Can You Do With an Engineering Degree? Top 17 Engineering Degree Jobs

Advancing on a managerial career track

There are four specific engineering levels for software engineers pursuing a managerial career path. Software engineering managers oversee and guide the creation of programs, systems and applications within their teams or companies. These individuals are highly advanced in the creation, development and implementation of various aspects of computer programming and software engineering.

Managerial positions regularly include director of engineering, vice president of engineering and chief technology officer. These roles are highly advanced, innovative and leadership-oriented, and most people have at least eight to 10 years of experience before reaching this level. The national average salary for software engineering managers is $152,005 per year. Here is a description of the four levels a person pursuing a managerial track as a software engineer can aspire to:

Engineering manager IV

When following a managerial career path, level four engineers typically hold job titles similar to engineering manager or software development manager. 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

Directors of engineering, or level five engineers, 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.

Related: 7 Certifications To Boost Your Software Developer Career

VP of engineering VI

On the managerial development ladder for software engineers, vice president of engineering is the sixth level of career development. 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.

They often have a bachelor's degree in computer science or engineering or a master's degree in engineering or software development. 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. This person often has a bachelor's or master's degree in software engineering or computer programming. And they also regularly have a master's degree in business administration. 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.

Explore more articles