Technical expertise is a must-have for tech leads, but succeeding in the role requires an understanding of the business side as well. That’s why Focused Labs, a software consulting company, calls its tech leads “anchors.”
“The reason we call it ‘anchor’ versus ‘tech lead’ is because, although the person needs to be very technical, there’s a lot of other things that go into it,” said Cecelia Story, director of engineering at Focused Labs. “Because we’re a consulting company, there’s a lot of client relationship stuff that you need to help maintain as well.”
Focused Labs’ development teams are unusual in that all development work is done in pairs, with between one and three pairs working on a project at a time. Developers frequently rotate between projects, but the anchor will stay on longer to help coordinate different aspects of the project. The anchor is usually an experienced developer who has worked on a project through its entire lifecycle.
“Anchors are typically more senior engineers,” Story said. “People who have experience maintaining applications in production, helping architect large products or understanding security requirements or operations support.”
Yashar Rassoulli, CTO of software consulting company Myplanet, said that, although tech leads should be experienced programmers, it’s more important that they have broad technical knowledge than deep expertise.
“The raw technical skills for the business domain and the technology stack that they’ll be deploying, that’s kind of a baseline requirement,” Rassoulli said. “They don’t necessarily have to be the deepest specialists in those areas, but they have to be able to ask the right questions, and be able to validate their team members’ approaches to their solutions.”
“They don’t necessarily have to be the deepest specialists in those areas, but they have to be able to ask the right questions.”
That’s especially important during code reviews, when new code needs to be approved by at least another developer before it can be merged into the existing codebase. While all members of a development team participate in code reviews, tech leads can help set the tone for how code reviews are done.
Tech leads “make sure the areas that are being reviewed already had standards set for them ... so that the other reviewers are ensuring that standards are being followed instead of being the ones who define them,” Rassoulli said. “Ultimately they’re accountable for the quality of the code.”
Tech leads ensure the software development team is following the project’s architectural design and that accessibility and security requirements are met. They also mentor other members of the team to help them write consistent and high-quality code.
“Even though there might be a QA function on the team, quality isn’t necessarily only the responsibility of the QA,” Rassoulli said. “It’s the responsibility of the team, and the tech lead has to advocate for that on behalf of the QA function.”
Being a Tech Lead Isn’t All About the Tech
But the qualities that make tech leads so valuable can’t be boiled down to technical skills alone. Good tech leads anticipate upcoming problems and work with others within the company to resolve them before the team runs into snags in the development process. That involves building good working relationships with other developers, design teams and product managers.
“It’s kind of taking the initiative to work ahead for the team, so that the team can be as productive as possible,” Rassoulli said. “And then in terms of behavioral and soft skills on top of that, obviously very strong communication skills, management skills, the ability to translate their ideas from the team’s technical ideas back to business objectives and business outcomes for non-technical stakeholders.”
Tech leads should also be able to cultivate good relationships within their teams and set the tone for a welcoming and collaborative work environment.
“On a team level, giving and receiving feedback is very important,” Rassoulli said. “So both being able to coach their team but also being coachable themselves, and being able to facilitate that process on the team.”
“It’s somebody who has the experience to make sure things are getting done, but doesn’t necessarily own all of those things,” Story from Focused Labs said. “Somebody with experience managing projects, who is able to switch hats and keep context on any number of things going on.”
What Does That Look Like in Practice?
During the initial phases of a project, tech leads work with product managers to define the project’s parameters and shape it to the customers’ needs. As a result, familiarity with the industry that the company operates within is important. Rassoulli said tech leads typically have at least three years of experience within their business domains.
“It’s less, perhaps, a number of years, but that they’ve been exposed to those types of problems,” he said. “It could be that there’s fewer years of experience, but it isn’t their first time encountering problems related to retail commerce or data-center applications, for example. They understand the nomenclature that’s used within those domains by stakeholders, and particular technical design decisions that might be implied in the way that the design is set out.”
Together with product managers, tech leads steer the direction of projects and shield the rest of the development team from customer demands.
“Tech leads are keeping context of the whole vision rather than deciding where we go next.”
“They’re the ones protecting the team from distractions, from context switching, allowing them to focus on their day-to-day development work,” Rassoulli said. “And they bear the brunt of the meetings and stakeholder management conversations that take place, allowing developers to focus on doing the design and development and mastering their craft.”
Tech leads often join in on product manager meetings with customers as well, to provide a technical perspective.
“The product manager would be more in charge of talking to the business, talking to users, understanding the product needs and the direction of what we’re supposed to be building,” Story said. “Tech leads are keeping context of the whole vision rather than deciding where we go next. ... Keeping that architectural vision of, ‘What does the overall architecture of the product look like? What does it look like to support this production?’”
Different Types of Projects Needs Different Types of Leaders
“Being an ambassador for technical excellence on behalf of the technology team” is how Rassoulli sums up the role.
In addition to the day-to-day development work and work with product managers to steer projects, tech leads are often making a case to the product management team for time allocated to researching new technology or refactoring existing code. These concerns may not occur to management because they don’t explicitly have any initial user-facing value, he said, but they are necessary for the resiliency and longevity of the system.
It can be difficult to recruit for such a multi-faceted role. Story said it’s hard to tell on paper who would make a good tech lead, and often, the necessary knowledge and skills are developed at the company.
“We don’t recruit for anchors, in particular,” she said. “We might, as we’re interviewing people, realize that they’re technically very strong, that they did really well during the interview. And we’re like, ‘That person might be a good anchor in the future.’”
Rassoulli said Myplanet tries to hire tech leads from a mix of internal and external sources.
“Often some mix of both allows for the healthiest balance,” he said. “[It] depends on our understanding of the current business domain problems we’re seeking to have expertise for, the level of preparedness of the existing team members for the role, as well the quality of our talent pipeline.”
The type of tech lead who will be most successful for a project also depends on the nature of the project, Story said. Projects that are well-defined but technically complex need tech leads who can dive deep into technical details, while others may need tech leads who excel at investigating what the customer wants from a project.
“Projects can be pretty different. You could have one that’s very technical, like building some sort of data lake or large API, so you’ll want somebody who’s very technical,” Story said. “For a new project that’s still trying to figure out what to build, you’ll need somebody who’s willing to pivot quickly, ask questions, help be engaged with the client, help them figure out what they even want to do.”