Notes for a novice team lead
I have over five years of experience working as a team lead and lead of leads across various team sizes and levels. In this period, I’ve assumed leadership roles in three different companies, including my most recent role at a global company collaborating with teammates from over 60 countries. Each of these roles marked a distinct phase in my professional development:
I would like to explore the third point more thoroughly. Following a reorganization of the company’s technical direction, several new teams were formed. We identified developers who not only excel as technical specialists but also exhibit the skills and willingness to assume responsibility for a team and to advance within the company, and we proposed them for team leadership roles.
Given that some of the developers had little to no prior experience in leadership roles, I made the decision to arrange a series of workshops tailored for novice team leads. The response from the team was positive, which prompted me to extend this knowledge-sharing initiative to the broader community for the following purposes:
In the first post, I will start with the basics — sharing how I establish communication with each individual team member. If the post receives a good response, I will try to cover other topics — I have planned over 10 workshops for the internal audience on topics such as building processes and planning within feature teams, interacting with business stakeholders from non-development teams within the business, conducting interviews for soft and hard skills, building grades as a foundation for personal growth plans and performance reviews, preventing stress and burnout, and more.
Fundamentals of team lead work: team management
“A Team Lead is a person who describes and assigns tasks” — this is one of the most popular associations with the role of a team lead for those who have not worked in this position themselves. Task assignment is indeed a significant part of the work in a leadership position, so I will start my narrative from it.
How to describe and delegate tasks
How to describe a task with SMART methodology
For formulating large tasks (requiring a week of independent work), I use the SMART methodology. According to this methodology, a task must be:
I think this methodology is well-known enough, so I won’t dwell on the theory in detail. However, in reality, new leads often struggle when they start handling real tasks. I will share an example from my own experience to illustrate how to use methodology in practice.
Task description example — situation
We have several feature-driven cross-functional teams working on a product — a mobile app. This app is released a set number of times per month according to a schedule based on a predefined process. The release process includes a fairly standard set of actions for such cases:
The project has CI (Continuous Integration) capable of assembling a new build triggered by a push to a branch, but there are no further automations. The release manager spends 1–2 hours on all these manual actions for each release, which amounts to 2 hours 2 mobile platforms number of releases per month — a significant amount of time. The goal is to automate this process as much as possible and save the expensive time of the release manager. And this task needs to be assigned to a developer from the mobile platform team.
Task description example — how to formulate
We have a problem: developers responsible for the release are spending 1–2 hours per release on monotonous tasks that can be automated (relevance).
We need to create an integration with Slack, which, upon a given command, initiates the release process and performs the following steps — {description of steps}. After each step, as well as upon the readiness of the new build, the automation writes a message in the release thread (specificity).
This way, we can make life easier for release managers and plan an hour more of interesting tasks instead of monotonous ones in the sprint for them (measurability).
The automation can be implemented using the APIs of Slack, Jira, and CI — in the written task assignment, I detailed which APIs I believe should be used, but if you have more optimal suggestions, let’s discuss them. The automation will work within the infrastructure of our company, which we have already discussed with the DevOps team (achievability).
Decompose the epic into subtasks by tomorrow and make an estimate; we’ll discuss how long the task will take (time-bound — in this example, it’s only for the first step, but after discussing the estimate, it will be set for the entire task).
How detailed should the task be formulated
In the example from the previous point, the task is described in enough detail, even though it is assigned to an expert in mobile development from the platform team. I’d like to explain this aspect as well. Generally, I have an approximate dependency of the detail level of task assignment on the specialist’s experience:
Based on this description, one might assume that the task should be framed as a goal, offering autonomy in devising the solution. However, some parts of the task include a step-by-step description for achieving the goal.
The point here is, in my opinion, that the degree of detail in task setting depends on the specialist’s experience in the area in which the task is set. In this case, I am assigning a task to an experienced mobile developer, but at the same time to a person without significant experience in infrastructure tasks and experience in automations of this kind.
How to assign responsibility
Once a task is assigned, it’s necessary to establish responsibility for its resolution. In the case of standard tasks, this usually happens during planning, when the specialists agree with the task estimation given by themselves or the team during the general planning, and then it is assigned to them for the sprint. However, there are situations when a specialist, for one reason or another, does not want to take on a specific task — for example, they doubt their abilities or dislike solving that type of task. For such cases, there are several approaches:
领英推荐
From my experience, novice team leaders should mainly use the first and second forms, because a entreaty is usually a manipulative form that needs to be used skillfully and not too often, even with the ability to do so. Using orders requires sufficient authority, which beginner leaders might lack.
Feedback
After a person has completed a task, it is necessary to provide feedback. In my opinion, there are important aspects to consider in giving feedback:
Let’s analyze an example. Imagine a situation where a developer has automated part of the release process of a mobile application from the task-setting example. After the first use of the automation, I invite him for a chat and structure the conversation like this: “Thank you for developing the bot. I think that for you, as someone who regularly performs the role of a release manager, it will be more convenient when a significant part of the routine work is automated. And not just for you — I remember many requests to automate these actions. This innovation is also important for the business because it saves release managers’ hours, which is valuable time compared to other specialists. Also, I’ll note that solving such a complex task meets the requirements for the next grade level, so just 1–2 more examples of such complex tasks — and we can discuss a promotion at the next review.”
Identifying motivation and working with it
There are moments when team members do not want to take on a certain task. The reasons can be quite varied — for instance, a person may fear they can’t handle it, or they believe the task is not within their direct responsibilities and are not prepared to step out of their comfort zone. Yet, the leader is convinced that the task is important and necessary for the team, and that the person can handle it. In such cases, the leader’s job is to convince the person to take on the task. There are different ways to do this. The most straightforward ones are promising a bonus or threatening with dismissal. However, there is a softer and less painful method — determining the person’s motivation and convincing them that solving this task will help achieve what motivates them.
Let’s start with defining the team member’s motivation. There are several different classifications of motivation, among which I prefer the following:
An important note about money: it’s last on my list for a reason. Many beginner managers think that to motivate people, they just need to keep offering them more money. My experience and interactions with more experienced colleagues show that this isn’t always the case. Money is a motivator for most people until they earn less than a certain comfortable minimum. This minimum is different for everyone — some are satisfied just to afford rent and good food, others want a big apartment and to change cars every couple of years. But the common thing is that once this comfortable level is reached, motivation for more than 90% of people is no longer about money.
I can confirm this statement with my own example. When I first heard this from more experienced colleagues, I didn’t believe it. Later, I realized that when we were discussing this, I hadn’t yet reached my comfort level. And some time after that, it turned out that this comfort level isn’t constant — it can change under certain life circumstances.
After realizing this, I try to consider it from a team management perspective. So, how do you determine motivation? The answer is quite simple. You just need to listen to the person, paying special attention to the reasons behind their actions in various situations. A basic example would be discussing with colleagues why they chose to work at the current company.
How to use this knowledge? Primarily, show that completing the task will help achieve the goal that motivates the person. For instance, if a person is motivated by professional growth, you could say that the task is a great opportunity to try a new technology. The company might assist by paying for courses in the new technology or sending them to a conference.
It’s worth noting that understanding motivation helps not only in the described scenario with tasks but also, for example, if a valuable specialist in the company is considering leaving for another company. In such cases, it’s important to compare the current company and competitors primarily in terms of how working in the current company will help achieve the goals that motivate them.
How to discuss these topics
I believe that to establish a trusting relationship with team members, it’s important to regularly communicate with them one-on-one. During such meetings, you can discuss in detail the task setting and current status of tasks, personal growth and development plans, provide feedback and ask for feedback on your work, and sometimes just have casual conversations about life.
I’d like to make a special comment about casual life conversations. At the beginning of my career as a team lead, I underestimated this aspect. It seemed that spending time on personal talks was a waste of time that could be used for more productive tasks, such as coding or testing. However, over time, I realized that such conversations help build trust within the team. They allow for a better understanding of employees’ motivations, receiving feedback that might not be shared in formal performance review forms, and learning a lot of other useful information.
Thanks to these trusting relationships in the team, I was able to retain several members who were considering leaving, and also timely prepare replacements for those who could not be retained because they had set their sights on working for a foreign company.
However, it’s important not to go to the extreme where 1-on-1 communication is just casual conversations about life and most often does not have another goal from the leader’s side. In such cases, the leader should more precisely define the purpose of such meetings for themselves and not forget about these goals when preparing for the meetings.
In my opinion, the frequency of such meetings should be once every 1–2 weeks. Infrequent meetings can lead to a loss of context in communication, especially if team members are not working on common tasks daily.
How to understand that I am not wasting my efforts in building relationships
Reflecting on my experience, I can recall over 10 cases where well-established contact helped me retain someone in the team, quickly find a person for a new company, or know in advance that a person was planning to leave and find a replacement without interrupting work. This statement might seem too optimistic, but I only counted the cases where current or former team members explicitly mentioned it or texted me about looking for a new place and asked if I had anything interesting in mind.
But this is looking back over several years of experience. So, what should a novice team leader do if they haven’t yet accumulated extensive statistics, have little experience, and occasionally suffer from impostor syndrome? I’ve identified the following signs that communication with team members is well-established:
One-on-One life hacks
During my time in various leadership positions, I have collected several useful life hacks, which now seem obvious to me — as they probably do to many experienced leaders — but didn’t at the beginning. Here is a rough list:
Conclusion
Thank you for your attention. I would be happy to discuss the topic of this post and hear about your experiences. As I already mentioned at the beginning — if the post generates significant and positive feedback, I plan to write more regularly. So, if you find the topic interesting but have nothing to add, please leave a plus sign — it will indicate to me that the topic is interesting.
P.S. I understand that a good post, especially a lengthy one, is easier to read if it includes illustrations — but I can only draw diagrams of service interactions and organizational structures, as I unfortunately do not possess artistic talent. Therefore, if anyone is willing to help with illustrations for this post or the next ones, I would be very grateful :)