Ask HN: How would you define a tech lead?

1 points by blooberr ↗ HN
This role often differs from company to company. What would be your description for a tech lead?

And along with that question, are you one? Would you want to become or stay one after what you've seen or experienced?

6 comments

[ 1.4 ms ] story [ 31.1 ms ] thread
Based on my experiences: They shield junior developers from themselves and from upper management. They know how to translate requirements from management into feasible projects. They perform code reviews and lead the collaborative process of designing a system.

It's more about taking ownership of the process than about the code itself.

I haven't had any developers report to me but might be interested at some point in my career. Over time you realize that having strongly defined processes (while avoiding micromanagement) is at least as important as technical skills, and it requires strong leadership.

Yeah also shielding from other parts of the company.

What would make you more inclined to having developers report to you?

Sorry for the late response.

It's less about oversight, and more about what I could do. In my first full-time development job, I was working under a lead developer who was seriously badass at mentoring people and making sure they knew what they had to do (though I don't think he realized it - it was his first time being promoted to a leadership position!). To this day, when I'm feeling stressed out at work, I'll think "What would Rob have advised me to do?" and it makes me feel more secure about my decisions.

Junior developers are often really idealistic and ambitious, and I would like to be in a position where I could reward and facilitate that instead of crushing it (which happens all too often).

At my company, I am the tech lead.

(For me), the company isn't big enough to justify a full time Software Architect. Also, generally Software Architects don't spend a lot of time (if any) coding.

I prefer the title Tech Lead over Senior Developer, because a Senior Developer could be someone doing the same job for several years (ie a mid level developer who has been there for a long time). A Tech Lead is responsible if something goes wrong.

A Tech Lead also has a mentoring component. Senior Developers don't necessarily have the communication skills to do this.

Are you the only tech lead at your company?

That's a good definition to distinguish between senior developers. How do you mentor your engineers?

Yes, I'm the only Tech Lead. We are a tiny company (less than 10 staff)

But even in bigger companies I've worked for, mentoring is probably the biggest difference. I've worked with a LOT of Senior Developers where English is a 2nd language. For all sorts of reasons they struggle with education / training / selling (selling an idea to the business - why we should / shouldn't use TDD etc).

Mentoring is easy - so long as you align yourself with what the person wants. Do they want to understand design patterns? Some sort of funky UI stuff? Mobile dev?

You also have to ensure they perceive you as an equal. (Not I'm better than you). That can be tricky and often patience is the best strategy.

Make sense? Hit me up offline if you need more detail...