Things I look for in a Team Leader

Joe Seff
7 min readJun 4, 2020
Leader

I’ve worked in five different organisations in different capacities. Sometimes I worked in uncoordinated setups where everyone handled their own projects and at other times I worked in setups where everything was team-based. Based on my experience working in teams, I would like to share the following tips for being a great team leader.

The qualities that I have appreciated the most in a team leader are:

1. Constructive Criticism

Elon Musk once said, “It is important to actively seek negative feedback.” Nobody likes to be criticised but it is important to be able to give and take criticism well. Let’s face it, nobody’s work is perfect and it does pay, quite literally, to become a better you.

Bad team leaders often point out what is wrong with the work that is presented to them and fail to offer any meaningful suggestions. A good team leader is somewhat like a good coach, they criticise and propose. Their proposed solutions are often practical and offer the person being criticised a new, creative way of tackling the issue at hand.

A good team leader also knows when criticism will hurt more than it helps and will instead find a shrewd way to highlight the issue without criticising you. Often this is through praise because people generally respond better to praise than to criticism.

2. Flexibility

Everyone is unique. Everyone sees the world through their own unique lens. When joining a team, you will usually be introduced to the team’s way of doing things and will be encouraged to follow this method. However, sometimes, especially as a developer, you will want to inject your own unique style of fixing things.

This is where a team leader’s leadership skills are displayed. Allowing too much flexibility will mean the team loses its common methods, while not allowing flexibility at all, stifles the creativity of individual team members and drives people away.

As a good example, I was once in a team where one of the developers insisted on the code not exceeding a 90 character limit. This might not have been an issue if his code was well spaced, indented with tabs and with blank lines occasionally being added, however, that was just it. His code was limited to 90 characters per line, indented with two spaces (rather than four spaces or a tab character), and almost never had any blank lines. He also liked to add “Clever code”. This made it hard for me to read his code and whenever I needed to make changes, I’d reformat his code which made him mad.

I later joined another organisation which had rules for the same. Use the IDE to format your code and if you change anyone else’s code, format the piece of code that you altered. This new organisation had a Sonarqube server which enforced certain coding standards that I appreciated, because it meant that I did not have to argue with anyone over code readability. Being allowed to format your own code as you please while at the same time adhering to certain non-rigid rules is what I call proper flexibility.

Who implemented all of this? Yup, you guessed it, the team leader.

3. Attention to detail

Rule no #1 of leadership, everything is your fault. It is the team leader’s responsibility to make sure that nothing gets through the cracks. It is therefore very important for the team leader to review the work of the team with a fine toothbrush. This does not in any way translate to micromanagement. Rather, it simply means that the team leader should be able to spot things that other people miss.

For this reason, the team leader needs to have a better view of whatever project the team is working on, than the team itself. A great team leader spots deficiencies in a teammate’s work and informs the teammate that changes are required. They also communicate effectively when pointing out errors and omissions. It is important for the directly responsible individual to understand why their work has been sent back to them and why they need to redo it. Otherwise they will just resent the team leader and do their work begrudgingly.

Once they understand however, they will not only work hard to ensure that the work they resubmit is better but they will also learn to trust the team leader. There is however a common trap that team leaders fall into, it is called pettiness. Hear me now, avoid pettiness, it will kill your team’s motivation and make you an object of mockery.

4. Fairness

It is imperative that a team leader learns to be fair. Give credit where it is due. Distribute the work evenly. Don’t always criticise or praise the same person even if you are naturally inclined to do so.

The perception of fairness makes or breaks a team.

5. Good listening skills

Have you ever pitched an idea to your boss and they acted very interested, but in the end gave you the same standard answer you always hear when you bring an idea up? Or better yet, you are tasked with doing something and the boss wants it done in a certain way and you know it can’t work like that. You inform them of the same but after having heard you, they parrot the same thing they’d told you before?

Do you like these bosses? If you could quit would you? You probably already did if you had any other options. Listening goes just beyond hearing what the other person is saying. It reaches into what the other person is not saying. Employees that feel heard, feel appreciated and they will give their best.

6. Ability to cut through issues

Once upon a time, another employee and I argued. I believed his tests were wrongly written. I’d discovered this of course after having fixed a bug. His argument was that his test was okay and that my logic was wrong. We argued for the better part of two hours before the team leader, who had been on the call all along, listening quietly, cut in and made some suggestions.

He pointed out the fault in both of our approaches and then proceeded to tell me that it was my code that needed to change, why? Because the other developer’s work had been already approved by the Quality assurance team.

7. Ability to coordinate others

Within small teams everyone works together as one, however, in larger teams, it is necessary to further subdivide the team in order to ensure that employees work better. It is important to know which people within your team work best together. It is useful to know personality types within the team.

8. Mastery

Like I said before, it is important for the team leader to know the project better than anyone else on that team. In this way, he can guide whenever others are stuck. In this vein, I would like to stress how important it is for a team leader to work on the same project that the team is working on. There is a big difference between knowing what a project entails and knowing how to do the project.

A perfect example of this is SpaceX and Blue Origin. I’ll bet that if you live and work outside of the US, you’ve probably heard of SpaceX but not Blue Origin. They are both privately owned Space companies. However, one is known and is highly successful while the other has less success. Why? SpaceX’s chief engineer is Elon Musk himself, while Blue Origin is led by a businessman, Jeff Bezos.

It’s not just about the business requirements, it is also about all of the accompanying business processes, risks and technologies involved with the project. More than that, the team leader needs to know not just his team but also the project stakeholders. By “knowing”, I mean he needs to know his team’s abilities, the limitations of the technologies to be used and the disposition of the stakeholders.

He needs to know when management will say “no” to a delay for additional features or when something that the business team is asking for is impossible. He needs to know when his team is overworked and frustrated. He needs to know when to empathise and when to be firm. In this respect, a team leader is like a captain.

9. Realist

The team’s work will never be perfect. Ironically, those who are attentive to detail, tend to be perfectionists. It is especially important for such people to know where to draw the line in order to avoid demoralising their fellow teammates.

10. Leader

This is the most important of all. It is actually in the job title Team LEADER. A LOT of people forget this. Being a team leader is actually about Leading. A leader needs to:

  • Help his team grow
  • Stick up for his team
  • Guide his team on thorny issues
  • Set clear guidelines on project delivery
  • Unite the team
  • Take responsibility for the team’s successes and failures

It should go without saying but unfortunately, too many times this has to be reiterated, we rise by lifting others.

Too many team leaders try to be star developers or star employees rather than being the leaders that they are meant to be. I leave you with the following quote from Nelson Mandela.

“A leader. . .is like a shepherd. He stays behind the flock, letting the most nimble go out ahead, whereupon the others follow, not realising that all along they are being directed from behind.”
Nelson Mandela, Long Walk to Freedom

--

--

Joe Seff

Writer | Software Engineer | Aspiring Machine Learning Engineer