Skip to content

Welcome

Introduction#

This handbook provides practical advice and guidance for Tech Leads and Senior Engineers.

People in adjacent roles — Product Owners, Scrum Masters, Architects, Testers, and others — should also find much of it useful.

What is a Tech Lead?#

Many organisations have a role called Tech Lead, but the specifics vary widely.

Scale. Tech Leads usually lead a single team, but this is not always the case. They may lead a small team of two or three, a larger team of ten or so, or even two or three teams that may comprise twenty or so people in total.

Coding. Tech Leads are always expected to remain in and around the code, but in some teams and organisations they remain significant individual contributors while in others this mostly takes the form of mentoring, pairing and reviewing code.

Architecture. Tech Leads always contribute to defining the system architecture, but the extent varies widely depending on the organisation and in particular whether there is a separate Architect role and if so how that operates.

Testing. As a Tech Lead, you are ultimately responsible for ensuring appropriate testing is done. You may have dedicated tester(s), Software Engineers in Test or similar in your team who can advise on specifics, but if not then you need to fill that gap.

System reliability. The Tech Lead ensures the system is reliable: that non-functional requirements are understood, met, and validated through appropriate testing. This includes building in observability, security, performance, scalability and resilience. Depending on the organisation they may have more or less support from existing tooling, patterns and specialist roles such as Platform or SRE teams.

Culture. Tech Leads always play a role in nurturing and shaping the culture, and in some cases they are the the primary person doing this in the team(s) they lead, while in others there may be significant contributions from a Scrum Master, Delivery Lead or Product Owner.

People management. In some organisations, Tech Leads do not have formal people management responsibility, while in others they do. In both cases, a familiarity and confidence with people management techniques is necessary to be effective in the role.

Process. Tech Leads always take the lead on defining and evolving some aspects of the team ways of working. In some cases, this may be limited to the more technical aspects such as branching policy, while in others they may also lead the agile and people management aspects.

Work in progress#

By design, this handbook is a work in progress. It is being continuously extended, updated and improved, using a pull-based, incremental and iterative approach. It is an agile approach, rather than the waterfall pattern of traditional book publishing.

As the need arises for an article that explores a topic, it is developed and released just in time. As understanding evolves and feedback is received, content is refined and improved. This has all the benefits of an agile development approach: value is released incrementally, and feedback guides future developments.

Contribute#

If you have experiences to share, or if you find something confusing, wrong or incomplete, then please get in touch .