So you’re becoming a tech lead. You have the support of your manager and your team. You will be getting formal training soon and your manager will be coaching you. This is all nice and great, but… what could help you become a great tech lead now?
This post aims at helping you get started and being the best possible tech lead from day one. One of the main novelties that you will encounter as a lead is about people management. I, therefore, focus on this aspect here and assume that you will be handling the technical side of things pretty well — like you’ve been doing so far!
There are essentially 10 pieces of advice in this post. Here they are:
- Build and repeat the vision
- Learn to delegate
- Build team motivation
- Use non-violent communication
- Seek feedback
- Read books
- Handle bad stuff directly
- Build a career path
- Run efficient 1–1 meetings
- Take some time off
1. Build and repeat the vision
As a lead, one of your main missions is building the vision for your team. You’d be surprised by the number of leads who think that a vision is not important. There are at least two reasons why building a vision matters:
- Team motivation: Your team members will be a lot more engaged (and presumably stay longer in your team) if they have a clear understanding of the team’s vision
- Goal definition: Having a clear vision of where the team should go will help you naturally define goals and decide what to do and more importantly what to skip
Building a vision is easy. Building a compelling one is hard. Here are a few tips about how to go about it.
- Talk to your product team and to your team’s clients. Let them express their needs. Extract latent needs from your discussions (most of the expressed needs will not be what you will/should end up doing).
- Talk to your senior team members. Brainstorm with them in small groups and in unconventional settings.
- Get out. Go to conferences & meetups, attend industrial/academic talks. These outings will not give you the answer. But they will help you compile a relevant model of the world which in turn will help you build a relevant vision.
- Ingest the data and spend time alone to extract the gist of it. Let it percolate through your mind over long periods of time.
- Set aggressive deadlines for yourself. Present the vision to as many stakeholders as you can. A vision is always work-in-progress. Don’t even mention it. It’s obvious. But the simple fact of presenting it over and over again will help you refine and polish it.
2. Learn to delegate
One of the main mental shifts you will need to do becoming a lead will be to learn to delegate. This is not something a typical engineer has learned to do. Yet, you will need to learn it on the job.
- Practice. Find opportunities to delegate action items to a team member. Be very clear with them when you do so (i.e. tell them “I am delegating this task to you. Are you OK with it?”). You will also discover that by doing so, you are empowering your team. They will like it.
- Over-shoot delegation slightly. My experience is that junior leads always tend to under-shoot delegation. They will keep doing things and realize six months down the road that they could have delegated it. Be cognizant of this bias and actively look for opportunities to delegate. Every so often, ask yourself: “what did I delegate this month? How did it go?”
- Provide feedback after having delegated a task. Be transparent about what did not work, and congratulate people for things that went well!
3. Build team motivation
Running a team is not just about managing a group of individuals. It is also about making sure that the team is motivated by the team’s goals. Asking the question bluntly in a group meeting is not likely to give you a lot of signal on this. Here are a few recommendations on how to get this information and improve the team’s motivation.
- Be with the team. All the time. Be available when a team member shows up at your desk. To some extent, you can create a culture of not breaking the flow within the team. But other than that, the throughput of your team matters more than yours.
- Be on the front line. Lead by example. Get stuff done. Monitor your asking/doing ratio. Keep your hands in the code.
- Involve the team members as early as possible during the goal definition. Ideally, you would let the team define the goals by itself and act as a guide/gatekeeper for the outcome.
- Detect the main technical or product questions that are not trivial to solve. Dedicate time for deep dives on them. Book meetings with the min set of people needed to answer these questions (finding this min set is a hard problem, but you will get better and better at it with practice).
- Provide constructive feedback to your team members. Congratulate them on their good work. Add relevant signal to your message. Explaining why you like a certain idea is a lot more powerful than simply stating that it is a great idea.
- Do not let important questions unanswered. Work until they have been answered. Blur hurts team motivation.
- Use 1–1 to measure team members' motivation. Consider asking exotic questions to get to what you want (e.g. “if we had an extra two engineers in the team, what would you suggest we do that we are not planning to do today?”)
- Dedicate time! Team goal definition is often done at specific periods of the year (e.g. quarterly if you are using OKRs). Make sure to be available at this period of the year. You may not feel the difference, but your team will.
In the end, you are dealing with people. Getting a sense of their inner motivation needs an informal setting. Use these moments to let people tell you what they would not tell you at work.
4. Use Non-violent communication
As a lead, one of the most effective reads I found was Non-violent communication: A language of life, by Marshall Rosenberg. This book is useful well beyond the professional world, and it would be a feat to summarize it in a few lines. However, there is one piece of advice that I found particularly useful in this book: we (as humans) are not educated to speak in terms of needs. We tend to speak in terms of feelings, impressions, goals, results, etc. But we don’t speak in terms of needs. Yet, a lot of things get a lot simpler in life (either personal or professional) if we simply express our needs in clear terms. As an employee, for example, you might find it a lot simpler to enter a performance review negotiation with your manager by looking at him/her in the eyes and telling them: “This promotion is important for me, here is why”. As a lead, you might be a lot more effective by telling one of your team members “You would help me a lot by doing this, here is why”. You’d be surprised to see how easy the rest of the discussion becomes. We often assume that other people know what our needs are. They just don’t.
5. Seek feedback (a lot of it)
The main process of learning is feedback. You need feedback to know what you are doing well and what you can improve. Do not expect team members to come up to you spontaneously to talk about it. They won’t (even the most senior ones). Here are a few tips:
- If your company has some kind of manager survey, use it extensively. Push your team members to fill the survey. Communicate the results to the team in an open fashion and engage in a discussion with them. I always found it hard to have an open discussion about this topic with a large group of people. My recommendation is to start with a group presentation of the survey results followed by 1–1s.
- If your company does not provide manager surveys, go tell your HR department to deploy one and run your own until they do.
- Ask your manager for feedback. His/her role is to check on what is going on and provide you with aggregated, valuable feedback. If this is compatible with your company’s culture, ask your manager if he/she is OK with doing skip-level 1–1. Make it clear that they are not used for surveillance: skip-level 1–1 provides invaluable insights if they are done in a genuine way.
- Find a coach. If you are new as a lead, find a coach/mentor in the company and use them as a sounding board. Present them with real-world situations and discuss with them to discover if your reaction was appropriate or not.
- Use 1–1 extensively to ask for feedback from your team members. Some of them will be shy and won’t tell you anything. Give them a chance to think about it and come back with data at the next 1–1.
6. Read books
Being a team lead is a full-time job. A lot of people have done it already and have written about it. In addition to reading books about the role itself, I find it useful to read books that will give you the big picture in your field as well as how humans operate. Here is an incomplete list of books I found useful to read.
- In the company of giants
- The trillion-dollar coach
- The growth mindset
- The power of habits
- Thinking fast and slow
- The manager’s path
7. Handle bad stuff directly
At some point during your experience as a lead, you will hit some headwinds. Things are going to get hairy and you will face a difficult discussion to have with someone, either within your team or outside of it. While the literature is full of references and pieces of advice on how to handle these situations, I would like to share a few tips that I found very useful in these situations.
- Involve a valid third-party who can provide valuable but unbiased insights into the discussion. I have seen this work on many occasions. After all, there must be a reason why the Apollo program put three people in the shuttle (apart from the fact that two astronauts were needed while the third one was on the Moon). It is a lot harder to get into a fight with three people in the room than with two.
- Be the island of safety. What makes a good manager has been the subject of decades of research. Luckily for you, a large tech company (Google) already did the work of extensively studying it at scale, in the real-world, and coming up with the single most important factor that makes teams successful: psychological safety. In short, your role as a lead is to build an environment in which it is safe for people to fail. In practice, this means (1) giving a chance for people to fail (delegate!) and (2) dealing with failure properly. Provide constructive feedback in private. Focus on the lessons learned. Make it OK to stumble, stand back up and get back to work.
- Let steam go out. Managing a team is about managing people. Even if your office provides a great work environment, in the end, you will need to build personal relationships with your team members. One of the most efficient ways of doing this is by taking your team outside its daily work environment. This does not necessarily mean taking them on an offsite in Ibiza. Often, a simple lunch outside or drinks after work will do. But the simple fact of getting out will give an opportunity for people to release the constraints of the work environment, speak more freely and… let the steam go out!
8. Build career paths
As a lead, you will be expected to build a career path for each of your team members. This task is a fundamental aspect of being a lead. You should enjoy doing it. If it is not the case, this may mean that you are not on the right track in your career (seriously).
Each company has its own process for this. Independently from the framework that is given by your company, here are a few things that I found useful to do on this topic.
- Everyone needs a career path. Some of your team members will tell you that they are just fine following the flow and not caring about their career path at this point in their careers. Your role is to convince them that they need it and help them do it. They will thank you two years later.
- Adapt the needs to the seniority level. A common mistake is to think that junior people need more work than senior ones in terms of career path. This is very much wrong. Every level needs some form of guidance. They just happen to be different: a junior person may need a path paved with more specific milestones while a more senior person might need more help to think about where they are going. But in the end, everyone requires work and attention from you.
- Get help. An efficient way to build a career path for someone is to ask them to get coaching/mentoring from someone else. Don’t let them pick any random person. If your company has a mentoring program, there goes your list of candidates. Your company may also give you access to professional coaches.
- Build personal OKRs for each of your team members. I like to set a time horizon of 6–9 months and choose two goals. For each of them, let the employee come up with it, and define clearly the how and the definition of done.
- Seek opportunities. In the end, career paths are about opportunities. Your role is to seek these opportunities for your team members. Make sure to spend some time outside of your team/department to learn about what’s going on in the company. Spot potential opportunities and think about whether they could be a match for your team members. After all, it is a better deal for you to see a team member move inside the company rather than leaving the company.
- Dedicate time. Building a career path for someone takes time. A lot of it. Some of it will be spent talking to people, some of it will be spent thinking about it on your own. In the end, it will take time and as I mentioned earlier: you should enjoy doing it, which should translate into time in your calendar.
- Look beyond the company. Opinions may vary on this, but mine is that your mission as a lead extends beyond the company’s scope. At some point, someone in your team will leave. It is natural after all, and a null churn rate is probably not what you should be looking for. Your mission is not to make sure that nobody leaves your team. Your mission is to make sure that people leave for the right reason. There are essentially two reasons why people would leave: either because they dislike their current situation (in effect, they are running from somewhere), or because they found a great new opportunity that they could not match in your team (in this case, they are running into a new place). You should make sure that people leave for the latter. When people leave, show greatness.
- Talking about greatness: let people go with class. Whether an employee leaves the company on his own decision or on the company’s decision, you will be the one giving him the last goodbye. This moment is very important as it is going to leave a long-lasting mark in the memory of the employee. Remember that the employee is now becoming an external voice speaking about their experience in your team. Also, remember that the employee (presumably) did great work for you for some time and deserves a thank you on his/her way out. Take it as an opportunity to show greatness and empathy. Here are a few things that you can tell departing people, the third one being optional: (1) thank you for what you did (2) congratulations on your next job (3) optional: you’re welcome to come back!
9. Run efficient 1–1 meetings
One-on-one meetings are going to be part of your new kernel as a lead. If you are not convinced about how important they are, think about how important they’ve been for you as an engineer. Yet, running efficient 1–1 is not easy and is a skill in and on itself. Here are a few tips about running efficient 1–1s.
- Run them on a very fixed schedule and never (ever) deviate from it. Pretty much no other meeting or interruption should override a 1–1. When an override occurs (e.g. prod issue), re-schedule the 1–1 immediately.
- Give the other person your full and undivided attention. Show it with your attitude: your posture, your gestures, your words. Everything matters.
- Start your 1–1 with the “How’s life?” question. In 99.5% of the cases, the answer will be “Life is good!” The remaining 0.5% will be different, and you will be happy you asked the question. Take the answer as an opportunity to show some genuine interest in the personal life of the human in front of you.
- Leave room in your 1–1 for feedback. Feedback from you to the team member, and feedback from the team member to you.
- Do not talk about projects. By all possible means, refrain from doing project status during 1–1s. There are so many topics you can cover on the development side: career goals, conferences the employee should consider attending, training needs, happiness in the team in general, etc. Often, people in a 1–1 will (consciously or not) use project status to avoid more difficult discussions.
- Ask open questions. One of the most efficient ways to collect information from someone is to ask them open questions. This will usually lead the person to tell you much more than what you would have gotten with a closed question. Example of a closed question: “How did your interaction with John go on this project?” could become “How have your interactions been with the rest of the team so far?” In this example, the person may use this opportunity to tell you that, well, their interactions with Paul have not been amazing these past few days…
- Summarize the 1–1 with a shortlist of a few action items on your side or the employee’s side
- Keep all your notes in a shared document. This seems like an obvious idea, but it will go a long way in terms of transparency and efficiency.
10. Take some time off
Seriously, it’s exhausting. Pace yourself. Chill. Watch movies. Work out. Find what works for you. Get the steam out :-)
If you reached this point, you might be wondering how you could possibly remember all this. Well, this is simpler than it seems. With time, you will compile all this code naturally as you practice your new job. Build your own list of tips (hopefully some will come from this page) and make sure to revisit it regularly. Congrats on your new job and enjoy the ride!