Grow from Developer to Team Lead

Hero image for 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.

Novice Team Leads refer to engineering team members taking on the role of Team Lead in a client project squad for the first time and/or who have yet to reach a high level of effectiveness.

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.

If the project has multiple novice Team Leads corresponding to each platform (Web, Android, iOS), having Engineering Lead(s) or a mentor in the channel can still be enough, as the discussions and guidance for a novice Team Lead would be visible to others.

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

The creation of a separate channel, distinct from the internal and dev channels, serves the purpose of offering guidance without diminishing the authority of novice Team Leads within the squad. The excessive presence of the Engineering Lead(s) or the mentor in the other channels could potentially erode the confidence of Team Leads and lead to confusion among other team members (Developers, Product Managers, Designers, etc.) regarding the appropriate point of contact for their needs.

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.


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.