What do I miss the most from my developer role? That superpower to revert everything that I have done. That awesome feature you tested heavily and put everything you know into it? Somehow it broke the production. Never mind, revert to the last version before. How cool would it be to undo things we do with people and return everything to the last stable state?
As a developer, you are allowed to make mistakes
In the IT industry, we build safe-to-fail environments and encourage people to learn from their mistakes. We are relying on the possibility of reverting changes from production. As a senior developer, when mentoring my colleagues, I encouraged them to write code. I want them to contribute even if their coding skills are lower. One of my biggest punchlines that always startled everyone in the room was, “Do not be afraid to write bad code.” Why? You will learn from it, and you can always refactor.
When you become a senior, you are so deep into this way of work. Everything is built around PoCs and MVPs. You feel confident putting anything in production. Maybe you will refactor the entire chunk of code later, but it is crucial to ship it now. One, two, three sprints, done. It is deployed to production. But one day, something happened. You deployed a minor fix that broke one functionality of an important client. You feel bad, but in a few minutes, you revert your changes, and everything works fine again. Phew, disaster averted. You can even delete commits completely to forget that unfortunate fix forever. And you know that your manager supports you. She knows you didn’t have time to investigate it thoroughly. You feel safe, which gives you confidence in dealing with this kind of situation in the future.
But being a senior is not the final stage of growth for you. You reached the point when you can have a higher impact if you help build new teams. You got a promotion proposal to become an engineering manager.
Great, you’re a manager now! Unlearn everything you know.
The most usual pitfall for all fresh managers is to stick to the same way of work they did as engineers. They don’t instantly shift their way of thinking from “maker” to “multiplier” (Patrick Kua):
- Makers are people who enjoy making new things by themselves. All engineers are makers by default.
- Multipliers multiply the intelligence and skills of the people around them. They focus on delivering value through other people. But being the multiplier is a must for a manager.
Besides staying in a maker mindset, new managers often do not take enough time to learn about their roles first. As I stated before, engineers are used to learning by doing.
But when you become an engineering manager, you cannot rely on “Undo” anymore. There is no magic command git revert –hard HEAD that will revert what you’ve done.
Every action and decision you make sticks with you forever when dealing with people. They are added to your experience log like a transaction in the time series database. And you have only read and write permissions.
Meet Ana, a fresh engineering manager
She thought that attending leadership workshops was a waste of time. So she didn’t have an opportunity to learn how to give constructive feedback. Without constructive feedback from her peers on workshops, she is also unaware of how bad she is at taking one.
As the workload grew, she tried to do everything herself, relying only on her experience. Because of her workload, she hadn’t time for regular 1:1s, so she couldn’t know how people really felt.
She made a series of bad judgments based on assumptions, and people lost trust in her. Nobody could ever tell her that because she would not take it well. Ana failed her team as a manager and would give anything for the UNDO button to undo her actions.
Let us UNDO things for Ana and go back to the start
Ana admitted that although she had proven herself as a developer, she was new to a manager role. She needed to learn about it first. She took advice from her senior manager colleague and read a recommended book.
Ana learned how to give constructive feedback in a leadership workshop. She even learned a blind spot about herself about not being good at taking one. She took some advice from the lecturer, and now she knows how to work on that. She spent regular time every two weeks on 1:1s and learned much more about her teammates. She even tried coaching techniques she learned to help one of her colleagues to improve his presenter skills.
Ana is spending regular focus time learning and improving her management skills. Her team trusts her because she gives them safety. She has shown integrity despite being fresh in the manager role.
What can you do to avoid failing?
You, unlike our imagined manager Ana, do not have an undo button because you operate in the real world. So what can you do to avoid her fate?
First, you need to find time to learn about management and work on your new skills. You can read recommended books like “Making of a Manager” or attend leadership meetups or conferences. If you have the opportunity to attend leadership workshops, take advantage of them. You will learn new terms and techniques to help you see the pattern in real situations. It is like knowing architectural patterns in programming. You will know how and when to apply them if you learn them.
Second, change your state of mind from “doing it” to “managing it.” Awareness of the importance of developing other people’s skills before mine is what helped me the most. You are now a multiplier, not a maker, meaning you must kiss your inner developer goodbye. You will miss it, but having an opportunity to help people become a better version of themself is rewarding in itself.
Third, to boost other people’s skills or decide what is best for them, you need to know them first. People need to feel safe around you. They need to be comfortable to share even some awkward topics. To achieve that, you need timely and regular 1:1s. It is a good use of time, even if you speak about topics unrelated to the job. It is your time to exercise your active listening skill. Don’t have time for 1:1s? Skip everything else. You are an engineering manager. People come first.
To help yourself bootstrap a new role, I highly recommend you:
- Reserve regular time in your calendar for learning and improving your management skills.
- Reserve your spot on local Leadership Meetups. Meet your peers and share experiences with them.
- Subscribe to newsletters with leadership topics like Level Up or Software Lead Weekly.
- Join slack leadership groups to gather worldwide experience, like Rands Leadership or LeadDev.
You can’t undo, but you can have your team support – you
Decision-making is not easy, especially in crises. Thinking about possible outcomes of your actions in front is a good practice. It is advisable to sleep over each big decision, but do not fall into the trap of overthinking everything. You will not have unlimited time to think about everything before deciding.
Rely on your knowledge of the people. If you know the people you are working with well, you will also know what reaction to expect. I usually imagine myself filling their shoes before I decide for them. It helps. When you know their way of thinking, you can adjust your approach to help them overcome all possible outcomes.
There is another perk of spending more time with your teammates. Get them to know you. Do not hide behind the manager role and the heavy burden that you are carrying. No matter how much you prepare for this role, you will eventually make mistakes. If people see you as part of the team, they will support you.
Good relationships go both ways.