Spoiler: it’s more complex than a 10-step guide and there’s no instruction manual – but there’s practical help that can take you from being an already good engineering manager to becoming a great one.
As we at Waydev well understand, some of what makes a great manager of software engineers is knowing how to encourage developer productivity and set and track performance goals. And how to press the right buttons to effectively manage great teams in delivering great software, keeping stakeholders feeling great as well.
Great software engineering managers’ management has much to do with people management.
So, the question comes here on how to become a good software engineering manager capable of doing people management.The best ways to become a good or great engineering manager are linked to these pillars: engineers, teams, and leadership. A development analytics tool like Waydev might help with all that. (Not to toot our own horn, but we are trusted by over 1,000 engineering leaders worldwide).
This focus on people will make it easy to gain a competitive edge and become better at leading and fostering a collaborative culture and continuous improvement.
Let’s see how to be a good software engineering manager from a good manager tackling these challenges to a great one!
You might recognize your own self here.
A successful engineering manager is an engineering manager who is good at their job and sees how their team works and potential work patterns over time. They see bottlenecks and issues that, once cleared, let the team focus and become more productive.
They see their engineers’ less flashy work and know how to build the case for additional resources in the boardroom. And they adjust expectations and coordinate with other areas to function effectively as a whole.
Of course, there are specific qualities a good engineering manager uses to set things in motion. Grit, empathy, conflict resolution, emotional intelligence, actively seeking out feedback and acting on it are a must. Plus the understanding that all the strategies in the world won’t work unless there’s good execution.
TIP: Sounds familiar so far? If you’re having trouble measuring performance and tracking engineering goals and OKRs, Waydev can help. Our tool automatically analyzes codebase, PRs, and tickets to get a fast view into how your team is REALLY doing and what they need. Save up to one day every week.
You don’t need a study to tell you that great software engineering managers contribute to both team and company success, nor that the wrong person would negatively impact productivity and quality of work—but there’s a ton of them out there.
And we all know that managing roles vary from team to team. So how can one become a good software engineering manager that their team needs?
For starters, it isn’t just about being good at telling people what to do. It turns out, effective managers aren’t mind-bending wizards—they’re just really good at a few things.
Starting with …
Lines of code are an inaccurate one since contributions in software take on various forms. Based on this, Waydev created metrics such as Impact, for example, to measure the significance of code changes with respect to software engineering nuances.
How much of your team’s burn is going to refactoring old code? What did everyone deliver yesterday? How do Monday all-hands meetings affect productivity? What were the riskiest commits yesterday that could probably use a second set of eyes?
By using the right metrics, you can start conversations, ask better questions and advocate for your engineers with practical data.
TIP: Waydev helps you with these relevant metrics you should pay attention to, to solve the biggest engineering management challenges. See the full picture in our 30-Day Free Trial. Book a demo with one of our experts.
As a manager, you can do your best to keep the spirits high and nurture growth. But you should know that the most effective way of getting engineers motivated is to give them projects that balance their skills with their interests, while keeping the tasks challenging.
One might focus on a specific area of the codebase for quite some time, with no progress. Another engineer might deliver a huge part of code work at the end of an iteration, fearing their progress might be judged. Others might be quiet heroes or experts in a particular codebase area, but risking to become less productive and perfectionists.
These are just some of the patterns we’ve identified with our development analytics tool, by working alongside hundreds of successful engineering managers. To get you started, our solution architects pointed out several ways to use Waydev to analyze work patterns.
Analyze archetypes to learn who needs a new exciting task or more consistent praise for their “invisible work”; who needs to be challenged and who needs pair programming to enjoy their coaching skills, who to cross-train and who to mentor.
Then, you can use data insights according to each engineer’s output and goal tracking, to lead one-to-ones effectively.
Some of the most dreadful things an engineer will complain about: self-reporting, giving status updates, unnecessary meetings.
You know how important it is to protect their time from blockers, meetings, conflicts, and vague processes, and clear their path for awesome code. Spare them the frustration of having to redact those dry corporate reports, and switch to a Git Analytics dashboard. Learn more about this here.
This way, you can run more productive stand-ups, reduce friction and enable efficient workflows for your engineers. Moreover, you have concrete data to easily spot those at risk of losing their motivation and fix issues before they impact the project.
Another change you can adopt is to mind their individual needs and peak activity hours.
While a manager has no issues in organizing his work around meetings, for an engineer this has a high impact on their productivity, as they usually end up losing half a day over a simple meeting.
The hardest job as an engineering manager is advocating for people. This means understanding how they work, what drives them and how they spend their time and energy.
A key part of doing this is offering recognition for both effort and success, be it privately, to the team or to higher management, to support individuals in accessing development opportunities.
But, as you know, engineers tend to be introverted or quiet when it comes to speaking about accomplishments or struggles. Sometimes it is even hard to see it, as it happens with paying down technical debt, which is traditionally very difficult to notice. New feature development oftentimes implies re-working old code, so these activities are not as clear cut as they might seem, and take more cognitive complexity.
That’s also the case with other patterns you might come across in your team. When you know them, it becomes easier to consistently recognize and appreciate contributions and efforts that otherwise go unnoticed. You can do that during one-to-ones, daily stand-ups or retrospectives. This consistent attitude will reinforce healthy, more sustainable behaviors in your performing team.
At the same time, motivation is deeply influenced not just by mastery, but also autonomy and purpose. And being a great manager means to let developers solve the technical challenges, providing them freedom, trusting them and supporting their decisions.
While your engineers should be spared any unnecessary frustration, they need to be able to function within a complex web of relationships. They should focus on moving the project along, while learning how to relate and build relationships with colleagues in other departments.
Your people need to be able to work without being micromanaged. Of course, giving them autonomy to thrive and grow doesn’t mean the absence of any management either.
But outside of emergency or crisis situations, they need to control what tasks they focus on, in what order, and in what way.
Purpose relates to your engineers understanding the bigger picture and what part they play in reaching the end goal. If that’s still not clear, it’s up to you to help them see how they fit in and the impact of their efforts.
It also helps if they are personally invested in the product. It can feel utterly exciting to be working on something you’re passionate about. And being able to take pride in your work is a source of great joy, renewed energy and motivation.
When it comes to helping each of your people attain mastery and a clear purpose, there is rarely a need for expensive, sophisticated programs. Allowing them to explore new technologies or take on projects that spark their interest will be useful.
On the other hand, engineers usually experience performance drops if they feel their efforts go to waste. Engineering managers can monitor individual performance drops using One-to-one reports provided by Git Analytics tools like Waydev.
Great engineering manager sees their team as a holistic system that works based on a certain input and provides output accordingly. Whenever there’s a different output than expected, they investigate the cause and clear the way.
Tracking code reviews, visualizing work patterns, spotting bottlenecks and process issues can show you if there’s a matter of having unclear targets, goals and expectations within the engineering team.
Your responsibilities as an engineering manager are to clarify these aspects, make yourself available whenever someone needs you and provide responses based on individual approaches. They already see you as their trustworthy leader. Be their guide when it comes to quality issues and assisting those struggling with their tasks, while letting them develop decision-making, leadership and cooperative skills along the way.
One of the most exciting aspects of engineering management is fostering a unique team culture.
Our advice is to truly understand the existing culture, how the team functions, and what works for them. After you understand your team habits and practices, you can build from there and implement new things.
It often happens to see that over time, as the team grows, some of them aren’t working well for them anymore. That is the moment when you have to start to remove the bad or unhealthy processes, and introduce some new practices.
These new practices have to be defined by what your team believes in (based on their input), while embodying the company’s vision and culture (code reviews, weekly development sharing, hack days). The next step is identifying what behaviors align and encourage them.
Another way to inspire a strong culture is to bring unbiased data reports to scrum ceremonies. This way, engineers can build a culture that values the healthy tension between speed and thoroughness in their work.
When talking about the success of development teams, the working environment is often neglected. A good engineering manager knows how crucial it is to provide a productive development environment.
Whether we are talking about giving your team the right tools, finding a balance between releasing new features and refining existing ones, or designing onboarding processes for new engineers, managers are the key to creating an environment fit for progress.
A good leader will recognize the potential of onboarding as a tool for empowering new hires. It can also give existing team members the chance to share their knowledge and mentor. You will also be able to detect team members with leadership qualities and define their growth trajectories.
If your engineers aren’t learning anything new or don’t feel challenged, it’s likely they will not be putting all of their efforts into it. It’s not uncommon or surprising to see a developer walking out to join another team for the chance to play around with a different tech stack and solve new problems.
Another important aspect is having a positive workplace. People need to express openly without feeling judged or weak, and feel good checking solutions with their peers. Start an effective communication by replacing the habit of asking questions like “What did you work on yesterday? What are you working on? What issues are blocking you?” and get those answers from the data available in development analytics tools.
This way, you can start conversations that create a sense of collaboration and shared contribution, not micromanagement. Daily standups are helpful in creating this exact space.
Your team expects you to set the course and drive them to the target destination.
For them to be able to focus on what they need to do to get there, they must first feel safe and comfortable. If they have to worry about some other team interfering with the project, power struggles, or other managers’ egos, you’re not doing your job and keeping them from doing theirs.
An effective management also means protecting them from distractions and blockers, keeping a transparent and fair approach, implementing new changes and methodologies that balance the needs of engineers and of the organization.
Advocating for your team’s work within the company is a big part of effective engineering management. After all, you need to show your managers and leaders of the company that all the resources are spent productively, while gaining trust in them.
For example, if your team has been working on cleaning up technical debt in the previous sprint, you can bring up data reports from your software development analytics in stakeholder meetings. This way, you make the invisible work that drives the business forward visible to those who need to understand it.
Without data, it’s almost impossible to convince senior leadership to promote engineers, allocate resources, and implement organisational changes.
As an engineering leader, you are the one responsible for making decisions. Gut decisions can prove to be wrong, and we all know that wrong technical decisions can have disastrous outcomes not just for the team, but for the stakeholders. Luckily, great engineering managers can make decisions backed by data.
In the ‘7 Breakthrough Decision Practices‘ white paper, Cloverpop’s Erik Larson talks about an imperative need to go about making decisions in a step-by-step, process-driven way. Larson then goes on to recommend a six steps process for all decisions:
The takeaway here is to learn how to stop struggling with decisions. In Larson’s words, use a decision-making tool and avoid becoming a decision-making fool.
Think about that next time you’re raking your brain, struggling with a tough decision. Choose a development analytics tool and save yourself and your organization from the pain of wrong decisions.
Yeah, communication is key when it comes to aligning different technical or non-technical departments. But especially when it comes to your managers. Why?
While team communication asks for more autonomy and less overcommunication (engineers just wanna code), this upward direction needs the latter one. And the larger the company, the more updates from you serve as reminders to your stakeholders about all the activity.
Having meaningful meetings with senior managers is also helpful for them. When you provide concise data that is easy to understand by non-technical people, you support leadership in making informed decisions about business directions. They might bring these data-driven reports to their managers.
Trusted by 300+ companies, Waydev simplifies how you showcase engineers’ productivity to senior management and offer a high-level view of the work done. Schedule a live demo here.
Obviously, transparency is part of work ethics. But when it is supported by data insights, you help external management to process the information more efficiently, with the desired outcome. This builds up the trust and credibility of your engineering team, even when it is about unpleasant changes.
For example, you can show the potential consequences of unclear requests from external stakeholders; justify budget needs or raises, and connect the dots between your team and the business.
Often, directors simply want to know that your team’s results are generally aligned with business expectations, that you understand your team dynamics and that you are able to align your leadership accordingly.
Such relevant dynamics are the successful onboarding of a new hire, the ability for senior engineers to take more complex projects or to mentor juniors along the way, and any opportunity that proves the alignment between the engineering team and senior leadership.
One of the most rewarding parts of being an engineering manager is the unique opportunity to influence your team’s growth and efficiency, while ensuring code quality. It’s also a consistent effort to ensure these happen, even though there is a lot of uncertainty along the way.
Luckily, gone are the days when you had to hold exhausting meetings in front of upper management based on hunches. Or when you had to elevate your team based on gut feeling.
Now, you have agile data-driven tools to use to your advantage and go from being an already good engineering manager to becoming a great one.
Handling a team of talented engineers is very challenging for software engineering managers, especially when the team has more individuals. The software engineering manager should have knowledge about leadership skills, so interacting with the team is a must. Managers should stay informed about industry trends and best practices.
As it constantly involves new technologies, methodologies, and emerging tools, it is a continuous learning and adaptation process. To become a great software engineering manager, Use Waydev, your complete Development Analytics tool, to automatically leverage data and measure engineering performance. Let’s bring out the best in your engineers’ work!
Use Waydev, your complete Development Analytics tool to leverage data and measure engineering performance automatically. Let’s bring out the best in your engineers’ work!!
Ready to improve your teams' performance?