Hacker News new | ask | show | jobs
by shandor 3484 days ago
While this sounds good in theory (and I've been in teams that were very self-organizing and operated well without a formal tech lead), I feel that it omits some key aspects of real life. Let's look at the list towards the end, for example:

- When there are newcomers, we need a strong coach.

- When there are architectural challenges, we need an experienced architect.

- When there are internal conflicts, we need a mediator.

- When there are external blockers or lack of resources, we need a concierge.

- When we need to negotiate and integrate with other teams, we need a ambassador.

Ok, so the author marked those under "leadership". My experience with other developers is that there is a surprisingly large dev population who would absolutely abhorred if they had to touch any of those things (maybe apart from the architecture part). And in my experience, the effect doesn't grow smaller, and might even become more profound, with prolific devs who have tens of years of experience; they want to code because coding is what they love (this of course applies to more junior devs too).

So the point is not to elevate one individual to some golden standard know-and-do-it-all aka Tech Lead. The whole point, which the article actually does touch, is to have different roles between team members, so that ideally everyone can focus on the things they are passionate about. If more than one people feel that they want to take responsibility with the things mentioned in the above list, fine, the team can have many "tech leads".

Just make sure that if you omit the whole role that people are not burdened with responsibilities they are going to hate. Because that is something that can destroy even a good team pretty well.

1 comments

Exactly. In most small companies, the above roles often is the tech lead role. In larger companies, it's quite common to find it broken up - separate architects, different levels of engineers where the higher levels are expected to help guide newcomers or juniors; people to interface with other teams etc. If they then have "tech leads" it usually tend to mean someone who plays some of the above roles within a larger team that may have separate people for some of the functions at a higher level.

And you're right - a lot of people don't want the above responsibilities. I've had teams where despite our best intentions in hiring from within when possible, all the engineers wanted to remain in pure engineering roles, so we had to go out and hire people to fill those roles as the team grew and I couldn't take on all of them myself any more.