Why Product Teams Should Hire Tech Leads
Realising the power of the product management tech lead partnership
The composition of any product team will typically include a blend of:
- Software engineers
- UX / product design
- Product management
The team may also include a UX content writer, a user researcher or other roles such as agile coaches but it’s common that these roles will float between teams, too.
The product manager defines the rationale for ‘what’ should be built and ‘why’. The product designer brings to life the ‘what’ through well thought out, user researched designs. Software engineers will also be involved in this same process to some extent but their primary focus is on the ‘how’. How exactly will whatever the product manager and designer want to be built, actually get built?
Software engineering is responsible for this. And it’s certainly not easy. Which is why it’s generally a good idea to hire tech lead / senior software engineers.
The role of a tech lead
The purpose of a tech lead is to embed strong technical practices and thinking into the team so that the business makes solid technical decisions.
Where the role sits in the hierarchy
Typically, a tech company’s tech / product org chart will look something like this:
- CTO – technical leadership
- Tech lead / senior engineers
- Software engineers
The role of tech lead sits between the hands on, day to day execution of building products and the hands off, leadership position of Chief Technology Officer (CTO). It’s the fact that the role straddles these two levels that makes it one of the most effective roles, when executed properly.
How Facebook structures product teams
In some organisations, including Facebook, tech leads are not merely responsible for making technical decisions about which technology to use. Instead, they’re also heavily involved in the day to day execution of work, by project managing the work that needs to be done to bring important strategic decisions to life.
Product management is focused on strategy, partnerships and figuring out whether or not something should be built in the first place – and not on creating Jira tickets or making sure team members are unblocked. This responsibility is handed to tech leads and the engineers in the team.
In >1 year as a PM @ Facebook I’ve created zero tickets/tasks. We don’t do sprints either.
PMs here focus on vision, strategy & partnerships. Less on project management & tasks.
Engineers carry most of the project management responsibility & create their own tasks.
— Ben Erez (@ViableBen) July 28, 2021
Of course, not all product teams are structured in this way and many teams still put product managers in a squad set up where they focus on both strategy and execution at the same time.
But let’s say you’re in a team which doesn’t currently have any tech leads. What value does a tech lead engineer bring to the party, exactly? Let’s explore a few ways tech leads add value.
1. Architectural oversight across product teams
One of the reasons the cross functional product team – or squad structure – is efficient and widely adopted because it speeds up decision making. Need a design to be tweaked? Speak to the designer in the team. Need a scope question answered? Clarify it with the product manager. Need a technical decision answered? Speak to the engineers. The cross functional nature of the team makes unblocking blockers much simpler.
But the potential downside of the product team squad model is that:
- It can lead to tunnel vision where the squad is so efficient that it never feels the need to engage with other teams
- Technical architectural decisions are made by individual product teams without thinking through the impact across squads
Hiring tech lead engineers gives you the opportunity for ensuring there is strong technical oversight between product teams. Yes, the CTO can attempt to do this too, but there is something uniquely powerful about the role of a tech lead embedded into a squad since they will understand the real world implications of an architectural decision rather than an abstract, hypothetical version of it.
Whenever there is a major architectural decision to be made, the tech leads from each product team can sync up to ensure there is proper oversight.
And the same goes not just for major architectural decisions, but also smaller, day to day decisions too. If a developer in the team wants to use one component library to another team, the tech lead can step in to ensure the teams are re-purposing technologies as much as possible.
2. Prevent technical debt
If architectural decisions are being made with solid oversight from engineering tech leads, one of the benefits of this for the team – and for the business – is that the architectural decisions should lead to less technical debt.
What’s technical debt?
For anyone new to the world of building products who might be assessing which role to get into, the idea of technical debt is that it is a burden – just like financial debt – that slows the team down and restricts the possibilities of what can be built next, because of poor decisions or legacy technology. Over time, unless the debt is addressed, it will continue to place a burden on the team and slow down overall development times, particularly if new feature development is dependent on that part of the codebase.
Tech leads with years of experience should be able to understand when the development approach to a specific feature could lead to technical debt and steer the members of the team down the right track, instead.
Tech lead engineers should also be able to work the product manager to identify which bits of technical debt are the most critical. Without the experience of a tech lead, more junior software engineers may view everything as tech debt that needs to be addressed whereas in the real world, tech leads understand that not every single piece of tech debt can be addressed and that prioritisation is critical.
3. Leadership / mentorship of more junior team members
This leads us nicely onto one of the most valuable parts of having engineering tech leads in your company – the leadership and mentorship of more junior software engineers.
The role of a Chief Technology Officer (CTO) is often far too removed from the day to day executional details that product team members will know and so a CTO may not truly understand the best solutions for a problem the product team members are facing and may instead rely purely on what an engineer is saying.
Engineering tech leads embedded into a cross functional product team will be able to clearly see any problems first hand and work to provide leadership and mentorship of more junior members.
This will help junior software engineers grow into better engineers overall who are capable of learning from the experience of tech leads. Without a tech lead or tech lead in the teams, junior software engineers can end up making bad decisions or getting caught up in the details of something which may not be relevant to the bigger picture.
When you’re stuck in the depths of building a new feature, it’s easy to get lost in the finer details of it without seeing the broader, bigger picture. A strong tech tech lead will help more junior members of the team lift themselves out of the depths of the details and bring some sensible pragmatism to proceedings to help the team stay productive.
4. Sounding board for product managers / designers up front
Life can be lonely for product managers since we’re often seen as the ones dishing out the work without actually executing on any of it (an unfair representation of product management of course, but one that we’ve seen a lot).
Similarly, for designers, there’s usually only one designer per product team so this role too can also feel a little lonely when you feel like you’re the the only one fighting the good fight to keep the pixel perfect, fancy designs you’ve put together, only for the engineering team to squash your dreams by telling you that the designs are going to take 3 years to build.
The beauty of investing in hiring tech lead engineers is that they can act as sounding boards for product managers and designers up front and early in the product discovery process.
Thinking about adding a mobile app? The tech leads can help.
Want to leverage an existing table design to use on a new consumer-facing reporting tool? The tech leads can help.
Want to build a new landing page on the marketing site which leads neatly into a new mobile friendly onboarding journey? The tech leads can help.
Engineering tech leads will be able to add value to the entire product discovery process by providing realistic and honest feedback on product ideas and designs early on.
This helps the lives of product managers and product designers because it means everyone’s expectations are managed; the PMs can ensure they don’t overpromise to stakeholders what the first iteration of a product might include and the designers can ensure they don’t get too carried away with a design – or that ensure they re-use existing components that have already been built to be used for other features.
A strong tech lead will work with product managers and designers to keep the scope of a feature realistic whilst ensuring it still meets user needs.
5. Get buy in from the rest of the software engineering team
A dysfunctional product team is often the byproduct of a team that is not happy with what is being built, why it’s being built or the process of building it. The software engineers might feel disillusioned with the strategic direction of the product or might feel that what they’re building is somehow not valued.
One of the benefits having engineering tech leads on board is that they can engage directly with the product manager and wider business and then sell in the strategy to the rest of the engineers in the team. Yes, this is largely the role of the product manager (and they will of course continue to do this critical part of their role), but having a fellow engineer on board will help persuade the rest of the engineers that what’s being built is going to work.