What I wish I knew as a first time tech lead
Patrick Kua has led a number of different teams at software consultancy firm ThoughtWorks and is the author of ‘Talking with Tech Leads’. Patrick shared some useful insights around role development and leadership at the Lead Developer 2016. Watch his full talk on Vimeo, or read on for a summary of his presentation.
The three stages of being a tech lead
Patrick splits the journey to becoming a good tech lead into three general stages, during which he says we acquire quite different skills:
1. Life as a developer
As a developer, life is mostly about writing code and producing. You are excited about delivering futures and seeing your software being used. As a developer, we also become used to fast feedback, through functions like monitoring failures and bug reports, and problems are solved relatively easy – meaning we get a quick sense of accomplishment.
2. First time tech lead
As a first time tech lead, our focus has to change. It is probably the biggest transition and requires a whole new set of skills, and we have to learn to let go of what was expected of us as developers.
Here are a few of the most common mistakes that newer tech leads make:
- Hiding behind writing code instead of dealing with other responsibilities
- Making all the technical decisions – a tech lead doesn’t have all the information, but their developers might
- Thinking that problems – even personal ones – are someone else’s problem. A tech lead must be an emotional outlet for their people
- Assuming that people in their team know the direction they are going in
- Assuming their team will resolve problems themselves, without guidance
Also, first time tech leads should remember that mistakes are ok and are part of the development process. However, they must also recognise that it is important to learn from these mistakes - after all, their impact is amplified as a tech lead.
3. The wiser tech lead
This involves less of a transition from the previous stage, and in general a wiser tech lead will recognise a number of key things that progresses their leadership:
You don’t need all the answers
That’s what your team is there for. So tap into them, ask yourself how they can contribute. It’s ok to say you don’t know, but find out who does. A good leader will expose some vulnerability – it shows strong leadership, as nobody can claim to be perfect.
Know you are not alone
When you become lead developer you might feel like an outsider. Yet there will be other people and development teams around you who are having the same issues – especially if you work in a larger company. Perhaps think about establishing a community, or a tech council, and don’t grapple with all the problems by yourself.
Remember that no two people are the same
This is one of the biggest leadership challenges and impacts the ability to persuade, manage conflict, and demonstrate vision. Something extremely important to recognise is that people are not a collective group. They are complex, and how you tap into their differences – their passions, their experiences, their strengths – will be crucial to how effective you are as a leader.
The Situational Leadership Model (see diagram) offers a good framework, and revolves around either ‘supporting’ or ‘directing’ behaviours depending on the situation and the individual:
Consider an eager employee straight out of university. They are probably more willing to receive more prescriptive guidance. However, this might frustrate those that are more experienced. The key is to think about how you progress employees through these stages, from the directing ‘tell’ stage through to the more supportive ‘delegate’ stage as their subject competency grows.
Be able to say no
Realise that the consequences of trying to please everyone means you’ll please none.
It will lead to overburden. Focus on where you can add value, but do create time to spend on those non-urgent but equally important things.
Recognise leadership styles
Spend time thinking about your approach and your strengths, and recognise there are different ways to lead. These include:
- Coaching: Good leaders think about ways to lead people to the answers, sending people on their own journey of discovery so they grow along the way
- Shepherding: Some people will need shepherding. You know that they know the path to take but just need to show them
- Channel your inner shaman: build up your story-telling ability. Provide background to projects and complications, and explain why things are the way they are to help your people tackle them
- Act as a champion: create space for your team. Protect them from negative pressures and ensure they are all moving in the same direction
This concludes Patrick’s journey, other than to make one more important reveal: the journey as a tech lead never ends!