A Good Technical Leader
I have been reflecting a lot on what makes a good technical leader. A technical leader is leader who specializes in building technical systems. All the qualities that make a good leader apply to a technical leader, but there are also some specializations for the technical leader.
A good politician might be a good leader, but without technical specialty they cannot build technical solutions; their expertise might be in coordinating groups of people to solve hard problems and they rely on other technical leaders to come up with technical solutions and to carry them through to successful implementation.
Here is what I see as key observable properties of a good technical leader:
The most important thing a good leader does is to help the organization identify what it needs to do to have a large impact in a particular direction. They help the organization pick the right goals, develop a strategy to achieve those goals, break down the problem into actionable chunks by teams within the organization, mobilize teams and technology to help teams achieve that goal.
A good technical leader can deal with a high degree of technical complexity. They have good domain knowledge in their technical domain (CS, Software Design principles etc. for Software Engineers). They have the ability to understand new technical knowledge as they need it. They are excellent practitioners of this knowledge — they create systems that use this knowledge effectively and they can understand systems that are built using advanced technical knowledge.
As you grow in your career, the challenges you face become more amorphous. What to do becomes less obvious. The actions required to achieve your goals become harder to see. You see many different areas that require investment, but none of them might have immediate returns. As a leader, you need to be able to see through the ambiguity. Good leaders bring clarity so that the goals to pursue, the path to take to achieve those goals becomes clear and the team can actually deliver results.
All of us would like to invest a little and see a large return right away. You do sometimes encounter those situations. But this is not the norm. For complex problems, change takes time. Investing in an area and seeing little returns can be disheartening, but a good leader recognizes chain-linked systems and knows that completion of multiple objectives might be needed to creates good overall results.
They persist; they make incremental progress and can overcome the frustration of not seeing immediate results. They always have their eyes on the goal and constantly ensure the organization is moving in the right direction. They may not see the final results right away, but they ensure that the right improvements are made in each link to realize the benefit to the whole chain.
Good leaders develop their team. They set up their team to succeed. They break down complex challenges into smaller problems that can be solved by the members of the team. They respect, listen to, understand, challenge and rely on their team members to solve particular challenges. If someone is having a hard time, they provide just enough support to help the team member solve the challenge on their own and learn. They build a strong team with strong members.
They not only foster a culture of technical excellence, but also one of warmth, friendship, trust and mutual respect. This is what is going to make the day to day and ultimately the long term satisfying to the leader and the team. Ultimately, anything significant is a team game. A line I heard from a mentor sums this up: faster alone, but farther together.
The other aspect of people leaders have to deal with is stakeholder management. They can convince others of goals, approaches, actions etc. when the results are not guaranteed. Good leaders can convince the stakeholders to trust them and play the long game when required.
These I believe are key observable properties of good technical leaders. You might ask — why should you trust any of this? You don’t have to. I am a strong believer in reflection and consolidating your thoughts to learn from them. This is just a consolidation of my own thoughts from observation and personal experience in this area. Take this as a starting point for your own thoughts.