Software engineering management positions are highly competitive.
But that comes as no surprise when you consider that these roles typically pay well and provide unique opportunities to make important decisions and have an impact.
There’s much more to being a software engineering manager than you might expect.
This post will explain what an engineering manager is, what they do daily, and how much they get paid.
Here’s everything you need need to know about the engineering manager role.
An engineering manager is responsible for the overall health and productivity of a team of engineers.
Contrary to traditional notions of management by direction, an engineering manager more often spends their time interacting with stakeholders outside the engineering team and working with processes to remove impediments, improve productivity, and establish engineering KPIs.
Successful engineering managers must provide an enjoyable and rewarding work environment for their employees in order to attract and retain top talent in today’s competitive market.
Depending on the type of role and the particular company, engineering managers can take on other responsibilities too.
In a “player/coach” management model, managers may write code alongside engineers part of the time. This helps them to stay close to technical challenges and provide detailed technical feedback to people on their team.
Engineering managers may also manage projects – assigning tasks, running meetings, and interfacing with business stakeholders. In agile development, engineering managers sometimes fill the scrum master role.
Engineering managers spend the bulk of their time supervising, coaching, and supporting software engineers.
As a result, they typically handle the following tasks:
However, the work of an engineering manager isn’t necessarily restricted to people management.
When working for smaller companies, professionals in this role can also spend time on technical tasks like writing, debugging, testing, and deploying code. Across the board, engineering managers will often handle project management tasks too.
As a result, engineering managers need to be well-rounded, as they might jump from a technical project to a one-on-one meeting to a strategy session in a single afternoon.
Engineering managers need specific knowledge and expertise to be successful. Here are just a handful of the leadership skills they should have.
Between leading effective team meetings, discussing complex issues one-on-one with engineers, and sharing project updates with stakeholders, engineering managers spend a lot of time communicating with people.
So naturally, being a good communicator is an important skill to have.
Here’s what that entails:
Managers need to be expert problem-solvers to be effective team leaders.
Not only because engineers will inevitably ask for help with technical issues, but because project planning is heavily steeped in problem-solving too.
Workloads need to be expertly balanced to keep projects on schedule without burning everyone out. Bottlenecks need to be identified and eliminated. And sometimes, differing opinions and perspectives held by engineers and c-suite leadership need to be reconciled.
As a result, the better able an engineering manager is to solve complex (and sometimes sensitive) issues — the better off the team and organization will be.
Whether they’re trying to sort out their career path or manage their current list of tasks, software engineers (especially junior engineers) will need support and guidance from someone who’s already been there.
This means engineering managers not only need to proactively build relationships with their team members, but they also need to be prepared to:
Engineering managers need to know what makes their team tick. They need to be aware of their engineers’ well-being and be able to read the room during one-on-one and group meetings.
Having emotional intelligence is about more than just spotting burnout signs and noticing that an employee is frustrated during a meeting, though. The point is to develop empathy.
Whether you, as an EM, agree with the employee or not, being able to put yourself in their shoes and look at it from their perspective will allow you to respond better.
Sometimes, engineering managers need to get back in the weeds to help their teams with technical challenges. This might mean quality control, debugging, or writing code directly. But regardless of the technical skill needed, there is still technical skill needed.
So, if you’re planning to step into the role of an engineering manager, keep in mind that your coding days aren’t necessarily behind you. You may need to keep your software engineering skills sharp and stay up to date on software engineering best practices.
Like other jobs in the software engineering field, you can’t pin down an engineering manager's salary with a single number.
Factors like years of experience, company size, industry size and growth rate, company salary bands, and benefits included in the compensation package all play a role. That being said, there are many salary reporting websites out there that can give you a good benchmark for an engineering manager's salary.
For example, Levels.fyi reports that engineering managers typically make between $194K (the 25th percentile at Oracle) and $280K (the 75th percentile at Microsoft), plus yearly bonuses and stock options.
While an engineering manager role may sound exciting, it’s essential to look at what the job entails and how your interests and strengths match up with the day-to-day duties before applying for the position.
If you do happen to have what it takes, though, you’re in luck. Not only does the position pay pretty well, but it offers a variety of meaningful projects to work on too.