DEV Community

Discussion on: Help! I'm a Tech Lead

Collapse
 
jamesmh profile image
James Hickey

I'll add a few more things to what everyone has already said (lots of good stuff).

I've heard over and over that a lead shouldn't necessarily be "the best coder" on the team.

While that's true, I think it's usually taken to the extreme and posed as "Well, leaders do mostly non-technical stuff like communicate with business stakeholders, high-level stuff, mentoring, etc.

But for a tech lead that's a terrible situation to be in...

Why do I say that?

The most important aspect of being a leader is trust.

Any leader can only lead and support others that trust him/her, otherwise they will either "not follow" or just pretend like they care.

If you aren't a very good programmer, let's say, your team won't really trust your solutions and guidance. Now, I'm not saying you should have all the answers, but if you (the lead) have to ask other developers all the time for help - that's a huge problem.

If you are, for example, a lead for PHP - you should know PHP fairly well. You are a tech lead after-all.

I've been on a few teams who had this problem - in particular, one with a senior architect who fit the description above. Nobody trusted him. Nobody enjoyed working on the project's that this person was involved in.

In tandem, this would include things like design patterns, at least a fundamental understanding of paradigms like Domain Driven Design, some real (good) knowledge and expertise with system architecture etc.

If you are a tech lead with over, let's say 10 years experience and you really can't tell me 3 useful design patterns for the specific solution at hand, struggle with the programming language's syntax all the time, etc. then I'd say that's a problem.

No one will give you their trust in that case.

Someone had said "it depends" and that's true. A tech lead for a software team that builds really simple software vs. a tech lead for some SOA based solutions will different quite a bit.

But in general, I think being a tech lead (specifically) does imply that you should have the knowledge and skills to teach to your follow developers - otherwise how can you teach something that you don't know or can't do?