I've enjoyed helping a number of team leads grow into this role. When doing this, I've started to have a pattern of steps I take to help out here. I hope this is useful to other managers or those starting on this journey.
Step 1: Write down the role
Figure out what the ideal state is for the team lead role. If you have an engineering-wide document on this, great. If you don't have that, you could be writing the first draft. Think about what is usually expected in this role, getting help from others if needed. Consider if there is anything unique for the team. Write it all down, whether it seems obvious or not. Try to group them together as applicable. Some ideas, but not meant to be a complete list:
- Provide guidance on technical issues
- Coordination of any cross-cutting items with other teams
- Be available for help and learning
- Help new members or those struggling
- Enter tickets or encourage others to
- Oversee emergency issues
- Prioritization advice and recommendations, both short and long term
Step 2: Figure out where growth is needed
Once you have the role written down, what has the team lead not done before? Where may they need some help in growth? Pick one or two items to start working on, finding concrete goals for them that can be achieved.
Make sure to talk about these every few months. As the team lead dives in, what is working well and what still needs work will keep changing. Help them see the bigger picture of the many things they are already doing great and what still needs some growth.
Step 3: Connect with other team leads
Make sure the team lead is spending the time to learn from others and not just from you- hopefully there is already a team lead meeting and a group chat where they can learn more.
Step 4: Have conversations with articles
To continue to talk about being a team lead, and leadership in general, I find a series of articles is really helpful for having some conversations over the course of a year. The team lead can pick and choose when they have the time, and you can both use time every week to discuss these when something has been read.
A book can work very well too I'm sure, or many different articles. It's about having some good material that both people have read along with a conversation on what they learned, have seen in the past, disagree with, etc.
Here's my list. I don't agree with all of all of these completely, but I've read them all and enjoyed discussing them.
- For the New Team Lead: The First Six Things You Should Know
- Chaotic Beautiful Snowflakes
- You’re Not Managing a Team of Software Engineers, You’re Managing a Team of Writers
- 8 Tips for Being a Good Tech Lead
- Engineering Productivity
- Disagree
- Forget Technical Debt — Here's How to Build Technical Wealth
- Why senior engineers get nothing done
Step 5: Find more avenues for continuous learning
Learning to be a team lead, like much of life, is a continuous journey. These are some tips to help someone get started, but two places to consider going for more learning:
- software lead weekly. There are multiple good articles posted here every month, so many that couple be included in step 4 above.
- The Rand leadership Slack. There's an active channel for essentially every topic.
I'm sure there's many fantastic books and articles I'm forgetting above, or I haven't gotten to learn from myself.