Leadership

Six things I wish I knew before becoming an Engineering Manager

Switching from an Individual Contributor to a Manager path is not for everyone: here's why

Six things I wish I knew before becoming an Engineering Manager

I have always worked as an individual contributor in a team. I see a continuous pattern: I start as an Engineer in a company, but sooner or later I end up leading the team, taking tough decisions that nobody wants to take, assuming accountability for the good and bad, and people outside the team see me as a go-to-person.

I start thinking: maybe I can contribute more if I manage people and not just code. Instead of just starting from scratch if I change jobs, why don’t I start directly as an Engineering Manager?

So here I am: I’ve been promoted as an Engineering Manager. Congratulations!

I have been an Engineering Manager for a while now, and I want to share something I wish I had known earlier.

Having extremely good technical skills and business acumen is not enough anymore

I think my biggest skill is to learn quickly: if you are good at it, you can solve any technical problems. Engineers are very lucky for this: there’s an abundance of documentation on the Internet. You can literally learn everything without spending any penny, you just want to learn: you don’t need to beg anyone to get information. If you are working in good companies, also the internal processes and knowledge are open.

So you can grow without relying too much on people. At least until Senior Software Engineer, then you have to sharpen your influential skill to become a Staff Software Engineer.

But if you are on the Manager path, your team is your most valuable asset for growth. Then you should “expand your influence” as soon as possible.

I learned it the hard way during the performance check-in. I spent a whole year keeping my team engaged and keeping up with deliverables even though we were understaffed. This means I also contributed as an Individual Contributor.

I was happy about my performance: I am an Engineering Manager that can be an Individual Contributor when the company needs it. I’m exceeding expectations, right?

But my hard work as an individual contributor was almost worthless during the performance check-in. And it definitely did not help me in my career path.

I was quite upset the next day, but I learned not to bother too much about something that I can’t change (the company game rules), it’s always better to focus on things I can change (my behaviors).

So don’t be like me: if you are a Manager, you need a team, and possibly more than one, and the more people who know you, the better it is.

You have to give up the most joyful thing in the job

If you were previously a Software Engineer for several years and you have survived, it likely means you love coding. Coding is hard and also stressful, especially when you have tight deadlines.

However, the dopamine you receive after finishing a task, solving a complex problem, or seeing your work used by customers is priceless! I love it, and I also love building stuff. The more experience you gain as a Software Engineer, the less you get stuck, so you also feel you can achieve anything. This boosts the self-esteem of the Engineer a lot.

Such joy and happiness are harder to find if you are a Manager.

Every task in the backlog should be done by your reports. And your reports are humans; humans are lazy by nature. If you are lucky, you find engineers who combat laziness by automating stuff and still doing the hard stuff because they enjoy it. But you usually have engineers who have any sort of hiccups: they spend time on something not required in the task, they have personal issues, they are not convinced about the task itself, they do not follow what the team agreed, etc.

So you need to deliver through people: you always have this level of indirection that makes things more complicated. And this is stressful; you won’t have the same dopamine level as you get as an individual contributor, for sure.

Now I’m trying to rewire my brain to find joy in something I paid little attention to before:

  • I’m happy when I have a meeting with some agreed action points.
  • I’m happy when I see the sprint working as expected and my reports finding solutions autonomously.
  • I’m happy when I have 1:1s and they are happy with how the team is working, despite the environment around us not being that good.
  • I’m happy when I see a graduate/reporter growing and taking me as a mentor, recognizing my effort.
  • I’m happy when I see different teams/clients having the same context and working together to build something very big.

As you can see, there are a lot of opportunities for happiness here. But you always need to engage people, and sometimes the outcome is not tangible. So you need to practice some “mindful” techniques to appreciate.

Sometimes I really need to speak to myself: “Hey! You have tons of things. I know you’re upset you spent 1 hour explaining a trivial thing to someone else. But now the other guy knows more, and he will be quicker next time. Enjoy the compound interest in the upcoming days.” This is what I’m doing to enjoy my managerial path. The more I’m on it, the less I need to speak to myself to feel the joy. As I said, this is needed to rewire your brain to enjoy your new job.

I’m sure there are people who naturally feel it. But if you don’t, just give “mindful” techniques a try.

To succeed, you need people

It’s very tempting to do the task by yourself, it’s certainly easier doing that: talking to someone, explain what to do, convince him it’s the right guy to do it, commit him doing that in a timely fashion takes a lot of time… So… Why do I need to take that path instead of doing by myself? Because it’s not scalable, you can’t do everything by yourself. The quicker you understand it, the lesser pain you get. I learned the hard way: I was complaining with my product owner about I can’t take everything by myself, things started to slip out of my hands, he interrupted me abruptly and he said: “you have a whole team at your disposal, make them work!“.

That was my a-ha moment! I was too focused on myself and I wasn’t exploiting my team as I should. From that day, I decided to spend more effort on others than myself. Was it easy? No, because the temptation of returning to the old bad habit was high… But I knew it couldn’t work in the old way.

In the end, I was able to manage my team effectively at its full potential. Then, we had an understaffing problem, but at least no one complained about me underutilizing my resources 😅.

There is no best technique to manage people

Managing people to craft software is completely different from crafting by yourself: writing software requires expertise, and this experience you gain is ubiquitous. If you write good TypeScript code, you will likely be able to write good code even in other languages. Best practices and debugging techniques are still the same and will remain the same over the years.

But people are a completely different beast; every person is unique. What works with one of your reports can completely put off another one. Mentoring a junior is different from mentoring a senior.

If you are working in an international environment, you’ll quickly discover that your managerial skills should adapt to different cultures.

For example, Nordic people don’t like to work if one of the team members is not fully convinced. People from Mediterranean areas like to be in a friendly environment and are more prone to take action based on friendship rather than the manager’s authority. They enjoy chit-chat. On the other hand, people from Germany hate chit-chat. Europeans are more prone to express when something is wrong, while Americans tend to say that everything is good even when it’s not. Indian people often say they understand what you said, even if they don’t.

There is a ton of information out there to learn about these multicultural dynamics. It gives you a good starting point, but then you face the reality where you quickly understand that it won’t work because every person is different and can differ completely from what you learned.

So what’s the solution? Just stay silent.

Listen to your reports in 1:1s. You can learn how they see their jobs, how they think. Watch them work, observe when and how they get angry, when they are happy. Understand what they care about and what they don’t. Then you can start to talk, assign them tasks, and involve them in the project based on what you have learned.

This is the best way to get things done with them. I’ll try to write other blog posts on this topic because I know there’s much more to say here.

You need to be empathetic to be a good manager

Being empathetic means “showing an ability to understand and share the feelings of another”, and I believe this is mandatory to be a good manager.

If some of my ex-colleagues are reading what I’ve just written, they are probably laughing at me: “C’mon, you are the least empathetic person I know!“. I’m sure this is what they are thinking. And they are right! But I don’t want to deny it, I’m fully aware that my worst managerial mistakes have all had the same root: lack of empathy.

I will write about the mistakes I made so you don’t have to make them in order to learn.

What can you do if you are an emotionless ice block like myself? You can still learn to be empathetic. Maybe you won’t feel the same emotions just when your interlocutor talks. But you can ask yourself, “What feelings did your report experience when they talked to you? Why is the person feeling that way? If I do X, can they feel better?“. If you are not an empathetic person, it is difficult to express empathy and derive empathetic action points directly from the conversation, but you don’t have to make them on the spot! You can just digest offline what you heard and then come back later.

It’s your responsibility to have difficult conversations as a manager

It is your duty to have difficult conversations that nobody wants to have. These conversations may involve addressing performance issues, providing constructive feedback, or resolving conflicts within the team.

While these conversations can be uncomfortable, they are crucial for the growth and development of both individuals and the team as a whole. By addressing these issues directly and honestly, you can create a more productive and harmonious work environment, fostering personal and professional growth for everyone involved.

Unfortunately, you can’t delegate those to someone else. So, if you are not comfortable with having difficult conversations, you need to work on improving your skills in this area.

Conclusion

I hope this post has given you some insights into the challenges and rewards of transitioning from an individual contributor to a manager. While the transition can be challenging, it can also be incredibly rewarding. By focusing on building strong relationships with your team, embracing new ways of working, and developing your leadership skills, you can become an effective and successful manager.

If you are considering making the switch, I encourage you to take the time to reflect on your strengths and weaknesses, and consider how you can leverage your skills and experience to excel in your new role.

Remember, it’s okay to make mistakes along the way, as long as you are willing to learn from them and grow as a leader.

See you in the next post!

Do you like my content?

Help me creating other stuff like this!

☕️ Buy me a coffee❤️ Become a sponsor

Keeping up to date is essential

Get the latest news by email