What levels are there on the software engineering career ladder? Once you’ve become a software engineer, where can you go next?
The software engineering career ladder includes six levels: mentor, tech lead, junior manager, engineering director, large group management, and senior manager. Titles may vary between companies, but the method for how to become an engineering manager and more are the same.
Read on to learn more about how to become a software engineering manager by developing new skills and advancing on the software engineering career ladder.
How to Advance on the Software Engineering Career Ladder
We’ll briefly cover the six levels of the typical software engineering career ladder as described by Camille Fournier in The Manager’s Path. Fournier based her career ladder on personal experience, and she notes that your titles and responsibilities may vary, since software engineering is a young field and there aren’t many agreed-upon roles or definitions yet. She says this ladder can still be helpful, though, as it offers a general outline for how your career will likely progress and how to become an engineering manager.
(Shortform note: Other software engineers add that the speed with which the field changes also makes it difficult for people to agree on titles and roles. As technology quickly evolves, the industry creates new roles for people who work with new software and engineering techniques. These new roles develop faster than they can be standardized, increasing confusion about what steps should come next on the software engineering career ladder.)
Level #1: Mentor
The first managerial experience many software engineers have is being a mentor to a junior team member, such as an intern or new hire. Experienced engineers take on this responsibility, but it’s not an official managerial role. As a mentor, you’re still primarily an engineer, but you’re also responsible for helping your mentee acclimate to the company, understand their tasks, and connect with their coworkers. Fournier says this is a good first step toward learning how to become a software engineering manager because it lets you practice directing and supporting another person without the pressure or higher stakes of an official role.
Level #2: Tech Lead
The next step on the software engineering career ladder is tech lead. Much like mentorship, this is a set of responsibilities rather than a managerial position. You’re the official technical leader of a group, but the role doesn’t grant you a raise or advance your position in the company’s larger hierarchy—you still report to the same manager as the rest of your teammates. The tech lead role lets you practice managerial skills on a larger scale, holding more responsibility while still avoiding the pressure of an official managerial position.
(Shortform note: Being asked to fulfill managerial responsibilities without an official promotion or pay increase is called a dry promotion, some business experts say. While Fournier presents this as a good thing, letting you acclimate to extra responsibility with less pressure, these experts disagree. They describe dry promotions as under-compensation, as increased responsibilities should warrant a matching increase in salary and position in the company’s hierarchy. If you feel you’re being given an unfair level of responsibility for your salary and position, check how your responsibilities and pay compare to industry standards, and then ask for a true promotion.)
As a tech lead, you’re responsible for overseeing your team’s software projects in addition to your engineering duties. You make a plan to complete the project, maintain communication between your team and manager, and supervise your team members’ work to ensure the project is completed properly and on schedule.
(Shortform note: Other software engineers point out that tech leads won’t always be responsible for all the tasks Fournier describes. Often, some elements of your team’s project will be handled by co-leaders. For example, you may work with a team lead who provides feedback to team members and handles communication with people outside of the team, or a project manager who creates the overall plan for completing the project.)
Level #3: Junior Manager
The third level of the software engineering career ladder is junior management, which Fournier calls being an engineering lead. This is the first official management position, and thus it comes with a new title and pay increase. The junior manager role is similar to that of a tech lead, as you continue to oversee projects and liaise between your team and your superiors. However, you also gain some new responsibilities, including hiring new team members, giving feedback to your direct reports, and helping select projects for your team. Gaining experience as a junior manager is key in learning how to become an engineering manager at a higher level.
Level #4: Engineering Director
The next level Fournier discusses is engineering director, where you manage several teams at once. Like a junior manager, you provide your teams with resources and support, but you do so through longer-term actions like training your subordinates in new skills, as well as identifying any systems that need to be updated and delegating the responsibility for those updates.
(Shortform note: Some career experts say that when you’re promoted to engineering director, you become the head of the whole engineering department. While Fournier doesn’t specify this, the responsibilities she discusses arguably fit a department head, since training employees in new skills and ensuring systems are updated would both strengthen the engineering department as a whole. Furthermore, her claim that engineering directors focus on long-term plans arguably fits a department head’s strategic responsibility to direct their department’s evolution. For instance, if the department is evolving to use a new coding language, a department head may set hiring guidelines to ensure their junior managers only hire people who know that language.)
Level #5: Large Group Management
Fournier says the fifth level of the engineering management career track is large group management, where you’re in charge of a group composed of other managers and their teams. As a large group manager, you continue supporting your teams like you did as a junior manager and engineering director, but on a larger scale: You’re responsible for hiring, liaising with, and giving feedback to the team managers—the junior managers and engineering directors working under you—rather than individual team members. This role also comes with the new responsibilities of helping your direct reports develop their own managerial skills so they can properly support their engineers, and following up regularly to make sure they do so.
(Shortform note: In First, Break All the Rules, Gallup Press says an important part of managing other managers is giving them the freedom to develop their own managerial style. This will help them and their teams succeed, as they can freely use their unique skills. But how can you give this freedom and make sure your direct reports properly support their engineers? One method is setting end goals (like having monthly meetings with each engineer on their team) but letting your direct reports decide how to meet those goals (like when and where they’ll meet). You can also develop your direct reports’ managerial skills by training them in strategies that high-performing managers in your department use, since they’ve proven to be effective.)
Level #6: Senior Manager
The final level is senior management. Fournier groups a number of roles and high-ranking positions under this heading because your specific responsibilities as a senior manager can vary depending on your exact job title and company. This variation occurs because companies assign titles and responsibilities according to their unique priorities. Because of this, learning how to become a software engineering manager at this level will look different in different contexts.
(Shortform note: These priorities (and therefore the company’s title policies) aren’t necessarily related to the tasks you’ll be responsible for. Sometimes, they relate to more general company matters like hiring strategies or philosophy, according to Ben Horowitz in The Hard Thing About Hard Things. For example, Marc Andreessen (cofounder of Netscape) recommends using lofty titles because they attract talent, while Mark Zuckerberg (cofounder of Facebook) recommends using simple titles to make the organization’s hierarchy clear and meaningful.)
The most common titles for senior engineering managers are Chief Technology Officer (CTO) and Vice President of Engineering (VP). According to Fournier, CTOs often focus on strategy—identifying ways that technology can help the company as a whole. VPs, on the other hand, focus on execution—ensuring that all the teams within the engineering department are effectively implementing the CTO’s strategy (or the CEO’s, if there isn’t a CTO).
(Shortform note: In Inspired, tech entrepreneur Marty Cagan combines Fournier’s description of CTO and VP responsibilities, saying CTOs are responsible for both determining the company’s strategic direction and ensuring the engineering department delivers on that strategy. In fact, he excludes the VP role entirely, instead discussing Lead Project Managers. These senior executives understand and track the various parts of the company, ensuring they work together smoothly—a similar responsibility to the VP role, but on a companywide scale. This isn’t specifically an engineering role, but Cagan says Lead Project Managers must understand basic computer programming to effectively monitor the engineering department.)
Despite this variation, there are some qualities that Fournier ascribes to all senior managers: They’re strong leaders, can adapt quickly, and work well with non-engineering leaders in their company. These skills help senior managers lead the engineering department (and ultimately the company as a whole) in new, profitable directions as opportunities arise.