Becoming a Tech Lead

I’ve been a senior developer for over a year now and I’m starting to think about how I can grow into an awesome tech lead.

I’ve always wished that there was some kind of manual that would explain to me how to become a tech lead. Which skills I would need to learn and grow, how to know what to worry about and what not. What kind of things I should be looking out for on my team and how to lead a group of developers to make good quality software.

Alas it seems that there is no such manual and you really just have to get out there and try and learn quickly.

A couple of months ago I was fortunate (or unfortunate depending on how you look at it) enough to “try out” being a tech lead while the other senior developers and tech lead all went on holiday for 2 weeks at the same time, leaving me to try to hold everything together while they were gone.

Initially I was quite daunted, but hey you don’t get the opportunity to ‘play’ at being the tech lead without having to actually BE the tech lead very often. I was also very lucky that I was in such a ‘safe’ environment and could fail fast and learn quickly.

These are some lessons that I took away from that week:

  • Trying to stay in the pairing rotation and being a useful part of the pair while starting out in this role is really hard. I started this way at the beginning of the week, but found it too distracting for both me and my pair when I kept getting pulled away for other discussions. The constant context switching every 5 minutes meant that I could never concentrate fully on pairing effectively. Once I took myself out of the pairing rotation and worked on my own, my stress levels and concentration were much better, and I didn’t feel guilty about being an awful pair. It also meant I was free to float around and help anyone else where needed without worrying that I’d left my pair in the lurch.
  • I kept a list of all the things that I saw going on around me that I thought might be ‘smells’. There were a few things that I simply didn’t have time to worry about, making a note of these and moving on made it much easier to not get overwhelmed. I would then come back to the list often to see what I could tackle next or note down anything that was changing. This was very helpful when it came back to handing the reins back over so that they could see what had been happening and any solutions that I had to problems that I hadn’t had time to dedicate too.
  • Don’t let anyone see your fear! There was a certain amount of ‘fake it until you make it’. Present a confident front. Admit it when you don’t know the answer to something and go and find out the answer. But letting on that you’re nervous or that you’re not sure what you’re doing is not going to make anyone want to follow you. I was very lucky that the rest of the team were supporting me and understanding that someone  had to play this role.
  • Trust people. Theres no point hovering over people and/or  micromanaging people. Let them get on with their work and they’ll come to you to ask for input on their own.

Since then I have been “feature leading” one of the main streams of work for our current release which has been really fun. Especially with the ‘real’ tech lead back. Thats another great way of getting experience in leading a technical team. Take charge of a stream of work and become the point person for it. It’ll give you great exposure to teams outside of your own. and let you see the consequences of design decisions that you made earlier on.

See my colleague Pat Kua’s post on Feature Leading here. If anyone has any resources on growing into a technical leader please share!

Advertisements

Bringing Visibility to Retrospective Action Items

I’m a big fan of the Retrospective. I think it’s so important to take time to look back and reflect on how things have been going, and think about how to make things better on your team. There are heaps of different kinds of retrospectives for different occasions and to enable you look at your from lots of different angles.

Regular retrospectives will open up great communication between team members and make it easier to talk about issues and successes.

However, you can’t reap the full benefits of retrospectives if nothing changes afterwards. If the team feels like they are losing an hour of their lives to retrospect and then nothing happens they aren’t going to be keen to have one again.

Some things that I think are important:

  • Retrospectives should happen regularly. Every 1-2 weeks AT LEAST.  More than that and the feedback cycle is too long, the retrospective will likely take hours because so much stuff has built up.
  • Keep them energetic, change up the format often and get different team members to facilitate and take ownership.
  • Keep them constructive, follow the prime directive and ensure that there are action items that have owners and are achievable.

I recently joined a team that was feeling quite disillusioned with their retrospectives. They were every 3-4 weeks, and the same issues came up time and time again. Nothing was changing and the team was frustrated. On my second day on the team we had a session and everyone was grumbling before we had even started, that it was pointless. It broke my heart.

I felt like there was a massive lack of visibility to the items that had come up, no ownership and no follow-up.

So I got hold of the items that had come up and created a Retrospectives Action Items board that lists all of the action items, their owners and equally as importantly, which ones we have actually achieved so that the team can see that we are making headway.

This board lives next to the story wall where we hold standup so that we can talk about the items every few days, see progress (or lack there of) and provide a friendly reminder. (My crafting skills pale in insignificance compared to some of my past team mates, so sorry about that!)

  • Ensure the whole team can see the action items and who’s responsible for making each one happen.
  • Regularly bring action items up and check progress during standup, remove any blockers if necessary.
  • Celebrate the items that do get done.

So far this has worked pretty well. I already feel there is a better energy and things are changing as a result of our last retrospective. Next mission, get them to happen much more often!