Whether you’re about to take the next step in your career or simply looking a few steps ahead, it is valuable for everyone in the software field to understand what makes a good software engineering manager.
However, as you’ve probably discovered, finding clear answers isn’t easy. This guide will help you prepare for an Engineering Manager opportunity, whether you apply for a new job or move up in the ranks at your current company.
First, let’s review the basics of the engineering manager role.
Generally speaking, software engineering managers are responsible for the overall productivity and well-being of software engineers who report to them.
The most important responsibilities of a software engineering manager include:
Also, depending on the organization, some software engineering managers will help manage projects and may even write code.
Software engineering managers who do not write code typically have 10-15 direct reports, while it is more common for “player/coach” managers who work alongside engineers to have 4-6 direct reports.
Depending on how the organization is structured, some managers will oversee engineers working together on the same product team. In other cases, managers may be responsible for engineers in a particular skill area who work on separate teams, like back-end engineers or QA.
According to the U.S. Bureau of Labor Statistics (BLS), Computer and Information Systems Management is expected to grow by 11% by 2030, and jobs in Software Development are predicted to grow an average of 22% in the same amount of time.
Considering those numbers and the steady increase of jobs in the software industry, we can expect to see more management positions popping up for qualified applicants..
A software engineering manager is a major checkpoint on the career path for people who want to jump from the technical track to the management track. After spending some solid years here, you can move into more senior positions, such as a Director or VP level engineering management roles.
However, it’s important to note that moving up to more senior roles is difficult because they require proficiency in soft and technical skills.
If your goal is to eventually take on a c-suite level role, you will need education, training, experience, and skills set you apart from the rest of the pack.
Becoming a Software Engineering Manager isn’t like moving from a level II engineer position to a level III role.
To make this major career move, you need to have the right training and experience. Here are key steps to becoming an engineering manager:
Before managing other engineers, you need to do the job yourself. There is no substitute for first-hand experience with the challenges that software engineers face day-to-day.
You will need 1-2 years of experience working as an individual contributor at an absolute minimum. However, 3-5 years is a more common time frame for software engineers to take on their first management role.
Opportunities often arise for engineers to take on specific leadership or management tasks before a full-on promotion to software engineering manager.
If you are eager to see whether you would be a good fit for management, consider looking for leadership opportunities in the following areas:
It is also important to let your manager know that you are interested in leadership responsibilities. They will probably be happy to have your help and lighten the load of managing the team.
To be a good software engineering manager, you will need strong skills in the following areas:
Very few engineers start strong in all these areas, so aspiring managers need to get feedback on their performance from their manager and focus on skill areas that need the most improvement.
The best way to ask for a promotion will depend on your organization’s HR and performance review processes. In some places, you may need to wait for an annual review cycle, while in others, you may need to apply for an internal job opening.
Whatever process your organization follows, the best way to get promoted to a software engineering manager is to already be doing as much of the job as possible. If you help your manager by proactively resolving problems, mentoring others, and leading projects/meetings, the promotion will become inevitable. You don’t need to wait for formal recognition to become a de facto manager.
If you ever feel stuck, such as if you do not get along with your manager or don’t think you are receiving good mentorship, you should try to move teams as quickly as possible.
Capable engineering managers are in very high demand, so keep in mind that your best opportunity to become a manager may be to take a job at another company.
Software engineering manager compensation varies widely between companies and levels of experience. The form of compensation can also vary a lot, with tech companies and start-ups offering a significant amount of stock, while others may have a higher base salary or bonuses.
To estimate your salary, your best bet is to match your years of experience and unique skill set to salary reports on sites like Glassdoor, Payscale, Indeed, and Levels.fyi.
To give you a starting point, levels.fyi lists the average annual compensation for the lowest level of software engineering manager at Microsoft as $230k, with a $168k base, $39k stock, and a $23k bonus. Netflix, which is known for paying at the top of the industry, offers a staggering $600k median annual salary for software engineering managers, all in base salary.
Stepping into a management role isn’t like moving up to a higher engineer level. It is more a career transformation that requires a complementary set of skills and training.
But, if you’re set on obtaining the role and doing the job well, you can prepare in many ways.
By assessing your current skill set and plugging the holes with specialized education, formal training, and mentorship, you’ll be able to grow your career with confidence.