Practices of Future Engineering Leaders — Part 1 of 3

Mark Wood
5 min readAug 16, 2021

I was asked by an engineer recently, “What can I do as part of my role today to prepare myself for becoming a team leader in the future?”. This post is the first in a three-part series exploring this question.

My answer focuses on the common behaviours and experiences that I’ve seen demonstrated by people preparing to be TLs. I’ll explain why those behaviours are relevant to the role, and how you can practice them as an engineer. I hope that these posts can serve as a useful conversation starter for individuals and their team leads on potential development areas or opportunities for further responsibility.

Future TLs…

1. Discuss their goals and articulate their motivation

I’ve shared my views already on the importance of reflecting on the question “Why do you want to become a team leader?”. People going into the role should have a clear, well-articulated answer for this.

For those considering the role further in the future, the important thing is to make sure your team leader is aware of this aspiration. You’ll need the support and sponsorship of your TL to pursue a leadership path, and you’ll need to be open to working with them on your development areas. Without this open dialogue, it will be difficult to make progress.

2. Proactively make things better

People who become team leaders have a track record of proactively identifying problems and doing something about them. They are willing to step up, and take ownership for making change happen. They lead.

Team leaders are responsible for the continuous improvement of the group they support. This includes the people in the team, the quality and timeliness of delivery, and the technical health of the systems the team owns. TLs are expected to be able to imagine a better version of the future, and take the necessary steps to make this vision a reality.

No team is perfect, and there are always opportunities to make things better, but sometimes it takes experience and context to know which opportunities are most worthwhile pursuing. What things have you noticed in your day-to-day work that you think could be better? There are lots of areas to consider, for example, the team’s SDLC practices, the way you collaborate with another group, or how knowledge is shared between teams. This is a great topic of conversation for your next 1–1 with your manager — if you bring some ideas, they can give you feedback on which would be most valuable, and potentially give you other suggestions that would align with your strengths.

3. Understand their tech domain

People becoming team leaders for the first time have a good understanding of the systems their team is responsible for. This does not mean that they are an expert in every component and subsystem, but they should have a good working knowledge of how components work together and interact. Ideally, the person will also have experience solving different types of problems, from green-field development building new systems, to making surgical fixes to legacy code, and various points in between.

Team leaders are responsible for helping to shape their team’s technical vision. To do this, they need to understand how the system works today, what its limitations are, and where there are opportunities for improvement. They need to collaborate with their product owner to help them understand the feasibility, cost, and risks associated with pursuing a particular product vision. Shaping technical vision requires understanding these current and future needs, and coming up with a strategy to fulfil them.

Gaining an understanding of the team’s technical domain, and building technical experience takes time. This is one of the reasons that it’s important not to rush into the team lead path — there is no substitute for experience. Doing one particular type of work once is not enough to be considered experienced in doing that work. It is only through doing similar work, time and time again, that you’re able to apply your learnings from the past, and deepen your knowledge.

4. Run large projects spanning multiple teams

Having experience of managing large projects is a must in order to become a team leader. It demonstrates the ability to break down large pieces of work into smaller deliverables and milestones, exposes you to working with different stakeholders, and allows you to practice influencing without authority.

Related to this is the ability to work with vague, or incomplete requirements, which are not uncommon, particularly when starting new initiatives. Being comfortable with this uncertainty, and able to work with product stakeholders to develop a concrete, incremental solution is an important skill to practice.

Team leaders are accountable for their team’s product delivery. They need to be able to recognise when a project isn’t going to plan, and take steps to correct the course. They need to know how to communicate the right information at the right level for the stakeholders involved. Once again, there is no substitute for experience when it comes to running projects. Future team leaders typically have multiple examples of navigating the complexities of large projects and delivering successfully.

5. Communicate well

Communication is a core part of a team leader role. Whether it be delivering feedback to an individual, explaining what went wrong in a post-mortem, listening to a team member’s concerns, or advocating for change; solid written and verbal communication and listening skills are essential for success.

Communication is also an important part of the engineering role so there are lots of opportunities to practice, for example:

  • Writing Request for Comments (RFCs), Architectural Decision Records (ADRs), pull requests, status updates, and other forms of documentation
  • Presenting technical topics, and explaining concepts to someone with less experience
  • Participating in design discussions, listening to the views of other team members, and trying to explain them in your own words
  • Conducting interviews — introducing yourself and explaining what you do, helping the candidate understand the question, listening to their responses, and writing clear feedback

6. Mentor others

People who become team leaders tend to have some experience and ability in mentoring others. It is typically something that they enjoy. It demonstrates an ability to work well with people of different experience levels and backgrounds, and to adjust their approach accordingly. It is also an excellent chance to practice giving constructive feedback.

Team leaders are responsible for the development of people in their team. Team members can have a wide range of experience levels, both in their role and in the company. It’s likely that at some point you’ll be leading someone who has more experience than you in some aspect of the job. Each person in the team will require a different level of support and guidance — in some cases mentoring, in others coaching, or often a blend of both. Having some experience in mentoring prior to becoming a TL is a good indicator that you’re willing and capable of supporting others.

There are a typically number of mentoring opportunities available to engineers, for example, supporting interns, or recent joiners. Your team leader will be able to help you get started with this.

Photo by Brooke Lark on Unsplash

That’s all for part one. Now for part 2.

Thanks to Melanie Harries for reading drafts of this.

--

--

Mark Wood

Engineering leader at Bloomberg. All opinions are my own.