Software development teams are increasingly focusing on improving delivery velocity and boosting developer productivity. To help the team with these goals, it’s important to have a strong engineering manager at the helm — one who has the required skills to maximise output while avoiding burnout of engineering team members.
Like people at an all-you-can-eat buffet, engineering managers have a lot on their plate! Their to-do list is filled with meetings, 1 on 1s, hiring talent, reporting, and most importantly, managing people.
If you’re an engineer looking to solidify a position in management or you've just begun your journey as an engineering manager, you’re probably wondering what makes a great engineering manager.
Engineering Manager Responsibilities
An engineering manager's overall goal is to ensure their software engineering team consistently delivers high-quality software products within the stipulated time. Essentially, the duties of an engineering manager revolve around planning, directing, and executing projects, along with supervising a team or teams of engineers.
If you’re an engineer, you must already know that the engineering manager role comes with specific expectations on top of traditional manager duties. A traditional manager’s role requires assigning tasks, providing guidance, and overseeing operations. On the other hand, engineering manager duties include all the functions expected of a regular manager plus the technical know-how to create high-level plans and ensure the timely delivery of software. Other regular duties for engineering managers include budgeting and communicating, and collaborating with other department heads and stakeholders.
The role of engineering managers in every organization is different as it doesn’t follow a “one size fits all” approach. Despite this, in tech startups and enterprises, the following will be expected from you as an engineering manager.
Needless to say, as an engineering manager, you’ll be managing projects and ensuring your team is delivering without delays.
Engineering projects can last anywhere from a few months to years. Throughout the project lifecycle, engineering managers need to ensure all elements of the project are in sync. It is essential for engineering managers to see a task through successful completion. To do so, you need to possess strong project management skills that include:
- Overseeing the execution of assigned tasks
- Facilitating a smooth transition as the project moves from one stage to the next. For example, from the planning phase to development
- Communicating with different departments and team leads
- Making sure the project is completed as per the business requirements
- Planning sprints, assessing project dependencies and continuously looking to optimize development processes in accordance with business-specific goals
Just like a cup of coffee in the morning, daily stand-up meetings are a great way to kickstart the day. Conducting stand-ups is an essential part of being an engineering manager. They help you gain a well-rounded perspective of your team's progress.
Stand-up meetings are a quick way to know about every individual’s work status and if there are any blockers that will slow them down. Then, you can find ways to tackle the hindrance and delegate tasks accordingly. These daily meetings are also great for encouraging team communication and making your engineers feel supported.
As interruptions can kill developer productivity, having the standup meeting at the start of the day frees up developers to focus on their main tasks.
One of the most important responsibilities of an engineering manager is to cultivate a healthy environment that allows engineers to provide feedback openly.
With 1 on 1 meetings with your direct reports, you have the unique opportunity to have meaningful conversations with engineers about their goals and accomplishments. You can gain insights into their overall performance, understand where they need your support, discuss areas of improvement, and acknowledge their efforts.
Essentially, you can be your team’s Yoda and guide them through any challenges, as well as nurture their career aspirations. This way, you ensure the overall success of your team as well as the organization.
If you’re an engineering manager, chances are you have a meeting due as you’re reading this. Because you’re the direct link between your team, other teams, and relevant stakeholders, expect a number of meetings throughout your day.
More often than not, you’ll have to work with other team leaders to brainstorm ideas, create roadmaps, and set priorities.
It’s also your duty to keep everyone in the loop, including the managers and executives to whom you report to. Making sure that you are prepared for these meetings with data and insights on budgeting, benchmarking and resource allocation is important.
With great powers comes a wide set of responsibilities! And recruiting new talent is one of them. As an engineering manager, it's important that you take the time to fight the right engineers that will do the job and fit with the team.
You can be involved across different parts of the hiring process — be it preparing the job description, evaluating the assignment, or conducting a technical interview with the candidate. Either way, you play an important part in deciding if an applicant is suitable for the role.
As an engineering manager, you can play an important part in building world-class engineering teams. This will require going beyond daily projects and tasks, and looking at the best practices and tools used by the top engineering teams.
We will discuss these in more details in a separate post, but here are a few examples of software engineering best practices
- Push teams to write clear code rather than going for cleverness. It will make the codebase easy to read, search and maintain.
- Encourage smaller changes to the code in the form of Pull requests. This leads to faster code reviews (leading to faster delivery velocity)
- Use a holistic approach to measuring and improving developer productivity through engineering metrics and KPIs and developer surveys.
Depending on your organization and team, you may or may not be expected to code in an engineering management role. You’ll always be an engineer at heart, which gives you the added advantage of resolving conflicts and understanding an engineer’s predicament. For example, you can oversee pull requests and code reviews or provide technical expertise if an engineer is stuck.
While writing code is not a major part of your job, and the higher you rank in leadership, the less you’ll code, even then, becoming a code contributor on occasion can be a refreshing change of pace.
As an engineering manager, you’ve achieved the holy grail if your team is delivering faster, with higher quality, and in a healthy team culture. But how do you achieve these goals?
We believe that the road from software engineer to engineering manager can be made easier with the right information and guidance as well as the right tools at your disposal.
Ready to drive engineering success?