Often, engineers find themselves promoted or taking on the role of an engineering manager (EM) without fully realizing what it entails.
The complexity and overload of the role lead many to:
- Become frustrated
- Burn out
- Return to their previous roles as individual contributors (IC)
- Or even quit
Unfortunately, this is an industry trend I see all too often. While there is nothing wrong with going back to being an IC, it means we lose the potential of those amazing technical leaders.
The problem is that being a great engineer doesn’t necessarily guarantee you’ll be a great EM. Transitioning from a technical expert to working primarily with people is a massive shift, and it requires a completely different toolkit.
So whether you have, are, or will transition into the role, you’ll likely (or do) struggle with:
- One-on-ones
- Talking to stakeholders
- Juggling different tasks
- Team dynamics
- Decision-making
- Constant context switching
- Or simply the overwhelm that comes with it all
If you do, you’re not alone – after all, it’s a very demanding position for anyone. But it’s also a very rewarding one once you become more comfortable. Getting there requires understanding what to do and how, starting with learning some basic strategies for the role.
A quick note about this post
Every section contains a link to a more detailed exploration of that section’s content. You can read each section in this post and come away with something valuable. But if you’d like more, you can find it through those links.
1 - Learn how to be
Everyone has their own management style, but it can take time to find it. However, you’re not an IC anymore, and people are depending on you. They need you to be proactive in learning how to manage effectively, so do so.
Start with these best practices.
Be the example
For instance, if you want your team to communicate in a certain way, make sure you communicate that way. Breaking your “rules” only encourages others to follow suit.
So, carefully consider rules you found helpful when you were an engineer, and start with them. But only if you can adhere to them as much as you expect others to.
Be honest
Thinking you know everything or that you’ll look stupid if you say you don’t is a massive mistake many EMs make. You want to come across as an authority, but not inauthentically.
Instead, show your team it’s okay to ask questions and rely on one another when needed. You’ll create a healthy work culture built on humility, honesty, and learning.
Be well-informed
Has an EM ever made a decision you thought showed how little they knew about what was actually going on with you, the team, or your company? Probably – we’re all guilty of ignorance from time to time.
Your job is to reduce yours as much as possible. Keep learning what you need to about each of your responsibilities so you can make well-informed decisions that make sense to others and add real value.
Be proactive
All the problems you’ll face as an EM will trample you like a wild stampede if you let them. Many EMs spend entire days, if not weeks, reacting to this stampede:
- Dodging what they can
- Slowing down others
- And fighting off yet more
You don’t have to. You’ll always have plenty coming your way, but your best solution is to take care of them before they even gain any momentum.
When doing so, focus on the actual problem instead of the person or people involved. They’ll be more willing to collaborate with and help you solve the problem, resulting in better and quicker outcomes. Not to mention, they’ll come to you more with issues rather than waiting for you to find them.
2 - Be the bridge between two worlds
As an engineer, how often did you struggle to understand or even outright resent what the business side of the company asked from you and your team? How often did you view them as a collection of “talking heads” who knew nothing about what really mattered?
Maybe many times, or maybe you were lucky enough to have an EM who could translate their needs and help you see the work from their perspective. Either way, now it’s your turn.
Think of yourself as the bridge between the technical and non-technical worlds in your company. Both sides need you to understand their needs and advocate for them to the other. Of course, advocating for the business side will be harder due to a lack of familiarity, so you’ll need to spend more time learning about it.
The good news is you already have a solid technical foundation, so you’re well-positioned to understand your engineers and their issues.
To help both sides, practice:
- Actively listening
- Being empathetic
- Providing audience-appropriate context
- And being clear
3 - Sharpen your technical edge with your team’s whetstone
It’s very common for new EMs to miss the deep technical work time they used to do when they were engineers. Actually, it’s not only new EMs who miss it – I still miss it now. There is, however, a way to overcome this loss and still maintain your technical edge.
The first step is being realistic.
Don’t think you are going to have time for:
- Lots of side projects
- Dedicated hands-on work
- And PoCs
You might be lucky enough to tackle all of that and not burn out, but most aren’t. Your role’s other responsibilities will dominate your time so much that you’ll rarely have time to code. And you don’t want to fall behind or destroy your work-life balance to make some, either.
So, instead of adding to your workload, change your mindset. You’re not an engineer any longer, but you are leading a team of them. And it’s working with them that’ll keep you technically proficient, such as:
- Having them learn about and experiment with new technologies
- Reviewing their projects, the code they’re building, and learning the new architecture
- Learning from your senior engineers and the wealth of experience they have to offer
- Harnessing the energy of your junior engineers to find out new things and learn from their progress
Teaching and coaching junior engineers also guarantees you stay up-to-date because teaching is a process of learning, too.
4 - Do “nothing”
Just as you learn through your team, so, too, do you succeed through them. No longer do you have individual deliverables to mark your progress. Instead, you’re judged on your team’s overall performance.
This difference can be disheartening at first, especially when your achievements seem less visible. So, shifting your mindset from personal accomplishments to team successes is key to finding satisfaction in your role.
Here’s what to do:
- Know your expectations: meet with your direct supervisor to learn their expectations of you – come prepared and ask questions
- Assess them frequently: learn your team’s shortcomings, such as time manager or communication – develop solutions and regularly check in with your ICs
- Learn and adjust the atmosphere: team vibe is just as crucial as anything else, so learn what’s going on and take steps to improve any issues
- Build trust: take the time to meet with and talk to your ICs – overlooking or ignoring this aspect of engineering management weakens your authority and credibility with your team
This can feel like a whole lot of nothing, but without it, both you and your team fail.
5 - Make conflict work for you
You’ve probably dealt with conflict as an engineer. Now, you're going to deal with it as an EM. For many, this is intimidating – for you, it can be a learning opportunity.
The problem is in how most people view conflict. For them, it’s a symptom of failure, but conflict can actually strengthen your team since it brings problems to the surface that might otherwise stay hidden and fester. As a result, you can deal with any unresolved tensions.
However, you can’t let the conflict escalate. In fact, you want to avoid this at all costs. When people become emotional or irrational (including you), they lash out, destroying any potential the conflict had for improvement and growth.
From your end, you can:
- Stop
- Take a step back (literally, if you have to)
- And take a breather
It’s clichéd advice, but it works. Show your team this process by using it in practice, and encourage them to do the same.
Understanding where conflict arises from helps, too. In my experience, nine times out of ten, the cause is misunderstandings. So, mediate the issue and get to the root cause. Otherwise, problems are likely to happen again.
And when you mediate, remain unbiased – there are no favorites in conflict. Focusing on the problem and not the person or people involved helps.
Initially, managing conflict is a tough aspect of the role, but with time and experience, you’ll be able to keep your cool and calmly resolve any conflict you encounter while transforming it from a problem into a productive outcome for everyone involved.
6 - Unclog workflow interruptions
Although you’re not doing the hands-on work yourself anymore, you do have to keep the work flowing. So, look after your engineers and step in if you notice clogs. Three stages could require your intervention.
Implementing tasks
Timing is often a major issue at this stage. Remember, project managers (PM) don’t know your engineers as well as you do, so advise them on who should receive which task.
Communication is another issue. Use your one-on-ones to encourage your team members to be clear and honest about what needs they have. Only then can you help meet them.
Code review
Perhaps:
- Someone is consistently slow on their reviews
- Unfamiliar with the task they’ve been assigned
- Or your top-performing engineers have unrealistic expectations of others' code
Again, use one-on-ones here. That way, you can discreetly explain to your superstar that they need to go easier on others, or you’ll have the opportunity to highlight some of the skills they need to improve on.
Quality assurance (QA)
Although you have less involvement in this process, you can still work on solving highlighted problems.
If the problems are consistent, such as an engineer continually creating too many bugs, then you can help by coaching that contributor. Perhaps they were unfamiliar or rushed to finish because of an unrealistic timeline, for example. Coaching them to resolve the issue or working with the PM to adjust timelines are some of the ways you can help expedite this stage.
It’s important that you don’t solve all the problems too often, though, because that’ll hinder your team’s development. Instead, look at the big picture – your job is to look after the project as a whole and keep the work flowing.
7 - Be the coach
Coaching your team is essential, but it’s a delicate art.
In general, people don’t admit when they have a problem and more often than not, your engineers would just like to be left alone. So, you can’t approach them like a regular coach. The issues you’ll face – or already are – will be about more than just underperformance because they’re:
- Complex
- Varied
- And require tact
I understand these conversations are never easy because no one likes telling someone they are doing a bad job. But when problems arise, you have to address them because avoiding them leads to bigger problems down the road.
The first step is to let the person know about the issue. After all, they may not even be aware.
But don’t expect them to just take it casually because no one likes being told they are doing a bad job! So, let them vent if they need to. Don’t take it personally, though – it’s natural to be defensive. Only after they have vented can you start working together on a solution.
Successful coaching is a skill you’ll fine-tune over time, and you’ll learn that one size doesn’t fit all:
- Approach each situation afresh
- Identify the issue
- Bring awareness
- And above all, be empathetic
8 - Drum with rhythm
Alignment matters, too. Even the most productive teams struggle without a clear, unifying direction.
So, create one for them:
- Communicate the vision
- Show commitment by following through on what you say you’ll do
- Take initiative when needed
- Build relationships with your ICs
And above all, make sure you do all of this regularly. Day after day, week after week, reassess the vision, how you’re communicating it, building relationships, and so on. Make sure what you’re doing is helping create the alignment you intended it to – adjust if it’s not.
The short version: understand the role
Engineering management comes with many challenges, most of which feel insurmountable when you first start. It’s easy to feel like you’re crumbling under the weight of them all, but there are ways to deal with it. These include:
- Learn how to be: be the example, be honest about what you don’t know, stay well-informed with the goings-on of your team, and be proactive with solutions
- Be the bridge between two worlds: learn the business world and advocate for both it and the engineering one
- Stay technical through your team: ask them questions, let them experiment, and more
- Do “nothing”: your team’s success determines yours, so adjust your mindset to put this as your focus
- Make conflict work for you: view it as an opportunity for growth, prevent it from escalating, and remain calm while you mediate
- Unclog workflow interruptions: step in when needed, such as during advising PMs about which engineers are best for which tasks
- Be the coach: let your ICs know when issues arise so they’re aware of them, let them vent, and work on a solution together
- Drum with rhythm: create alignment through communication, commitment, initiative, and relationships
You can always go back to being an engineer if engineering management doesn’t work out. But give the above a shot first – you might be surprised at how much more you come to appreciate and enjoy the work when you do. Your team will, too.
Want more tips on leading effective software engineering teams?
Join my newsletter if you’ve found this content useful
Originally published on Medium.com
Content in this blog post by Alex Ponomarev is licensed under CC BY 4.0.