Why EMs?
After writing Scaling pains, a friend of mine asked me the following:
Why would you need an EM (Engineering Manager) at all with a team of 20 (15 seniors and 5 juniors)?
I know why he is asking this question - there’s history. Suffice to say, his experience with EMs for the most part is troublesome. He is a competent engineer that takes typical EMs duties upon himself. Things like: engineers alignment, 1:1s, and providing support to his PMs, finding opportunities across teams. These are some of the things he does, as an IC.
Going back to the question.
An EM can take many roles within a company. Sometimes it’s difficult to define what an EM is, or does. It’s dependent not just on the company they are operating, but also what’s needed from them at particular times (seasonality). These are some of things that they work on:
- Hiring. At the end of my stint at Babylon, most of my time was spent hiring PMs and Designers. I was roughly spending 2 full days a week on staffing outside my immediate team. EMs are usually the hiring manager, so it makes sense for them to spend time doing this.
- Facilitating work. What I have noticed many times, is just because there are competent ICs in a team, it doesn’t mean they are good facilitators. It doesn’t mean they are able to organise the rest of the team (4 - 6 engineers) around a common goal. Sometimes it happens, but it’s less often than one might suspect. Engineering Managers, take this duty and help scoping, breaking and planning work. In many companies, these duties are done by either a full time Scrum Master, or by a Product Manager. Neither of these people usually come from a technical background. This makes it difficult to challenge engineers and do a good job.
- Teams alignment. EMs are usually aware of what other teams are working on. Serendipity is common, when you have this role and know your peers well. They are able to tell when teams are working on the same things. They are also able to leverage other teams work, for their team’s advantage. EMs also look into engineering processes. During my time at Prolific, I spent considerable time doing this. The goal is simple: making teams more productive, while helping the company scale.
- Coaching. An EM is expected to manage engineers. This happens during regular 1:1s. To be effective, an EM a) shouldn’t have more than 6-8 direct reports b) should be intimately familiar with their reports work. This is the most important role an EM can have and where their multiplier power comes from. I advise reading Coaching for Performance.
- IC work. This is less common, but EMs can do some IC work, outside the critical path. This allows them to know what’s happening in the codebase. If an EM is doing to much of this (more than a day per week), they are likely sacrificing other things.
All this to say that some of these things can be done by an IC - e.g Principal / Staff Engineer. These roles however are more focused on opportunities in the codebase, rather than processes, people, or teams.
Given the original question, an EM (at 10-20 people) is there to support the work, the effectiveness of the teams, personal development of their reports and scaling the company.