There are as many approaches to engineering management as there are managers. Unlike for technical disciplines, there is rarely a formally-trained manager. Each manager, after a few years as an engineer, has to come up with their own approach to the job and learn from books, articles, and personal experience.
In my years of engineering and managing, I’ve settled on my own set of guidelines for what makes a manager successful. To be successful at the job, I approach the work as a combination of three separate but equally important responsibilities.
- People management
- Aligning with company goals
- Successful execution of deliverables
Together, these responsibilities can be seen as the glue that keeps teams operating with one another. In a large organization, the manager is mostly spending their time in 1on1s, planning roadmaps, talking to other managers, and running some projects. In smaller companies, the engineering manager actively leads through personal experience and by setting standards and examples. They may even evaluate their reports’ work through code reviews. However, regardless of the size of the company, a manager has to balance the three responsibilities above.
It should be noted before going forward that the manager will be responsible for filling any gaps in the team. Is the quality of the product less than ideal? The manager is responsible for instituting policy and seeing that the delivered product is properly reviewed for defects. Are teams communicating poorly and setting bad expectations? It’s up to the manager to assist in aligning and expectation-setting. In other words, the manager is the person responsible for everything that is not well done by their leaders, peers, or reports.
Arguably the most important aspect of management is ensuring that the team is well-staffed and content in their work. No one but the manager is responsible for this group of engineers and it’s important that this aspect of the job is done well over all other tasks.
Staffing is a bit of an art. Due to the complexity of engineering culture, building and employing a well balanced team is a challenge in and of itself. A manager needs a good mix of ambitious, detail-oriented, and well-communicating engineers, and no one individual will possess all of these qualities. It’s up to the manager to understand the gaps in their team and either fill them with the right individuals or fill in the gaps themselves.
A manager is also responsible for ensuring that their team is content in their work and will not leave. This requires that they understand the motivations of each engineer, and that these motivations align with the work at hand. Daniel Pink summarized motivation as being a combination of purpose, autonomy, and mastery (once the salary is out of the equation). Unfortunately, a manager will not always have the opportunity to give each team member all three and will likely need to balance personal preferences with the available work.
In addition to the points above, people management also involves hiring, conflict resolution, helping people cope with difficult moments, coordinating team-building activities, recognition, and helping each individual with career growth.
Alignment with company goals
The second part of a manager’s job is communicating company goals to the team, and reporting on the team’s progress back to leadership.
A team that is not working to improve some type of company metric or goal is not going to be successful. The manager must take the goals of the company and boil them down into actionable targets or project for the team to pursue. This may take the form of quarterly, bi-annual, or annual goals and roadmaps. It may also be a continuous reminder of some measurable metric that is reviewed on an ongoing basis. Depending on the company culture, these goals may come directly from leadership or they may have to be devised by the manager and presented to their leadership for review.
A manager’s own manager will also expect them to report on the progress of their team to meet those goals. Part of this expectation may be running bi-weekly sprints, weekly report emails, etc. Every company does work-tracking differently and the manager will need to follow a process that aligns with company standards and their own preferences (and those of their team).
Execution of deliverables
Last on the list is a team’s ability to successfully deliver new projects. While the actual project coordination is done by someone taking the role of a product or project manager, it’s not unusual for this to be the engineering manager. Regardless of who leads the execution, the overall quality of the work, and delivery of an expected outcome by a certain time is ultimately the responsibility of the engineering manager. They are the ones who will be asked difficult questions about why something is late, or of poor quality, or does not meet the expected outcome.
The manager must always supervise the work being done and ensure that the right engineering processes are in place. One such process may go like so: starting the project with proper evaluation of the work being asked, putting together a rough outline, putting together technical documentation around execution strategy, writing down the work to complete a project, setting milestones and timelines, executing to company standards, working with stakeholders to review the work and with QA on proper testing, etc. If any steps of the ideal process are missed, it’s up to the manager to train their engineers and set the expectation of a process to follow.
The engineering manager is responsible for wearing many hats. They will likely not wear all of them successfully and will have strengths in some areas (e.g. team building) and weaknesses in others (e.g. goal settings). Even within one responsibility they may be strong in some areas (e.g. running a project) but poor at some other aspect of it (e.g. ensuring the delivery of a defect-free product). What’s important is for the engineering manager to recognize their strengths and weaknesses and do their best to balance them all.