Grow from Developer to Team Lead
Taking on a leadership role without prior experience or adequate preparation can be overwhelming. The team aims to address these challenges by offering regular check-ins, real-time guidance from a mentor, and access to necessary training resources. The ultimate objective is to assist novice Team Leads in developing the essential skills and confidence to lead their teams and achieve success effectively.
Set up a Support Structure
Assemble the Leadership Team
Create a Leadership team that consists of the following:
- The Engineering Lead(s) of the project (must-have).
- A mentor (optional, based on availability): an experienced Team Lead, usually an engineering team member in level 7 or higher (Senior Software Developer or Technical Lead) who has led 3 or more projects.
Communication Tool
The Engineering Lead is responsible for establishing a specific Slack channel named {project-name}-leadership
.
The channel is used by Engineering Lead(s) and the mentor to:
- Raise issues.
- Provide guidance.
Learn more about Slack project channels
Inform the Related-Parties
An announcement shall be made via the leadership
channel by the CTO or an Engineering Lead. It will serve the following purposes:
- Specify who will take the mentor role in the group.
- Share the goals of the support team setup, like:
- Empower Team Leads as the primary point of contact with other members.
- Support Team Leads in a non-intrusive way.
- Provide some examples of the common issues that novice Team Leads would typically make to demonstrate the purpose of the new channel, such as:
- Forget to make a release build for a sprint.
- Estimate and allocate stories for team members too late.
Responsibilities
Introduce Best Practices and Common Challenges
Novice Team Leads are unfamiliar with all the best practices and conventions. Therefore, the following resources must be covered at length and regularly:
Furthermore, each mentor can have their own set of experiences when dealing with all the challenges on their previously assigned projects which might not be documented anywhere yet. Hence, this would be a good opportunity for the mentor to share such pre-knowledge if the current project has similar traits. For example:
- The proper process for selecting technical stacks for green field projects.
- The correct approach to re-setup the DevOps of inferior quality on brownfield projects.
Proactive Support
Instead of waiting for Team Leads to raise questions, the mentor must actively check their performance and provide timely support throughout the project development cycle to ensure they stay on track.
At the same time, since there would be many fields to cover, the focused topics should be anything that does not necessarily concern other members but new Team Leads, for example:
- Encourage Team Leads to dive in-depth into the project knowledge (e.g., general documentation, existing features, designs, etc.) and the sprint progress.
- Ensure Team Leads have a clear sprint overview, visualized by diagrams or reporting tools.
- Fortify Team Leads with a better understanding of their team member’s strengths and weaknesses.
- Remind Team Leads to spend proper effort on code review and fully comprehend the business requirements and edge cases.