For more content like this subscribe to the ShiftMag newsletter.
Embarking on an engineering career can be intimidating, especially when you see all the different titles and the knowledge required to reach that particular level. Don’t be afraid, though. The better the hierarchy in a company is, the better you will understand your career path and what you need to learn to progress.
We can divide career paths into three main courses you can take in your engineering career:
- Individual contributor
- Management
- Executive
Let’s focus on the individual contributor path now since it has the most ladders to climb and is where everybody starts their career.
Engineer I
The first-level engineer, or Engineer I, starts as an intern or junior software engineer, focusing on developing technical skills and resolving code issues. In this stage, which typically lasts up to two years, a junior should grasp basic coding, handle tasks assigned by the Team Lead, and contribute ideas in meetings. Junior engineers also work on configuring and testing services, ensuring all tasks meet The Definition of Done (DoD).
Engineer II
Mid-level software engineers, also known as Engineer II , usually has two to five years of experience in software development. Their responsibilities include basic programming tasks like troubleshooting, code reviews, and testing software systems.
They need less supervision and have acquired fundamental skills in engineering and programming, allowing them to handle more complex tasks independently. At this stage, a Mid-level engineer should grasp clean code principles and participate in service design and technical enhancements.
Engineer III
Engineer III or senior software engineers have five or more years of experience. This person is an experienced individual contributor with a deeper technical understanding. Senior expands upon their foundational knowledge and develops an understanding of best practices for writing code and developing computer software.
Also, seniors are familiar with multiple coding languages and are comfortable with various software development tools. They can work independently and regularly assist level one or two engineers with task-related or troubleshooting problems.
Staff Engineer
Staff engineering is the fourth level of engineering and a high-level position that requires comprehensive knowledge of software development practices. Individuals in these roles typically have at least seven or eight years of experience in their field and, in some companies, even more than ten years!
Engineers at this level are expected to have a strong proficiency in coding and debugging, as their work involves executing complex programming tasks. The role often requires taking ownership of crucial technical components , providing technical leadership, and offering guidance on the architectural direction of projects. This is how Infobip defines Staff Engineer:
When you are not only recognized for your technical skills but also abilities to lead and influence others in your feature team when it comes to technical decisions, you are ready for the role of Staff Engineer. Besides technical tasks you will be working closely with Product Managers to understand the business needs better but also work on your leadership skills and support Engineering Managers in different activities, from tracking performance to hiring new people.
Principal Engineer
We are reaching the second highest position on the technical engineering career track: principal engineer. Principal engineers are highly advanced software engineers who make crucial product decisions regarding direction and scope. They also make strategic decisions about which team members should work on specific project areas and provide technical and professional leadership for the engineers who report to them.
Also, sometimes, there is one more step before the top. If you are a principal engineer at Infobip, your next step is to become a senior principal engineer. This is how Infobip defined the role in its Engineering Handbook:
We expect you to be an authority in engineering within the company-wide scope and work to ensure long-term stability, security, and performance within the scope of whole Infobip platform. You are able to visualize and share the current Infobip architecture and infrastructure (HW, SW, cloud, database, network…) and drive research areas upon new initiatives and technologies.
You are always ready to provide technical consultancy to rest of Engineering department and you are a member of something that we call A-team.
Distinguished engineer
The position at the top of the IT mountain is that of a distinguished engineer. We are talking about an engineer who is often one of the most respected technical experts and the pinnacle of a technical career within a company.
That person sets the highest-level technical strategy, influences industry standards , serves as a technical advisor to the company’s leadership, and even moves the industry forward. Most engineers do not reach this level, which requires a long history of significant technical excellence, innovation, leadership, and industry recognition.
Read more: How to become a Distinguished Engineer
Why is it essential to have a well-defined hierarchy?
Software engineers’ different titles and levels define specific experience levels, tasks, and responsibilities. Companies may use some or all of these levels, but having a hierarchy is essential for clarity and motivation. To see a concrete example, check the Infobips Engineering Handbook to learn how Infobip has defined an engineer’s career development.
Furthermore, don’t expect companies to have the same hierarchical structures or names for titles. Some prefer the title Engineer I, while others prefer Junior Engineer. Also, the age of experience required for a specific role could differ, or there may be even more steps on the ladder. That’s why some companies have Senior Engineer I and Senior Engineer II.
As engineers advance in their careers, their roles become more complex and require less supervision, which is reflected in their pay and their value to the company. This structured career progression benefits employees and the company by boosting motivation, engagement, and retention. It gives employees a clear path to set goals and continue learning, leading to more significant contributions and company growth.
More software engineering career advice:
The cycle of engineering career development: impostor, intuition, stagnation, repeat
From Development to UX, from IC to Manager – and back – with Merlin Rebrovic, Google
The post Staff, principal, distinguished: Engineering career levels explained appeared first on ShiftMag.