Skip to content

Latest commit

 

History

History
78 lines (39 loc) · 6.3 KB

techlead.md

File metadata and controls

78 lines (39 loc) · 6.3 KB

How to be a Tech Lead – The non tech sides

Who is a tech lead?

The goal of a tech lead is to influence individuals, teams and organizations to effectively deliver durable results. When we start a project it’s the team which along with customer homes in on the vision. Tech lead then provides a path to realize that vision. Tech lead provides this path by dealing with difficult things and taking ownership of outcomes.

As a first rule: If you are not ready to deal with difficult topics and people you are not ready to lead yet.

It’s not an easy job; it requires technical expertise, communication skills, and the ability to multitask.

If you aspire to be a tech lead don’t wait for the job to fall into your lap; demonstrate that you are trying to earn the position and can handle it well.

Tech lead is not the job for the person who wants the freedom to focus deeply on the details of her own code. A tech lead who does this is not doing her job. The biggest trick of being a good tech lead: the willingness to step away from the code and figure out how to balance your technical commitments with the work the whole team needs.

Tech lead as a leader

Project success is all about people. Tech lead is in charge but not in power. There is a reason why influence is highlighted above. Ideas which seem like one’s own gets implemented the best. Your job is to incept ideas into teams so that they get the right outcomes. Leadership is the art of getting full cooperation from those who are not forced to comply.

Tech lead ensures teams create sustainable results. Our work in not doing the stuff and leaving. It is to make sure the thing lives on. We do this by mentoring and developing the customers and creating learning organizations.

In short: Tech leads make teams better over the long run in a sustainable manner.

The main tool for being a better leader is to ask better questions.

Asking questions is much more valuable than to have solutions. Train yourself to ask questions. Ask questions which open the discussion. Closed questions like yes – no do not leave room for talking. This takes skill. Shadow an experienced tech lead and you will see how effective asking questions can be.

Ask for help – Nobody knows everything. Tech lead does not mean the know it all.

Time management and focus

As a tech lead there is a lot to do. You would want to code, you must make sure others understand what needs to be done, you need to communicate the progress and then there are always the meetings.

It is essential to learn how to focus. Different people have different styles and it is important to realize what’s yours. Here are a few guidelines which help me.

  • Say NO. Tech lead provides a path to accomplish the vision and a diffused do everything vision is no vision at all. Be focused. Focus on your time and protect your team’s focus.

  • Be biased to output not to input/action. Full resource utilization will always lead to reduced flow. This is a mathematical statement of queue theory.

  • You don’t have to do all the stuff – You must get all the stuff done. Understanding this is the key to success of being a good tech lead.

Alignment

As a tech lead you report to many.

You report to your team and it’s your job to make sure that they are “feeling” good. Feeling is an authentic human expression so embrace it.

You report to the customer - Technical problems are business problems and tech lead should be able to do this translation. Requirements are more important than fitting the architecture.

You report to the Dev Crews leadership – It is your job to highlight risks and mitigation plans from checkpoint to checkpoint. Come prepared and give meaningful demos. Learn to delegate preparation to the team and expect them to present their bits at the checkpoint. You are still ultimately responsible so keep that in mind.

You report to other teams – Getting stuff done is silver. Imparting the knowledge to others to accelerate them is golden. Make sure as a tech lead sharing is done after project completion. Go and share your experience.

Project management

Measure what matters. Here is my current thinking of what that means

  • Delivery lead time: Delivery part of the lead time — the time it takes for work to be implemented, tested, and delivered.

  • Deployment frequency: How often is the code shipped to production

  • Time to restore service: how long it generally takes to restore service for the primary application

  • Change fail rate: What percentage of changes to production (including, for example, software releases and infrastructure configuration changes) fail

Read the book Accelerate

I think some tactical tools which help the most in running successful software projects

  1. Work in Progress (WIP) limits: Stop starting and start finishing. Momentum creates momentum so get things done instead of starting many tasks. It also improves communication between team members and a natural way to collaborate over tasks so that new tasks can be brought to the board.

  2. Retrospectives: Realizing ways to improve from week to week and taking action to close the gaps found will help the team in trusting you. The worst thing a tech lead can do is to ignore retrospective action points.

  3. Disruption Budget: Regard yourelf as having a defined amount of budget for changing things. Every intervention you make into a process, plan or existing software is a moment when you spend that budget. Make sure you spend this budget wisely on high impact items and don't go into debt. Good investments early result in you gaining more budget to spend as the value of the disruption is realised. Bad investments result in a loss of trust and reluctance to take on future disruptions.

Conclusion

At the end of the day, it is good practices, especially upfront, combined with dedicated people ready to react to the inevitable surprises, that get projects done successfully. The job of the tech lead is to facilitate others getting the practices done properly by keeping everyone focused on the goals of the project and keeping at bay all the stakeholders who might be tempted to disrupt the progress of the project. The leader's job is not only to give vision and to guide but also to protect the good work being done by others.