Things an Excellent Engineering Leader Should Know

Jinpeng Zhang
9 min readMay 3, 2024

--

Notice: All the opinions of this article is based on what I have experienced and learned from the past decade software industry working experience, and it doesn’t mean these ideas are suitable for all industries. And for the past 8 years, I worked in PingCAP, the company behind TiDB. Like some other technical companies, there is no pure people manager in PingCAP, and the “leader” in PingCAP is more like a combination of tech leader and manager. And the “leader” role in this article is a combination of tech leader and manager. Hope these opinions in this article can help you a bit if you want to be a leader or you already are a leader.

The leader is not about position or power, it is more about leadership and responsibilities

Before we start to list things leaders should know, let’s talk about the definition of leader. Different people may have different definitions of leader, and my definition is “A leader is a person that others are willing to follow him/her, and he/she takes the responsibilities of this group of people and helps them deliver great results and grow”. Instead of defining “Leader” as a job title, I prefer to define “Leader” as a role. A person without team leader title but he/she lead a group of people work in the same project, he/she help others deliver excellent result and help them grow, he/she is a true leader.

Leaders have a very important mindset that differentiates them from IC(individual contributor) roles: “the leader is a role that helps team members succeed, and then he/she succeed.” If you are more exciting to solve problems by yourself, and more exciting to achieve results by yourself, rather than help others grow and deliver results, then you probably are a good IC. IC or Leader, it is more about yourself’s willingness and choice, according to your personal characteristics.

There are two key words in my above leader definition: leadership and responsibilities.

Leadership is that others are willing to follow you because of your charisma, rather than because of your power and position. Others are willing to follow you, because they believe you can help them to deliver excellent results, because they believe you can help them grow.

The leader is more about responsibilities:

  • As the leader, you have the responsibility to make sure your team can deliver great results. If your team does not achieve good results, as the leader, you need to take the primary responsibility. Your team didn’t achieve good results, probably because your team’s goals were not aligned well with the whole company’s goals, probably because you didn’t give good training or guide for new hires, probably because you didn’t get enough supporting resources for your team’s work, probably because you didn’t track well key projects and didn’t recognize project risk in time, etc. All of these may lead to unexpected results for your whole team.
  • As the leader, you have the responsibility to help your team members grow. These people are willing to follow you because they believe you can lead them achieve good results and lead them grow. Everyone has a willingness to grow, and as the leader of the team, you have the responsibility to create growth opportunities for team members, and align with them your plan in advance. I will use a dedicated article to talk about performance management and growth later.
  • As the leader, you have the responsibility to get enough resources for your team and your team members. Sometimes, in order to achieve goals for the whole team, you probably need to get enough supporting resources from outside of your team, like buget, supporting from platform team, etc.
  • As the leader, you have the responsibility to speak out what amazing results your team members have achieved. Leaders are the spokesman of the team, and you should cheer for the great job your team members have done, and continuously increase your team and your members’ awareness and impact by doing this.

Align your team’s goals with the company’s business goals

You probably have heard the sentence “do the right thing”, but how?

We join into the same company and work togather, because we have the same goal: make the company success. Every team’s work should support this same goal, no matter if your team is the developing team, quality assurance team, presales team, sales team, or other teams. If your team’s goals are not aligned with the company’s business goals, I believe your team’s work cann’t have high ROI (return on investment).

What unique value your team can contrubute to the company’s business goals of this year? As the leader, you should figure it out clearly. Some teams’ work can directly contribute to the company’s business goals, like sales team sale product or service to customers and contribute revenue, product team and developing team produce high quality product for customers, supporting team provide professional service to customers, etc. Some teams’ work in-derectly contribute to the company’s business goals, like enabling team and platform team, they help other teams to build better process, and provide support to other teams.

When you are figuring out the unique value your team can contribute, figuring out who your team’s customer is is helpful. For example, the developing team’s customers are the end users and customers of your company’s product, and then the developing team’s priority goal should be building high quality products that satisfy these customers’ requirements and deliver continuous high quality service to these end users and customers. The marketing team’s customers are these prospective customers and users, and then deliver the appropriate product messages to these prospective customers and increase the awareness of your product to these prospective customers is your team’s unique value, etc. I will use another dedicated article to discuss how to set good and measurable goals for your team.

Hire the best talents, for now and for the future

In a software company, the most basic and important asset is telant. Without telant, the software company’s value is near zero. So, after figuring out what unique value your team should contribute, you should check the existing telant situation in your team. In this way, you can find what special telant you should hire for your team, both for now and for the future.

I still remember the argument I made with HR in the early day when I became a new leader, whose responsibility it is to hire telant for a team. The answer is so obvious today, only the leader know what kind of telant your team need for now and for the future.

When you hire a new hire for your team, please keep the bar. It may take time to find a real telant, please remember that you would rather leave this position vacant than lower the bar to recruit someone. Trust me, best talents just want to work with other best telants. And for a startup software company, having a group of best telants is the must-have prerequirement of company success.

I will use another dedicated article to discuss how to recognize real telant in the interview.

New hire training

Helping the new hires integrate into your team is the leader’s top priority work. You should provide a first 3 month landing guide for each new hire. In this way, you can align your expectations with the new hires, and give the new hires explicit guide to let them understand what is your team’s unique value in the company, what is the working process in your team, who they can contact if they encounter some problems, etc.

Besides the landing guide, you should assign a team member who has already worked in your team for a while as the mentor of the new hire. The new hires work closely with their mentors. In this way, these new hires can build connections with team members, as well as receive help on time and remove obstacles when they are landing.

The landing guide and mentoring mechanism are so important for building a good landing experience for new hires. With good landing experience, the new hires may tell their telant friends what a great team and environment he is working in.

Key projects tracking

You don’t have to know all the details of your team’s work, but as the leader of the team, you should keep your eyes on these key projects and key results your team should deliver.

What are the key results your team should deliver in this quarter? What are the success criteria for these key results? What are the top 3 key projects in your team this quarter? How about the progress of these top key projects? Any risks for these key projects? Are these key projects well tracked? Any help your team needs from other teams in order to achieve these key results?

Regular weekly meetings are a good way to keep track of these key projects. Keep asking yourself the above questions every week. Remove potential obstacles for these key results and key projects in time.

Delegation: assign projects to the right person

Typically, there are 2 or 3 key projects for your team in a quarter which you should keep your eyes closed on. If there are more than 3 key projects in your team at the same time, your team probably is losing focus. This practical tip is suite for both a small team with 10 members and a large team with 50 members. If your team is a relevant small team with less than 5 members, 1 key project at the same time is a practical suggestion that can make your team focus. If you are a leader of team with 10 members, these key projects typically are domain-wide projects, and each project has 2 or 3 members participate in. If you are a leader of a team with 50 members, there should be several leaders, like 5 or 6 leaders directly report to you. In this case, these key projects you pay attention to usually are end-to-end projects with broader scope.

For each key project, you should delegate it to an explicit owner, typically senior team members or leaders supposed to take the project owners role. If your team doesn’t have enough qualified project owners, for example, most your team members are juniors, the leader probably needs to lead a project directly or mentor a junior member as the project owner. But if most of your team members are juniors, this is a serious organizational risk for your team.

The senior members have good technical skills and project management experience. They know how to breakdown a project into tasks that multiple members can participate in concurrently with necessary collaborations. They know how to set milestones with a timeline for the project. They know how to recognize and escalate the risk in time if there is. All these skills are crucial for delivering results with expectation.

Some leaders may assign projects to some junior members to let them learn and grow from the project owner role. But for these key projects, delivering expected results has high priority.

One more tip for task delegation: don’t assign explorational, inspirational or non-deterministic projects to new hires. You should assign these types of projects to team veterans who know more historical backgrounds. On the other hand, these senior veterans also need to experience new challenges and grow.

Building mechanism for your team

Don’t let yourself be too busy with those trivial things, reserve enough time to think about the real root cause of problems your team or business are experiencing.

Your product exposed more quality issues to customers in the past month than before. You probably category these issues as well as their root causes. Is it because code review mechanisms don’t work well, why? Is it because there was no code review mechanism, or the code review mechanism didn't work well, why? Is it because all your team members were overwhelmed and biased on project progress with quality sacrificed? Is it because your team lack of a special expertise(this happened before when my team turned into a new direction, like cloud-native development), should we hire a new telant with this expertise?

More and more customers complained about the tickets resolution time is longer than before. Is it because the total number of customers increased a lot? Is it because the latest version of the product is adopted by more customers? Is it because the professional service team are experiencing some special challenges? Is this situation temporarily or permanently?

Some new hires told you that they feel catching up with the team is hard. Is it because your team didn’t provide good landing guides for the new hires? Does this problem still exist if there is another new hire join your team later?

The next question you should ask is “if we have done what, these kind of issues should not have happened, for ever”. By thinking about the above questions deeply, you probably find out that your team probably lacks a mechanism or the current mechanism needs improvement to guarantee all these issues your team is experiencing doesn’t exist any more.

You can only be a qualified leader with enough practice

There are other important things a leader should do, like create a clear mission for your team and build an open culture for your team, do regular 1 on 1 with team members, etc. What I want to call out here is that no one can become a good leader after just reading some books. Like an experienced driver needs practice, an excellent swimmer needs practice, enough practice is also necessary for being a good leader.

--

--

Jinpeng Zhang

Engineering Director at PingCAP, focus on building large scale distributed storage & database, and building high performance engineering team.