Software teams today are certainly looking for ways to enhance value and drive productivity. Unfortunately, this is often easier said than done. Optimizing and enhancing a team of software engineers starts with having solid managers who possess the skills necessary to maximize production pipelines and increase throughput—all without burning out talented developers.
Suffice it to say that a solid engineering manager is worth their weight in gold. With all this in mind, here are some of the traits that define what makes a good engineering manager.
What Makes a Good Engineering Manager?
1. Respect for Autonomy
Most developers, especially talented ones, hate meetings. After all, meetings interrupt workflows and drag out the workday. They also irritate employees who would rather communicate on channels like Slack when issues arise. Those who are unfamiliar with engineering departments would be wise to avoid unnecessary meetings at all costs. Instead, they should embrace autonomy wherever possible.
As an added benefit, employees will know to take meetings seriously because you’ll only schedule them when they’re absolutely necessary. Plus, it’s good to have a reputation as someone who avoids wasting time and prefers completing tasks.
2. Strong Hiring Skills
Autonomy only works for highly driven teams made up of top performers. As such, good engineers prioritize hiring by taking several factors into account. Technical and personal interviews are critical. Timed testing projects are, too.
Engineering teams are highly vulnerable to bad hires, who can slow down workflows, drive up production costs, and make critical errors that can end up in production. As such, engineering managers need to be very careful about who they bring on board to avoid these issues.
Software development is becoming increasingly agile and integrated, as teams are knocking down silos and looking for ways to increase communication, transparency, and speed.
Engineering leads need to be aware of new emerging best practices, like shifting left. Developer leads set the pace and culture of the entire group, which is why it’s critical to remain agile in thinking and execution.
4. Exceptional Communication Skills
In most companies, managers act as a liaison between numerous stakeholders, including executives, board members, clients, end users, and developers. This can be very challenging due to the fact that projects typically run over budget and over schedule.
Solid managers have excellent communication skills and deep visibility into DevOps flow metrics. This enables them to provide realistic project estimates and real-time updates. What’s more, strong communication can keep tensions low, keep stakeholders happy, and prevent talented developers from leaving for greener pastures.
Since software development is difficult and time-consuming, it can also be very frustrating. Even with shift-left strategies that prioritize testing, errors can slip into production, requiring lengthy and expensive reworks.
Managers need to be patient about production. They also need to anticipate challenges before they arise. The best managers should have a thorough love of software development and a positive attitude about working through challenges to completion—even when it requires spending nights and weekends fixing issues.
Teams that are diverse and inclusive consistently outperform teams that get siloed and lack communication.
Managers should at least make it a point to communicate with all team members and make sure that everyone has a voice and feels heard.
7. Advanced Prioritization Skills
Pulling engineers away from one task to focus on a bigger priority can have lasting repercussions, delaying other workflows and pushing projects past their deadlines. Managers are advised to be very careful when prioritizing projects, especially when teams are short-staffed and overworked.
It’s critical to have a macro view of the development process, with clear visibility into what developers are working on. Yet visibility is only part of the challenge. Managers also need to be able to triage projects and understand which tasks should take priority throughout the day.
8. A Zero-Trust Approach
A growing number of engineers are embracing the zero-trust framework, which says that no identity, human or nonhuman, should have unrestricted access to a system or database. By restricting access, managers can prevent costly cybersecurity incidents.
The concept of zero trust is still relatively new. As such, it isn’t always popular with end users who may view it as overly restrictive. But part of being a manager is making tough decisions to protect the good of the organization.
To this end, managers should look for ways to explain the benefits of zero trust through lunch-and-learn sessions and training seminars. The trick is to obtain buy-in by showing how zero trust can reduce cybersecurity incidents and ultimately save time, making work easier.
Working as an engineer isn’t always glamorous. Sometimes, it involves slogging through projects or performing secondary work—like troubleshooting an API.
Managers need to keep an eye on morale and look for ways to keep staff members feeling challenged, motivated, and excited about coming to work in the morning. If the job becomes overly monotonous, workers could wind up leaving for more exciting roles.
The best managers keep work fun by rewarding and incentivizing completed projects, issuing challenges, and offering fun perks when possible.
10. Advanced Coding Knowledge
Oftentimes, employees stop coding altogether once they enter into management. Rather, they focus the majority of their time on administrative issues instead of diving into the weeds with software development.
While this approach can work, managers still need to stay up to date with coding and have proficient knowledge about what their workers are using. This is important for assessing and analyzing work, hiring new employees, and helping troubleshoot issues when they arise.
11. Managerial Skills
Top producers don’t always make the best engineering managers. Someone might be a rock star developer but could wind up struggling when put into a managerial role simply because production skills don’t always translate into leadership skills.
Because of this, managers need to be able to balance technical and administrative hats. It’s important to remember that programmers deal with lines of code, but managers deal with people—and those are two very different areas of expertise.
In fact, engineers who are transitioning into management roles are advised to consider managerial training to learn best practices and prepare for the task at hand.
12. An Ability to Quantify and Measure
Projects can be very complex with shifting priorities, technical challenges, and team constraints, among other factors. Still, managers have to measure and analyze projects to identify risks and keep projects on track. Fortunately, recent advancements in engineering project management make it infinitely easier for administrators to track progress.
For example, LinearB offers a purpose-built project board that centralizes information in one location so that managers have all the details they need in order to make impactful decisions. The platform analyzes code in real time, flagging inefficiency and risk and making in-the-minute suggestions. The software runs with zero manual inputs and adapts to scrum, customer, or kanban processes.
Need a Refresher on Management Skills? LinearB Can Help!
Managing a team of talented engineers can be very challenging, especially when there are a ton of people on the team. This is why it’s important to keep your managerial skills sharp and up to date.
For assistance, LinearB offers the Dev Interrupted podcast with host Dan Lines. The show focuses on team building, leadership, and culture through interviews with expert engineering and product leaders.