The definition of ‘tech lead’ from Pat Kua (No. 71)
What is the tech lead responsible for? How is it different from other roles?
Hey Tech Leads,
Today we’re going to dive into a 2014 post from Pat Kua, one of the earlier writers to really explore the tech lead role—at least a few years before I did.
I’ve talked about Patrick Kua quite a few times in the past. He used to be at ThoughtWorks, one of the more influential enterprise software consultancies out there. While he was there, he wrote a book called Talking With Tech Leads, which features interviews and profiles of a few dozen real life tech leads. While I’ve probably littered the internet with more STUFF about the tech lead role, he’s been far more impactful and influential than I have.
So you should pay attention to his work too. And besides, I like his stuff, so it’s worth diving into.
Today, we’re going to focus on one of his old posts on the his personal blog: The Definition of a Tech Lead.
What is a tech lead?
He starts his post with a short definition:
A Tech Lead is a software engineer, responsible for leading a development team, and responsible for the quality of its technical deliverables.
I think his definition is, overall, more helpful than not. What do you think?
For me, my only major critique is that I would have liked it if he had stopped at “leading the development team.” Period.
Go back, read it again, and you’ll notice he added additional two points to what could have been an even shorter definition: one about technical deliverables and then a further point about “quality.”
Why stop at quality? When you bring in concepts like quality, then it seems to me you should start talking about other qualitative things like agility, team cohesion, tech debt, and all kinds of stuff. By doing so, rather than talking about the ore, essential skill of tech leadership, you have to dive into all these other ancillary, albeit important, topics.
It’s fine though. I understand his point. I suspect you do too. And, besides, focusing on quality deliverables isn’t wrong in most cases.
But wait, there’s more
In his post, he goes further than that simple, short definition. He’s been a hands on guy, like me and probably you. So he dives into a somewhat more detailed and narrative description, which I personally think is very consistent with the way I describe the tech lead role.
For example, he proceeds to define a tech lead as someone who needs to define the technical vision and then work with the developers to bring it to life.
I think think this is spot on correct for the majority of tech leads. In fact, I see it as a simpler, more succinct version of the FOUR CORE capabilities I advocate.
As much as I love his definition, it’s hard to operationalize without a some kind of framework like the Four Core. Most tech leads I know are pretty clear their own understanding and conceptualization of their vision.
But they’re not always good at articulating that vision, especially if they have to repeat themselves often in a variety of situations.
And beyond defining a vision, recall that Kua says tech leads need to work with their team to bring the vision to life. I think this is where tech leads need a lot of help to pull it all together.
It’s too often where tech leads fall over.
But the point of his article is more about defining the role than bringing it to life, so it’s fine….
The hands on requirement
Thus far, I think you’d probably agree with Kua’s definition and see all this as mostly uncontroversial.
One thing you might be curious about, however, is that Kua says a tech lead needs to be coding at least 30% of the time.
He offers some valid reasons why this might be an important requirement. By staying “hands on”:
Tech leads can make effective technical choices,
they are able to maintain more trust among the developers, and
they have more empathy for what the developers are doing and challenges they face.
What he doesn’t really explain is the fairly precise 30% requirement. I’d love it if he could explain the number in more detail. I don’t disagree with the idea that tech leads still need to be deeply technical, but the number, without context, is a bit curious. Why not 10%? 25% is a nice round number.
Then he proceeds to distinguish the tech lead role from other roles, like being an engineering manager. Specifically, he describes an engineering manager as having responsibilities such as
maintaining a productive working environment for development teams,
acquiring appropriate budget for development to support business goals, and/or
representing the technology perspective on a management or board level.
He also says EMs are “often very far-removed from a development team and rarely code.”
I think both his bullets and that last point are off the mark based on what I’ve seen in practice, and I have a long segment on what EMs and TLs do that’s a bit more nuanced that his bullet list… but we’re talking about the tech lead role here anyway.
He does say good tech leads and good architects are pretty similar; in my mind, they are often the same, especially when the architect is embedded in the development team. That said, he calls out the so-called “ivory tower architects” as very different from tech leads. I think I understand his point, but there is a place for architects who don’t get very hands on in many organizations.
Then he wraps it up with this quote:
A successful Tech Lead takes on responsibilities that sit with roles such as the Team Lead, the Architect and the Engineering Manager. They bring a unique blend of leadership and management skills applied in a technical context with a team of developers. The Tech Lead steers a team towards a common technical vision, writing code at least 30% of the time.
All in all a pretty solid article to add to your reading list, especially if you’re in a mode where you’re still trying to wrap your head around this tech lead role. (And you’re in good company if you are!)
Have a great weekend tech leads!!!!
-michael
Thanks for reading!
The Tech Lead Coaching email list and podcast are written and recorded by Michael Rice to bring more clarity, certainty, and confidence to my tech leads.
Tips? Have something you’d like me to cover or someone you want to me talk to? Drop me an email to me@michaelrice.com. Hope you will.
Let’s Connect-
Get started at techleadcoaching.com
🎧 Podcast: Apple Podcasts, Breaker, Google Podcasts, Overcast, Pocket Casts, PodBean,RadioPublic, Spotify
Social: Tech Lead Coaching on LinkedIn, @techleadcoach on Twitter, and let’s connect on dev.to too
Published from sunny Los Angeles. 🌴☀️