My understanding is that "tech lead" as a role in Big Tech is more of a gateway position to bridge the gap between IC and management roles, a transition for a well-performing engineer who otherwise has no experience managing a team to "bootstrap" and gain that experience. During this, coding expectations for said engineer naturally lowers, and is shifted towards the total productivity of the emerging "subtree".
I think there are probably almost as many definitions of tech lead as there are companies. In my case the tech leads in the company are responsible for turning high level requirements from the rest of the company into actual actionable work, and feeding back up to senior management places where we could improve the existing product by refactoring/introducing new features. Alongside that we do line management for the people on our team, and generally act as a point of contact to try and reduce the level of interruptions to developers.
It’s very much not an IC role - we might throw together the odd prototype, and we’re all very capable of rolling our sleeves up and helping out if a project needs an extra person for a bit, but the general rule is that if we’re on the critical path for implementing a project something has gone wrong.
This sounds like a Product Owner to me. Indeed, all these types of roles are pretty much interchangeable depending on the exact structure of your teams.
From my cynical experience it's a way to "reward" individual contributors with a meaningless title to make them feel like they are advancing their careers. It's purely responsibility without empowerment. In my naive days I was told I was a "tech lead" and I was very proud until I realized this meant being a scape goat for project's misfortunes without having the ability to schedule other people's time and thus materially change the way things as opposed to being the midnight oil superhero. Since then I never accepted such nonsense.
Make me a proper leader with the ability to truly delegate and alter scope, workload and the timing of work or pound sand.
At my org "lead engineer" is a seniority title. The people you look for are the maintainers and core contributors- the people with access to approve commits, and the people who are highly active in design and code review.
Didn't mean to suggest that it should be zero— only that new leads feel like they are falling behind when they're actually doing normal leadership tasks, because it's not coding, and coding is what feels like work to them; or that their instinct for dealing with increased workload is to code more (instead of organizing more). Those are bad instincts, hence they need to readjust their definition of "what feels like work".
I agree, that advice is more for managers than tech leads. A mistake I've seen orgs make often is promoting their best developers into role where they don't code. A tech lead that doesn't code is a manager.
I am sure the meaning of "lead" varies from company to company. This advice applies to any role where you have any degree of responsibility for others' success (and haven't before).
Where I worked, as a lead I was probably doing up to 50% individual contribution and the rest "management". But I have seen new leads in the same role do 150% individual contribution, and then let their team down on leadership tasks because they've let themselves become swamped. This is a very common error for any newcomer to a job that involves leading other people (which OP specifically says is their role).
I don't think it's an error to put a coder in a position of leading others; it's just that being a productive coder is a weak predictor of being a good lead— you have to look at other markers. Having that kind of "on-the-ground" understanding can be a great strength that can't be had any other way.
A tech lead should code, but most of what they achieve is through code written by others, so that should be the focus of their work and what they're evaluated on. The coding done by the tech lead is to (a) keep in touch with what's happening; (b) maintain technical standards and infrastructure; and (c) key parts that require specific expertise, but all these three things essentially facilitate the productivity of others, not mainly make an individual contribution.
I like to think that given infinite time, any average person could do anything that's physically possible. Alas, given the upcoming universe heat death, this is moot.
Total number of people who have ever lived is around 15 billion IIRC, so ~1500 billion years. Most stars live around 10b years, so one person would burn through 150 stars to accomplish everything done by all humanity up to this point.
First thing I'd say is that tech lead is role, not necessarily a job title.
Second, tech lead is probably the highest position you get to without choosing management vs technical career paths.
You can grow in technical depth and authority without managing more teams, and still stay in connection with the code; or you can try and enable teams to succeed, and steer things towards the business objectives, and spend a lot less time coding. But most companies (at least those that try and retain tech talent) will force you to choose, or choose for you.
I'm realizing I'm not quite sure what is meant by a "tech lead" role.