How should engineering managers use their technical expertise?
A recurring red flag to me when interviewing at some companies is that they want their engineering managers to be highly technical, a “hands-on” “player-coach” with the “roll up your sleeves” mentality. To me, this description indicates that the company ascribes to a different school of management than I do.
The interesting question that divides these school of thought is “how should an engineering manager be using their technical expertise”:
- In one school of thought, engineering managers are role-models for their direct reports. These managers are frequently called “Tech Lead Managers” and are very directly using their technical expertise in team projects. They lead design discussions; directly manage project execution; review documents and perform code reviews; and may even spend their time programming.
- In the other school of thought, engineering managers are coaches for their direct reports. These managers very rarely use their technical expertise directly although frequently benefit from it indirectly. They talk to stakeholders, build roadmaps, hire and mentor, and delegate projects to the right people.
I think the managers as coaches is the better approach than managers as role-models. When the technical lead role is separated from the manager role, engineers are more likely to take strong ownership of their workAnother perk is that engineers have a clear career path that doesn’t involve management.
and managers are more likely to avoid common traps and less likely to neglect their people management responsibilities.
Directly using technical expertise is a trap
There are two main traps a technical manager can fall into here: Adding Too Much Value (and thereby depriving their team of ownership and the opportunity to grow) and Focusing Too Much on Technical Problems (and thereby neglecting underlying management problems).
Even if they don’t fall victim to those two traps, I believe technical managers will inevitably struggle to be effective as both a technical leader and a people manager. For me, it takes a tremendous amount of time and attention to maintain the context and situational awareness required to successfully navigate an organization and maintain relationships with all my direct reports. I know from experience it takes a similar amount of mental energy to make non-trivial contributions to a complicated codebase. I simply don’t believe it is possible to have the bandwidth to be both a great manager and a great engineer.
Indirectly using technical expertise a huge asset
Technical expertise helps engineering managers this section is a work in progress
:
- Design organization topologies to match good engineering systems
- Understand what projects are feasible and not feasible
- Understand what projects are “right-sized” for engineers; big enough to challenge them to grow but still achievable
- Fill roles on the team when there are gaps (e.g. helping junior engineers do database schema design when there is a missing tech lead)
- Represent the team to other stakeholders
- Design decision making frameworks that produce the right outcomes
- Understand the impact of faulty engineering processes (e.g. flaky tests, etc)
Wrap up
There are two main schools of thought on how managers use their expertise to lead teams: some managers are role models and others are coaches. I think managers should aim to be coaches so they can avoid the common traps that hands-on managers face.