As of now all of you know that I switched my job role to an Engineering Manager from a Software Engineer a little more than a year ago. In this article, I’m going to explain how I transitioned from an individual contributor to a manager, not just related to responsibilities but also to mindset, and also the things I learned.
- This article doesn’t target any specific companies, groups, or people. Apologies if someone gets offended.
- This article only represents my personal opinion and experience and does not represent my organization.
- Since this is my experience, I can’t hold any guarantee that this spreads across other companies or even within the same organization.
- This article is not sponsored by or affiliated with any organization.
Most of the “bad” managers are born either because they don’t know how to do certain things or because they don’t have an environment to do so. Another goal of this article was to persuade them into breaking the chains and become better managers. I’m by no means a great manager, but I’m more than happy to share my learning with everyone!
Why did I decide to become a manager?
The biggest question is “why?” I decided to move from being a full-time engineer to being a manager. It all has to do with my ultimate goal: starting my own company (someday). I had worked as an engineer for almost 7 years when I decided that I still need to improve my managerial skills. Yes, I already was driving projects, mentoring juniors, and representing the team, but it was never to my full extent. In order for me to get the full scope of a manager, there is no different way other than becoming one!
But, I didn’t want to entirely give up my love for coding and designing solutions, yet. I still would like to write code at least once in a while, and also want to be a manager. Fortunately, there is a middle ground at the current company I work, so the transition to becoming an Engineering Manager was easy. Therefore, I still write code and design pipelines whenever I have the time alongside the managerial tasks I should do. So, I’m a “manager by role, engineering at heart” type of manager.
Responsibility Lead (RL) vs. Engineering Manager
At trivago (the current company I work at), we call an Engineering Manager a “Responsibility Lead”. The concept is that this person is responsible for/towards the team, and it adds a sense of responsibility for the wellbeing of the team. (And of course, it’s advertised as “Engineering Manager” outside of the organization.)
Even though “becoming a manager” sounds and looks like a promotion, it’s just a career change! As an engineer, the goal is to build good software and it needs a specific set of skills. As a manager, expertise in an entirely different set of skills is required, and that’s why it’s a career change rather than just a promotion. This mindset is very important to build trust between you and your peers, and also avoid any possibility of overruling or micro-management.
Be a leader, not a boss, or an a**!
As a manager, the goal is to create and maintain an environment for the team to achieve the team goals. So a manager should remove any roadblocks or interruptions their team faces and make sure everyone in the team is comfortable (both physically and mentally) to work.
An engineer can watch courses online, attend workshops/boot camps, read books, and even build small projects to learn the skills. However, it’s quite different for a manager, because most of the skills come through experience and a mindset change.
These are the things I learned when becoming a manager. Some of them I already knew, but some facts came as a surprise.
First and foremost, a mindset shift needs to happen when someone is transitioning into a manager. They have to go beyond the little boundaries they roamed around as an individual contributor can longer be applied as a manager. A manager should be more open-minded and accept different types of personalities.
As an individual contributor, performance and efficiency can easily be measured (if required) using some metrics such as the number of completed tasks. However, after becoming a manager, you eventually realize that productivity can not be measured by those, especially because now it’s very hard for you to measure your own performance. We slowly realize that it ultimately boils down to the impact an individual has on the team and the projects.
This fact is a bit hard to digest at first because we’re so used to measuring people with how fast/well they complete tasks! Then we realize that different people have different personalities, skills, speeds of working, and even ways of working. As a manager, we should properly manage these differences in order to get the best results instead of only praising the “fast” people.
Skills & Traits of a (Good) Manager
In the tech industry, whenever we call a person “skilled” we almost always refer to the core technical skills they possess. We give less priority to the skills such as teamwork, conflict resolution, resource management, etc. This has created a separation between the skills as “hard skills” and “soft skills”. Why do we even call them “soft skills”?
Why would “jumping into an argument on picking the best way to design a pipeline and finding a better way to do so” be a “soft skill”? That’s really tough! That’s as hard maybe even harder to learn! If a mistake is made, it can even cost more (time, resources, and people)!
When a person with less so-called “soft” skills becomes a manager, it will be a living hell for the entire team, for the entire company, and for the entire tech community! That’s why every individual must spend more effort on improving their leadership skills even without the intention of becoming a manager.
In my opinion, here is a non-exclusive set of skills and traits a manager should have.
Putting others first
As individual contributors, we’re more focused on ourselves and fulfilling our responsibilities. To do it better, we should secure as many opportunities as possible to improve ourselves. However, being a good manager (especially a leader) means that we have to provide more opportunities to the team. Even though it doesn’t mean that shouldn’t work on ourselves, rather it means that sometimes we have to pass on some opportunities to the team instead of keeping them to ourselves.
For instance, if there are three free tickets for an engineering conference and you already have three engineers on the team, offering all three tickets to the engineers first would be a good choice, instead of first and foremost securing a ticket for ourselves!
It doesn’t necessarily have to be that big of an offer, sometimes letting other people express their ideas without overruling them will make a huge difference. Instead of making every decision for the team ourselves, a manager should let the team make decisions regarding the team and only guide them to make better decisions.
Clear communication is the key to becoming a better manager and also nurturing a high-functioning team. When the team knows “what” they are supposed to do and “why”, they will be more invested and focused at work. And it’s the manager’s responsibility to set clear expectations from and towards the team and communicate them in a timely manner. I don’t think I need to explain how having good communication skills will make a better manager, but it also improves the trust between the team members since they become more open with each other as well.
Trust is a two-way street! A manager should practice trust that the team will deliver at their best, and the manager should make sure they have everything they need to do so. Only then the team will trust the manager to do what’s best for the team.
If the manager checks who comes to the office at what time, always check what the team members are doing, tracks the “productive” time of the team, and so on, it ultimately leads to being an annoying micro-manager! And, if the team members don’t feel comfortable around their manager, it’s a strong indication of a lack of trust!
In some other cases, team members might be going through some tough times in their personal lives and might discuss it with the manager to make things more transparent about their lower performance. This type of information is highly confidential and MUST be treated as such.
During my first week in my current company, I had to go for an apartment viewing and the appointment was around 5 pm. So, around 4 pm I told my team lead (back then) that I have to leave early. He got surprised and said, “okay, sure”. It didn’t feel right to me, so I tried to explain “because I have an apartment viewing..” then he interrupted, “it’s fine, you don’t have to explain”. Now, I got surprised. And looked at his watch and laughed, “it’s not early anyway, it’s already 4 O’clock!”. I felt quite a joy that I somehow was fortunate enough to work at this company.
This is only one example, and I have a lot of them to prove how “trust” can make people more invested in the team (and the company).
I knew/know some companies where team members are afraid of their managers. They have to run after the manager to get their vacation approved. They need a “valid” reason to approve your vacation. WTF!!!
If you are such a (micro-) manager, please stop!!! You’re just a manager, not a teacher or a dictator! You don’t need to know everything! It doesn’t matter what your team members do as long as they get things done!
Managers should be good (active) listeners and observers. Many managers just hear the team members and do nothing to address their concerns, hence fueling a poisonous working environment and causing people to quit. Try to see things from others’ perspectives, and try to understand their reasoning behind things.
Listen carefully and try to understand what the team is going through. Then escalate to the upper management if needed without trying to maintain a “good name” with upper seats. If you’re just a puppet for them to do their dirty work, I don’t think it’s a healthy environment for anyone!
Then you as a manager have to put others (your team) first and speak up and stand against it. You should communicate the concerns clearly to both parties (your team and your own manager). If your team (and your manager) trusts you, everyone will be able to find a middle ground.
As the next step of empathetic listening, a manager also has to resolve any conflicts within and across teams. This can range from picking a design for a new component to even an argument between two team members. For any of these situations, a manager should be able to jump into the discussion as an unbiased moderator and settle it.
It’s very hard to be unbiased especially when you transitioned to a manager from being an individual contributor because you will ALWAYS have your own opinion towards what’s been discussed. For instance, if there is a discussion on picking the best technology for a project, you even as a manager can tend to be in favor of a particular technology that you have experience with. However, as a manager, your opinion shouldn’t be the deciding factor for these kinds of decisions. If somehow it boils down to your call, you should make an objective decision ONLY considering what’s best for the team and/or the project.
The same goes when two people are arguing about whose solution is the best. In my experience, these can go even close to being a fight, and it’s very tricky to handle these types of situations. What I usually do is ask the involved parties to write down their approach and share it with the team. That document usually should contain how (much) they solve the problem and the pros & cons of it. This prompts the individual to be a bit more objective on their own solution, which usually leads them to be more flexible.
There are many more situations where a manager has to jump into a discussion and settle it, and they should have the skills to handle them.
Read more about how you can handle conflicts better by learning about the Kübler Ross’ Change Curve Model.
Being a manager doesn’t mean that you make people work, but it means you help people grow to get things done. A good manager should always help the team members grow both in the job and as a person. A manager should be open to discussing new opportunities for the team members and enable them to pursue them even outside of the team, and sometimes even outside of the company!
A manager should be able to sit together with their subordinates to come up with a development plan and find additional resources when required. This could be online courses, conferences, certification programs, and even personal development programs. If new opportunities arise that either a team member is interested in or is better suited for, you as a manager should be able to help them. You shouldn’t keep good opportunities away from the team thinking that you will lose a team member!
I know a lot of people who get bored doing the same thing after a while and need a change. Then without holding them in their current role or the team, a manager should be able to find a role or a team for them to grow into, ideally within the same company. Otherwise, even though it’s less ideal, always motivate them to find new challenges, even if it means the person leaves the company. It’s quite a dilemma for a manager, but the person who’s leaving will give a good recommendation towards the company and it at least helps to attract good talents. If not, they will leave anyway and will give really bad recommendations about the company and the impact will be really negative.
Giving & receiving feedback
I have seen a very small amount of companies that promote open-feedback culture. I believe it’s essential to give and get feedback for anyone to improve. Everyone has a blindspot for their personality and behavior and it’s nearly impossible to see it by ourselves (and that’s why it’s called a “blindspot”).
People should try to minimize the blindspot section as much as possible and that’s the best way to improve themselves. The more we have stuff (about ourselves) unknown to us but others know, we might end up not only disturbing others but also sabotaging ourselves.
The best way to overcome this is by giving and getting feedback. As a manager, it’s crucial to be able to provide constructive feedback that can be actionable. And it’s a manager’s responsibility to promote a working culture where everyone can provide honest, constructive, and actionable feedback to their peers. And this feedback MUST be timely! This means that the feedback should be given as soon as possible (not necessarily “immediately”).
Moreover, feedback has to be given for both praise and criticism! Most managers only give feedback for criticizing and it can lead the team members to be demotivated. And if we only give praise, it can increase the blindspot for that person. So, we have to find a good balance.
This is a huge topic and I’m not going to explain everything here. But here is a nice course I found (and followed) on the same topic that I believe will help everyone.
This article is already long, so I’m going to hit pause for now. I have much more things to tell, so I will write a separate article for them.
Becoming a manager is already tough, and transitioning from an individual contributor to a manager can be further challenging. There are a lot of things we have to learn, but more importantly, there are so many things we have to unlearn! In this article, I tried to give a glimpse of what I learned over the last year and I’m evident that I have a lot more to learn. I hope this helped and hopefully motivated you to become a manager!
If you made it to the end, good job! Here is a potato for you!