Software Engineering Job Titles Explained

Reading Time: 4 minutes

IMG_6046 Software Engineering Job Titles Explained teams leadership job market hiring career

Ranks in software engineering are defined by job titles that vary from company to company and are meant to offer a clear career ladder. The landscape can be confusing. There are no industry standards for what each title means. The same title might mean something completely different in different organizations. Thankfully some common patterns resemble most variations.

I will look at four different career tracks:

  1. Software developers, individual contributors. People who write code. Their work is purely technical, and they have no management responsibilities.
  2. Software developers, management. People who write some code (some of the time), design software and have management responsibilities.
  3. Quality assurance, individual contributors. People who test software products or write code to test software products and have no management responsibilities.
  4. Quality assurance, management. People who do some testing (some of the time), write code to test software products (some of the time) and have management responsibilities.

A Few Words on Nomenclature.

Software Development Nomenclature.

Companies refer to software developers — people who write code — with one of many names. For example:

  • Development Engineer
  • Software Engineer / SE
  • Software Development Engineer / SDE (title popularized by Microsoft)
  • Software Developer / SD
  • Software Design Engineer / SDE

In some organizations, the term “Architect” is used to identify someone who can design software systems. In some cases, “Architect” is added at the end of an engineering title, such as, “Senior Engineer & Architect.” Other times it’s used instead of the word “Engineer,” such as, “Software Architect.” In other organizations, Architects belong to a special Architecture department and typically work on more high-level software design work (more diagram-drawing, less coding).

Quality Assurance Nomenclature.

Quality Engineers are also referred to using different names. A few examples:

  • Tester. This title is typically used for QA Engineers who are not very technical, and mostly perform end-user testing.
  • Software Tester / ST
  • Quality Engineer / QE
  • Quality Assurance Engineer / QAE
  • Software Development Engineer in Test / SDET. This title is typically used for QA Engineers who can write code, and use their skill to create automated tests.

In some organizations, there are slight differences in these titles. In others, they are used interchangeably.

The Software Development Career Track.

Software Developers who choose to follow a purely technical career path fall into this track. These engineers do not have direct reports or other HR responsibilities.

A traditional career ladder for a developer looks like this:

  • Intern (not a full-time employee)
  • Jr. Software Engineer or Associate Software Engineer (rare)
  • Software Engineer
  • Senior Software Engineer
  • Principal Software Engineer
  • Distinguished Software Engineer
  • Fellow Software Engineer

The meaning of each title differs from company to company, and it’s hard to generalize. It usually depends on the number of years of experience and the technical skill set. For example, some companies call “Senior Software Engineer” somebody with 5-10 years of coding experience. I have seen resumes with “Senior Software Engineers” titles with as little as two years of experience, which I find absurd.

The titles of Principal, and especially Distinguished and Fellow, commonly require significant industry experience and tenure in the company.

The Google Developer Ladder.

Google uses a combination of classic titles and some numeric levels:

  • Software Engineer I (was deprecated in 2008)
  • Software Engineer II
  • Software Engineer III
  • Senior Engineer
  • Staff Engineer
  • Senior Staff Engineer
  • Principal Engineer
  • Distinguished Engineer
  • Google Fellow
  • Senior Google Fellow

The Amazon Developer Ladder.

Amazon uses the following career ladder for developers:

  • SDE I
  • SDE II
  • SDE III
  • Principal
  • Sr Principal
  • Distinguished Engineer

The Software Development Management Track.

Positions in the Engineering Management career path have one or more direct reports. While there are no standards, I have seen fewer variations in management titles than in development titles.

A typical pattern is as follows:

  • Engineering Lead (not always a manager)
  • Senior Engineering Lead (not always a manager)
  • Engineering Manager
  • Senior Engineering Manager
  • Principal Engineering Manager (rare)
  • Director of Engineering
  • Senior Director of Engineering
  • VP of Engineering
  • Senior VP of Engineering
  • CTO

The titles depend on the amount of responsibility that the manager is capable of taking. For example, an engineering manager typically has up to 7 or 8 direct reports. A director of engineering can be in charge of multiple levels of management and organizations of hundreds of people.

The Quality Assurance Technical Track.

For Quality Assurance Engineers, the typical individual-contributor (non-manager) career ladder looks like this:

  • QA Engineer
  • QA Engineer I
  • QA Engineer II
  • QA Engineer III
  • Senior QA Engineer
  • Principal QA Engineer

The title typically depends on the number of years of experience and technical skillset.

The Quality Assurance Management Track.

QA Managers have different titles than development managers up to Senior Director of QA. After that point, the QA management career ladder oftentimes becomes the same as engineering management.

A typical QA career ladder looks like this:

  • QA Lead (not always a manager)
  • Sr. QA Lead (not always a manager)
  • QA Engineering Manager
  • Sr. QA Engineering Manager
  • Director of QA
  • Senior Director of QA
  • Director of Engineering (from this point the manager is in charge of both Dev and QA)
  • Senior Director of Engineering
  • VP of Engineering
  • Senior VP of Engineering
  • CTO

Conclusions.

As mentioned, every company is different, and the titles listed in this post might not be correct for your organization. The career ladder of an organization is not always static and can change as the engineering group expands and matures.

In small startups, things can be messy. It is not rare to have engineers at the same level but with slightly different titles. Or titles created to describe the particular skillset of an engineer.

Larger engineering organizations tend to have more consistent and defined levels. If you worked with several companies, you might never have had the same title twice.

Leave a Reply

%d bloggers like this: