Home Engineering Management in Software

Engineering Management in Software

On May 30th, 2021, after spending almost 8 years in an individual contributor role, I stepped into the uncharted waters known as “Engineering Management”. Having spent almost a year as an EM, I’ve realised that it’s a complex mix of engineering and management. Let’s zoom in.

Why do we need an Engineering Manager (EM) on the team?

Software products are an intersection between the business and engineering functions within a company. To lead a software product (or a part of it), team needs a leader who not only knows the business but can also engineer the product behind the business. Engineering managers are the people who interface between engineering and business and naturally are critical to the success of a software product. Having a leader who is missing on either business or the engineering capabilities can prove to be a matter of success or failure for the software product.

What does an Engineering Manager do?

An Engineering Manager is the bridge between the business and the engineering teams. An EM has the following responsibilities:

Contribute in technology

EMs are engineers at heart. They do write some code to keep their skills sharp but generally spend time in building engineering processes such as technical design/code reviews and code coverage to ensure the correct code ends up in the commits.

Along with being the flag bearer of code quality, an EM should also be a great thought partner in technical discussions with senior engineers and architects to help them make decisions in the light of business needs and goals.

Manage Deliverables

The EM lays out the plan, commits the timelines, builds processes that ensure the timelines and business requirements are met, and keeps a health check on deliverables once shipped. To achieve this, an EM makes use of the right tools for roadmap planning, execution, documentation, and checks the pulse via daily stand-ups, feature design reviews, testing and post-delivery feedback.

Build the team

Team building has two aspects a) growing existing talent and, b) hiring talent. Neither takes precedence over the other.

EMs should be hosts of exceptional interpersonal skills, allowing them to support teammates towards their aspirations and suitable career paths. Scheduled 1-1s allow EMs to build a direct connection with their teammate, allowing them to empathize, provide candid feedback, and set goals.

There will be times when a team requires more firepower – therefore, an EM is also responsible for hiring the right talent. The right talent means that the shortlisted candidate brings compatible strengths and the right attitude. EMs should enable themselves by collecting sufficient data throughout the process to help them make an informed hiring decision, backed by conviction.

Carry the right business acumen

Building software without understanding the why will lead to engineering decisions that may not be in line with business goals. This is where EMs play the role of an interface between the business and the engineering teams. Having a deep understanding of both the business goals and the engineering goals, EMs ensure the right engineering choices are being made to support the business goals. Engineers who are able to connect their work to the bigger picture are more excited and engaged in building the product and EMs are the people who make this happen.

Champion and evangelize culture & values

Being the captain of the ship, an EM should build a strong culture of ownership, empathy, openness, humility, and respect within the team. Along with the constant preaching across various platforms, an EM has to lead by example on the culture and values of the organization and build the same across their team.

To summarise, an Engineering Manager is the essential cog between Engineering and Business which makes the clock work.

This post is licensed under CC BY 4.0 by the author.