Being an engineering manager is like captaining a ship.
You’re in the open waters when:
- The wind changes direction or dies completely
- The clouds cover the stars, so you can’t navigate
- And your compass breaks
You could shake your fist at the sky and curse your luck, or you could:
- Change the sails
- Look for points of reference
- And navigate these challenges to reach your destination in spite of them
Anything else leaves you floundering in the middle of nowhere, still futilely shaking your fist and cursing.
Maybe you’ve already felt this way as an EM. If not, you will, and often. Just when you think everything is on track, something throws you off course. Preventing this derailing is optimal, but adopting and embracing an agile approach is excellent, too.
It’s your best way to face the unknowns that still await you in engineering management. Otherwise, the consequences, as you may well know, can be quite severe.
What flexibility means for you as an engineering manager
To clarify, when I say be flexible, I don’t mean you should bend to everyone’s whims. It’s very tempting to do that, especially as a new EM! But that only leads to being walked all over and, eventually, burnout.
The flexibility I’m talking about is more in the way of thinking and handling dynamic situations.
Thinking things should be a certain way and failing to adjust when they’re not won’t serve you well as a leader. Reality is never going to completely align with what you envision – the key is learning to live with that.
Luckily, flexibility is a skill you can learn, and it gets easier with more practice. I know this because I wasn’t always flexible myself, but I’ve improved in that area over time.
The first step is handling the change from engineer to engineering management.
1 - Transition in more than just your job title
Transitioning from engineering to engineering management is not a one-day shift, although it is a stark one. Some things change immediately, such as your responsibilities, but others take time, such as your:
- Mindset
- Misconceptions
- Strategies for working with people
- Skill level
- And more
Which is tough since the role forces you to move quickly, although you can take steps to slow it down.
In addition, when you’re an engineer, your work tends to be a little more defined – I’m not saying it’s an easy job, but you have more predictability. You work on a task, and you probably know the next steps and what task you’ll have after that. If things change, they change within the task.
Many engineers aren’t flexible by nature. They want explicit details for what is required and needs doing (although they’re just as likely to do something different!). And the predictable routines of their roles constantly reinforce their expectations.
No one tells you what to do as an EM. Yes, you can lean on your peers, read books, and even talk to your supervisor (and you really, really should), but they’re not laying out your tasks for you. Instead, everyone’s going to tell you the problems and wait for you to fix them.
Of course, you need their help to do so, but you have to determine the solution. Delegation, then, becomes key for success. So, learn what your team can do – then, you can play to their strengths when the situation calls for it.
2 - Learn to live with the wind
I live by the ocean. It’s beautiful, and the views are stunning. But the ocean affects the weather. The temperature is colder than in other parts of the country, and there are always strong winds.
When tourists visit, they always ask about that last part, saying something like, “How can you live with this?!” But when you live here, the wind is just part of your life.
Maybe you hang your clothes out to dry, and they get blown away! Maybe you buy a ping pong table for your garden and quickly realize it’s very hard to play when the wind keeps blowing the ping pong ball every which way!
Again, you could shake your fist and curse, but the wind will keep blowing – it doesn’t care. So, instead, you can:
- Buy a windbreaker for days outside
- Buy a washing machine and dryer
- And move your ping pong table inside
At first, as an EM, you’ll feel like the tourist (if you haven’t already). You’ll start your day saying things like:
- “Okay, I don’t know what’s going on”
- “I don’t know who’s going to fix this”
- “I’m not sure what to do”
But, over time, you’ll become more like the local. Instead of ending with those phrases and the anxiety and frustration that comes with them, you’ll add on this one, too, “But I’ll figure it out!” This only happens if you learn to live with the wind instead of constantly ignoring your situation or fighting against it, though.
3 - Have low expectations but high standards
Broadly speaking, I see two types of people in working environments: happy and unhappy.
The happy type tends to have lower expectations. By low expectations, I don’t mean low standards, though – I mean that they don’t go into a situation expecting a certain outcome. They are okay with what transpires, and they’ll adjust accordingly.
The unhappy type is the person who comes with a lot of expectations of how things should be. The problem is every person on the team has the right to act independently, meaning the outcome often varies greatly from what they expected.
A way to avoid the second, unhappy approach is to set reasonable expectations for yourself and others but have high standards when it comes to results.
4 - Focus on results, not methods
So, people work in different ways – you are not going to change this (and shouldn’t want to). Say you ask everyone to prepare an agenda for meetings – each one will look different. You’ll get one:
- On Google Docs
- With bullet points
- With lots of colors
- On Notion
- Via email
- And so on
Yes, these variations can be annoying, but they are not likely to cause any big problems. Everyone produced an organized, helpful agenda.
As another example, many engineers are introverted, as you probably well know (maybe you are, too!). While you might prefer more impromptu meetings and just more of them in general, they probably don’t. Instead, they may perform better with written communication, and it doesn’t take much to accommodate this change.
Your team will appreciate your willingness to cater to their needs, you won’t have to micromanage them, and you’ll probably even learn new and effective ways of doing things!
Flexibility is contagious
Flexibility doesn’t just happen in isolation. You’re leading a team, so if you’re not flexible, they’re not likely to be, either. And if they aren’t, the company likely won’t be as well.
The opposite is also true. If your company isn’t flexible, it will likely create the same in its teams and people.
Take AI, for example. OpenAI released ChatGPT in November 2022. Prior to this, there was machine learning and NLP, but the whole field exploded with the release of this product. The world suddenly learned about LLMs and new horizons they opened.
You might think many engineering teams started using, developing, or at least experimenting with LLMs and AI developer tools, but a lot haven’t even started thinking about it because they’re still doing risk assessments or struggling to adjust their processes. In other words, they weren’t flexible enough to shift even years later.
But some have. They couldn’t have anticipated the massive shift LLMs would’ve caused, but they were prepared to ride the waves because of their culture and practices.
And that meant they weren’t uselessly shaking their fist and cursing – they saw an opportunity they were ready for and seized it, benefitting as a result.
Thankfully, I can count myself and my team in that boat. The industry is constantly evolving, and this is just the way things are, so I hope you can or will soon be able to count yourself in the same boat, too.
The short version: conquer your inner inertia
Flexibility is a skill you can (and should) develop. Here are some steps you can take:
- Acknowledge change: understand your role has changed and will continue to evolve
- Make the choice: choose to live with the uncertainty of your role
- Be realistic: set realistic expectations of yourself and your team but maintain high standards
- Be results-oriented: embrace different working styles and focus on the results, not the method of achieving them
Once you make the choice to work with uncertainty, your life as an EM will become much smoother. Instead of fighting every day and being overwhelmed, flexibility will allow you to become more agile and gain the ability to overcome any challenges that come your way.
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.