Years ago I had my first interview to become a developer internship in a software company. They asked me: “Where do you want to be in the future?” and I clearly answer: “I want to lead a team of developers”. I was about to start my journey as a developer so I didn’t know anything about leadership.

At this point in time, I thought that a good leader would be the one who knew the most in the team, making decisions on your own without asking anyone and telling the developers how to write code.

Therefore, in order to accomplish that I would have to learn a lot about programming languages, design patterns and architecture. But understanding people, inspiring them and communicating with purpose were totally out of my radar.

8 years later I started leading people in a software team and after almost 3 years doing it I can say that my experience has been totally different from what I thought it would be, and here is why:


Leaders do not need to know everything

In a team, there is a lot of communication and a lot of information is flowing. Even if you try hard you won’t be able to know everything that is going on, and in case you do, your team members might probably feel micromanaged. That’s why as a team leader, your mission is not to control everything but instead be aware of the status of the initiatives that the team is working on and be able to point to the right person for further details.

A good team leader should help the teams to perform better regardless of the specific technologies the team uses.


Team members are in charge of the results, you are not

When I was a developer, my main focus was to write code so that the desired features go live. After becoming a team lead, I needed to accept that will not be responsible for the final results, but instead, I will have to support and enable my team members to get there. In the end, as your role says, your goal is to “lead” your team by guiding them and help them make proper decisions aligned with the team’s objectives.

However, I have to admit that one reason why writing code is good for a team lead is to understand what the developers are feeling every day so that a proper solution could be found to help them to improve their performance.

Leaders should make developers life simpler and remove blockers so that they can accomplish the best results.


Their objectives are your objective

As we know, a team is composed of people and people is always different. Therefore, although most of the “leadership skills” can be applied to every team, not every team can be lead in the same way.

Your mission as a leader is to serve your team. By improving your skills regardless of your team, you probably will get a better lead overall, but your team will not see any progress and therefore results won’t get better.

Think first about what the team is trying to achieve, and then come up with your objectives to satisfy their needs.


Conclusion

Good leaders understand that they cannot master every technology in the world and that they cannot control every single movement within the team. They need to support their team members with any issue they might face so that they can accomplish their objectives and finally think about the team needs when it comes to improving your leadership skills, not only on what you need. Leaders need to focus on their team, not only on themselves.