alxolr's blog

the road to software engineering mastery

Team leads swim in troubled waters

Team leads swim in troubled waters

Intro

In July 2019, I was offered a Team Lead position at my current job. I was thrilled and felt insecure at the same time.

The first months were a nightmare. I did not understand what my role in the team is. I felt that I could be much more valuable to the team with my coding skills than attending neverending meetings where the result rarely will be implemented.

One of TL's primary responsibilities is to shield the team from an enormous amount of trash information.

Responsibilities

From company to company, team leaders have different responsibilities. Mine are the following:

  • providing a communication bridge between management and the development team:
    • team capacity management
    • report on each team member performance
    • participate in high-level product design meetings
    • provide high-level estimations
    • groom and discuss requirements with business analysts
    • make sure issues, and the project tracking software is up to date with reality
  • orchestrate the development process
    • lead brainstorming sessions on architecture, technical difficulties
    • review pull-requests
    • do pair programming sessions
    • on-board new developers
    • develop/bug fix features
  • handle deployments

Being a Team Lead is a lot of work and not all related to codding.

Qualities

The good TL qualities, in my opinion, ordered from most important to the least:

  • Patience
  • Clarity of thought/Vision
  • Empathy
  • Selflessness
  • Technical skills

The first four of them are purely soft skills, which are vital for the operation's success in the long run.

From a technical point, you need to put effort into learning the codebase and have a deep understanding of the architecture.

The Team Leader is like the captain of a boat; it needs to know every millimeter of it to make rational decisions.

Usage of Authority

Any management position is coming with the burden of authority. Used without mindfulness will create a toxic environment where nothing will work.

If, as a TL, you need to use your official authority to move things forward, this is a clear indicator that things are not going well in the team.

The authority given on paper is the last resort that a TL or any manager should ever use.

How to fix it?

Gain the trust and the respect of your peers by:

  • Inspiring them:

Inspiration is just you becoming a greater self and then guide others on achieving the same.

Just talking, providing motivational speeches, IMO, this is bs. In most cases, if you are not congruent with your words at the deed level, it will do more harm than good.

Some ideas to inspire your peers:

  • Get some certifications, and challenge the team to do the same
  • Learn, read yourself, discuss new technical books
  • Do knowledge sharing sessions. Any software engineering topic will do
  • Build stuff, learn entirely new technologies. (new languages, frameworks, pet projects) show the team that you grow

Lead by example; this is a single way in which you can truly inspire someone.

My Team Leadership Manifests

  • A team is a family, and I am the older brother who guides, helps, and protects younger siblings.
  • As a TL, I always strive to influence/inspire my peers to grow, even if they feel excellent where they are now.
  • There is nothing constant in the world. Either there is progress or regress.

Conflicts

You should solve conflicts way before they occur. By being aware of:

  • How you keep your composure?

  • What example do you give to your peers in stressful situations?

  • Do you focus on the real problems?

    People mimic their leaders at all levels, the same as I copy my higher managers; my peers copy me.

If I am calm and "do not fuel drama," then automatically, most conflicts are solved from the roots.

Sometimes, there is tiredness after long periods of overworking or even failure to deliver some features. The team's morale is going down; this is the ideal soil for the conflicts to grow. Nothing special you can do about it; have patience, and be resilient; bad times will go; they always do.

Payment

I receive a bit more than in my senior position. But it's not like a 2x increase. At first, you feel that your responsibilities are not proportional to the pay, but this passes when you get used to your new position, and everything becomes easy.

I started to feel okay as a Team Lead at about half a year of work.

Regrets and fears

One of the biggest fear that team leads have is that they will forget how to code and become irrelevant.

Team Leadership is not an active coding position, so you should strive to develop a feature, actively code. I usually try to do pair programming sessions with my peers.

A big mistake is to assign a significant feature to yourself; you will never find enough time to finish it. In a day of work, you have scattered minutes between meetings and other management activities.

The other fear is that your peer will not implement the feature correctly how you would like it to be. I was utterly amazed by what trust can do for a team.

Have trust in your peers; they may come with better solutions than what you expect.

Recommendations

A good book explains the problems that team leaders have and proposes different solutions for each one of them.

I hope that this article was helpful. If you like it, please share it with your friends and leave a comment; I will gladly answer all the questions.
×