Techie to Tech Lead
This is a series of stories and lessons from my very own journey of being a development team lead.
Part 2 focuses on how to build delivery capability and create win/win.
Part 3 talks about culture of team in which people want to come to work.
I love technologies and have been a seasoned software developer for 10+ years. I am also keen to having hands-on experience to build and lead a kick-ass development team. Luckily (thanks to my manager Doug Bower), since early 2017, I was given an opportunity to lead a new development team at one of the largest companies in Australia and deliver a very challenged project.
You Are A Newbie Again
Management is a total career restart. The skills that make you successful as engineers won’t apply to the building of people and team. It is experience that matters. The approaches you use for building products are not going to work when it comes people.
You were rockstar engineer and are now a newbie again. Being a lead, you need to change how you think and behave. You are not most important person in the team! It is the team! As a lead, you are responsible for the team so it is your job to think about how to move the team forward in a health way. You do not know where to start? In the upcoming articles, I am going to share some ideas and tips I have used to survive as a development team lead. Out of those ideas and tips, the single most important one is continuous learning about leadership, management and other related topics, and continuous improvement by constantly thinking and applying what you learn to your daily work. Be open and do not be afraid (and it is okay to fail sometimes) to try and experiment new ideas to see what works and what does not.
Change Your Behavior
You may have already read and learned that, as a lead, you need to delegate tasks to team. Sounds simple, yeah? Just tell your team what they need to do. You design solution (because you were rock star engineer and you want to show your team you are qualified), figure out what needs to be done and modified, assign them to your team and wait for the success to come. You may get the desired result you want, however, it is the #1 obstacle to your team’s success because
- the team becomes responsible for doing their jobs since they do what they are told, and has no ownership for the ultimate goals and solution
- the team does not learn and grow
- the team’s success depends on a single individual — you — which is very risky (that implies you are not allowed to have any holiday or leave ;))
Think about if you were a contributor, i.e. developer, are you happy to be an order-taker and just do what you are told? Is it boring and you won’t learn and grow? As a lead, you need to avoid sending orders and expressing your ideas or opinions immediately. Instead, you ask team what they think the right thing to do is and what they intend to do. You delegate outcome. It also help build a healthy team which everyone feels they make contributions. There is a BRILLIANT talk by David Marquet you MUST watch.
Tips
One of the most difficult transitions for leaders to make is the shift from doing to leading. I’ve found leading is once I lean back and team leans forward which help create thinkers not order takers. There are a couple of practices I’ve found helpful when it comes to changing my behavior to build a health team.
Catchup with a mentor. There will be a lot of questions, concerns and problems which you have not encountered and you do not know how to deal with. You may even do not know what you need to do as a lead in the first a few weeks or months. Having a good mentor gives you an opportunity to learn from their experience and all you need to is to ask.
Feature lead. For any epic we build, two developers, one of which is the feature lead (every developer, if they like, has equal chance to play this lead role), pair with each other to own the solution from end to end. It also helps each developer share their experience and design thinking with each other and learn from each other. Then what do you do as a lead? You can still make a lot of contributions to team, for example,
- During design review, you may help team to focus on why, what problems to solve, and what scenarios and user journeys are so that problems are solved by the solutions. You may also help team define what modules are and architecture. From requirements’ perspective, you may work with Business Analyst to see if there are missing requirements, i.e. what about requirements for mobile users and customer service representatives, NFRs, i.e. automated tests, metrics, security requirements, and so forth.
- On a daily basis, your routine may include activities like, coding, reviewing PRs, removing impediments, encouraging team to talk and connect to each other, promoting a culture of DevOps and Continuous Delivery, etc.
Lean coffee. One of your daily job is to identify waste and improvements. You do not want to be the only person thinking about improvements, instead you want a team of brains to be involved thinking collaboratively what they think can be improved and come up with solutions. We found that having regular lean coffee or similar open discussion help continuously improve how we work. We also did it at the beginning of this year and it seems working well so far.
It is exciting to become a lead and see how a team work together to deliver great result. Leadership is a brand new world for first time lead to explore and there are so much to learn. There will be pain, frustration and a lot of mistakes along the journey, I hope the tips in this article and following ones will help you survive.
Further reading