When I started my technology career, I did not consider a path that goes into management, but at some point, in the career of a Software Engineer comes the crossroad between IC & Management path.
To be honest, it’s rare to find a Software Engineer that has planned this transition way before it starts, of course, this happened to my case years ago, and this is when the real problem starts.
The Engineering Manager position requires a completely different skill set than a Senior Software Engineer and to make this transition, it requires to be ready to start all over again.
Working in a start-up environment make this transition even harder since the pace is much faster than in an established tech company.
Now, from my current position, I see every day how hard is to find good Software Engineers, but it’s even harder to find really good Engineering Managers. That’s one of the main reasons many teams push the most Senior member into the Engineering Manager role. Based on my experience, this is something that’s not necessarily a good move since not only you may lose a Senior member but also, he/she is not prepared for this transition. This decision may lead to poor management, demotivated team members, etc.
It’s not a comment on a Pull Request or Pair Programming sessions with the team members. Now, it’s time to give feedback (positive/negative), be responsible for the delivery of the team, perform annual evaluations, etc.
It’s not about yourself anymore, it’s about the team.
If you decide to become a manager, your priority is to learn how to be a great manager.
Forget what you learned all these years as an individual contributor role, most of them will not help you here. You’ll need to invest time learning new skills, considering it’s your first day at work.
Some skills you need for this role are:
- People management: Motivate and evaluate team members, hiring, promotion, salary raises, and O3 (One on One) meetings. It’s now on you!
- Communication skills: Empathy & high emotional intellect plays a key role when it comes to managing a team of Software Engineers. You should be able to negotiate and resolve issues via dialogue and understands the intentions and motivations of each member.
- Project management skills: Plan — Execute — Deliver, the Engineering Manager is responsible for the delivery of the working software in time and helps the team to work together, identify risks early and remove any impediments.
- Team management skills: You should be able to build an autonomous team, organize their way of work, and maintain a safe and healthy environment. Transparency is a major factor in achieving this.
- Technical skills: To control the code quality, and promote best practices, you must have a technical background. Being able to communicate with the Software Engineers and give constructive feedback is critical.
- Knowledge transfer skills: Between the organization and the team. You should align company guidelines with the teams.
Learn from your mistakes
You will fail, we all do, try to understand the reason and what should be done differently. Don’t be afraid to reach out to others for feedback.
Learn to say, “I’m sorry”.
Learn the business
Try to understand the impact you bring to the organization with your team. Does your work bring in more revenue, or reduce costs? As you go up to the higher management, fewer technical discussions occur.
You are here to solve problems, not on your own, but to guide the team to find the solution. In a team everyone is different, some people need more supervision than others but all of them have some in common.
They need an Engineering Manager that is present for them.
Transparency, trust, and kindness are values that go along with the role.
Trust every team member and be kind even if someone is not acting correctly. Build a safe environment for your team based on trust and you minimize the risks of something bad happening.
Create goals and training programs for your team members to grow. Try to align their objectives with organizational objectives, and invest in people.
If you are on this critical path of your career, start preparing yourself for the transition. Start reading books related to leadership & soft skills, and ask your manager to guide you.
Some of my favorite books to get things started: