How to become an effective team leader: The ultimate guide to leading software delivery teams
What is a team leader in a software delivery team? How do you become one? We asked our Senior Technology Director, Egor Goryachkin. Egor has worked in IT since 1995. For the last 20 years in IT, Egor has changed positions from developer to project manager, from architect to delivery manager. Throughout the last ten years, he has been starting up dozens of software engineering teams for clients across the globe.
In this article, Egor shares tips on how to be successful in leading software delivery teams.
I started as a developer and went through a career change from team leader to an architect to project manager to delivery manager. I helped to open representative offices for IT companies in Belarus, Poland, and Spain. Now, I live in Ukraine and manage the Forte Group delivery centers in Belarus, Ukraine, and Poland.
There has always been a need for leaders, even in such a demanding and highly qualified sphere as IT. The need to unite individuals into groups has always been one of the pillars of human civilization. These groups need leaders for survival, development, and victories.
A great example of this is the Project Oxygen experiment by Google. Google tried to prove that team leadership wasn’t necessary and got rid of the managers in some of their teams. But after a couple of months, those teams stopped performing. Thus, Google proved quite the opposite – that team management was essential.
The experiment showed that teams couldn’t work efficiently without leaders, even in the IT industry. As a result, Google formulated the top 10 behaviors of the best managers at Google. That subsequently helped to improve employee turnover and satisfaction rates within the company.
Team leader in the software industry
The team leader role is vital for all kinds of evolving engineering teams – developers, QA engineers, DevOps, and other groups who work in IT. Based on my experience, I believe that to be a successful manager and to perform the role efficiently, and a team leader should:
- Be the link between the team and the environment (upper management, clients, stakeholders). The team leader is the proactive voice, a kind of buffer between the external environment and the team. They help balance workload, monitor performance, communicate effectively and be trusted. The team leader represents the team’s identity and works to provide a comfortable environment for the well-coordinated work of all its members.
- Be a good manager. The team leader directs, teaches, and inspires. They are technical experts and a role model for other team members. At Forte Group, team leaders interview candidates for open roles and hire those who match the cultural code.
- Know the tools and methodologies that are used by the team. If the team works with Scrum, the team leader must be an expert.
- Understand all components of SDLC. The team leader doesn’t have to be an expert in all fields, but knowing all the steps, from the backlog to the artifact deployment to the production, is necessary. The team leader must understand the entire way of working, including design, development, quality assurance, infrastructure, release, and business analysis.
- Take responsibility. The team leader is responsible for efficient and thorough team performance, using the latest frameworks, tools, and instructions.
Back at the beginning of 2000, in Minsk, I felt the impact of being a great team leader. My team leader was Andrew F, and he provided positive feedback about my job without my explicit request (I was very humble back then). Andrew convinced our manager that I no longer required external management, either workflow or client communication. Moreover, he said I could manage a team by myself. He boosted my self-confidence and did a lot to help me believe in myself. I needed an external assessment back then, which helped me move to the team leader position.
Team leader profile
I observed how people mature and become team leaders in the working process. It helped me to shape six essential qualities for an effective team leader.
- Passion or symbiosis of genuine interest in your professional field and readiness to sacrifice something personal for the sake of others. Being prepared to take small losses like spending your own time to help the team is all part of being a great team leader.
- Communication. A team leader has to be an effective communicator. The good news is you don’t have to be an extravert for that. You have to structure your thoughts, respond quickly, and feel the relevance and context. Here, I have a small piece of advice for you. I think that there are no ideal people; that’s why you should build on your strengths as an individual and avoid weaknesses to get into play. You should provide feedback on somebody’s work if needed. When providing the input, even if it is taken as a negative assessment, think of a constructive ending and always end positively. This little advice is helpful in real life.
- Mental “maturity” and stress resistance. Responsibility and stressful situations go hand in hand and are unavoidable. If stress affects you negatively, think twice before taking that role. Assess your ability to ramp your skills without damaging your nervous system before applying for a team leader position.
- Ability to provide feedback and share knowledge. An excellent team leader shares knowledge, vision, and well-focused feedback to build an effective team.
- Competitiveness. Leadership is competitive by its nature. People usually occupy middle and top management with “alpha” genes, so it’s pretty natural to compete when you’re a leader in a business environment.
- Technical seniority. Trends may change, but hard skills in Frontend, Backend, or DevOps are necessary. Without hard skills, it is challenging to win authority among team members.
The most significant and hard skill that a team leader needs is a willingness to help the team evolve. Every team member is individual and has their own experience, learning style, and potential to develop.
The “muscle” that I trained is a skill to work with colleagues from different cultures, beliefs, and countries who share the same values. It’s a pleasure to observe the outcomes my trainees can achieve. Even when they leave the team, they’re ready for something; it’s nice to see their success.
What roles stay separate from what a team leader should do?
- РМ. The team leader doesn’t have to plan the scope of work and be responsible for budgets. However, they can perform the project manager’s functions as part of their job. PM is a specific function for a particular project because projects have a start and an end, while the team leader is a permanent part of the team.
- SCRUM Master. A team leader should know SCRUM methodologies, one of the most commonly practiced standards for the IT industry. But if the team lead digs into all details of Agile practices, it might blur their focus.
- Toastmaster. The team leader is not a showman who entertains the team. If you are a cheerful person who can make jokes and coordinate with people, it seems more like a compromise than a professional skill.
- Senior developer. The team leader is a position where communication and people management come first. You shouldn’t perform as a senior developer and write the most sophisticated code. However, keep in mind that you will coordinate more and code less as a team leader.
- Architect. It’s good to know the principles of solution architecture, but this role is not necessarily yours. You can design solutions with a team, and sometimes you work with external architects shared across multiple teams.
Once, I broke these rules and was punished for that. When I was younger, my team had to redesign the company website. I was completely autonomous and took the role of product owner, not taking into account the goals of redesign and business expectations. As a result, our prototype was rejected, and the work of the whole team for one and a half months was wasted. I learned my lesson!
How to become a team leader
Team leaders that I’ve come across during my career can be split into two categories:
In the earlier years (talking about the IT industry in the ex-USSR countries in East Europe), team leaders could grow only out of the second category. There were no methodologies, processes, or education programs. Now, the IT industry is a complex domain. To become a good team leader, you have to be ready for constant development.
People who become managers but don’t have a specific education cannot make it to their more educated colleagues. They can be proactive and initiative, but they lack culture and professional attitude. In the engineering environment, a well-educated professional is already an authority that’s why his team will be more productive.
It’s not age or gender that makes you a good team lead; personality and relevant knowledge matter. If you want to become a successful team lead, start evolving your business vision. Don’t forget to think in a business-like manner. We all work for companies to succeed, win the competition, and bring profit.
When you grow professionally from a software developer or quality assurance engineer to a manager, the company wants to trust your business decisions. We all should help our businesses to grow.
I hope that my thoughts and experience are helpful to you and that you’ll make the right choice about whether you are ready for such a challenge. Good luck!