Live data from Hacker News

Ask HN: Advice for a new and inexperienced tech lead?

news.ycombinator.com

121–130 of 259 posts

Re: Ask HN: Advice for a new and inexperienced tech lead?

#121
post #36

Earlier quoted context omitted.

I would say you need to stand up for your users not your product. A gorgeous code base that doesn't do what your users want doesn't help anyone.

I don’t know. It is important to listen to your users, but not necessarily do what your user’s want. Especially in the context of the user’s role. Adding a thousand requested features also has its drawbacks.

It's definitely a balance. I should have phrased it as "make sure the product satisfies your users needs" rather than their wants. And this isn't to say you should add a thousand features, but I do believe it's important that tech leads goals line up to users, not only to the technical excellence of the code. You can't make good decisions on technical improvements or debt reduction without balancing users needs. It's easy to build a straw man example that is on the extreme end to demonstrate this, so I won't do that. The day-to-day is more nuanced.

Re: Ask HN: Advice for a new and inexperienced tech lead?

#122
Become a student of psychology. If you're coming from an IC->management role for the first time, expect your worldview to be broken, and let it happen so you don't have to have a spectacular flame-out to allow it to reset (happened to me, and very common for people coming from the very unambiguous world of "code compiles" to the very loose world of human interaction, where people can't even understand their own motives, let alone anyone else's). Even a modicum of authority changes the way people interact and respond to you, and that's not going to change. Work within it, meet people where they're at, and understand that when it comes to dealing with reports, they're usually right and you're usually wrong.

People are the only thing that matters. Deadlines come and go, companies go bankrupt or get their entire C-suite arrested in midnight raids, competitors come in and break everything and turn the company into a zombie. The thing that endures is the people. If you have good people on your team, consider yourself lucky; being a great boss is one of the best ways to cement a lifelong connection to the best people, and you'll get way more benefit from it than you deserve.

Nothing is straightforward or face value. Understand this and don't try to change it. There's a lot that you'll have to learn for yourself, but keep your priorities and loyalties straight, don't buy into anyone's bullshit too far, and you'll be fine. Good luck.

Re: Ask HN: Advice for a new and inexperienced tech lead?

#123
post #75

Top mistakes by new leads: - Not delegating. New leads often feel that if they're not writing code (or doing whatever it means to be an individual contributor), they're slacking off. The definition of "work" has changed. It now means "helping your team succeed". If you try to be an individual contributor, you are doing your old job instead of your new one, and you'll get overwhelmed and sink. - Not asking questions.…

"tech lead" is not considered an individual contributor role? Is it considered a management role? I'm realizing I'm not quite sure what is meant by a "tech lead" role.

I like to think that a tech lead is someone that given infinite time, could deliver the project by himself.

Re: Ask HN: Advice for a new and inexperienced tech lead?

#124
post #13

Assume that, for the people on your team, work is a #4 or #5 priority. And there's nothing wrong with this, as long as they're giving you a solid 80-90% effort during working hours. If you ask them to put work ahead of family or faith or rest, or if you somehow expect more than 100% effort from them, you're going to drive away the ones who have other options. And the reason they have other options is because they're…

The truth is that the "best ones" are often obsessed with their work and endure painful tradeoffs in their lives, for example their family lives, because of it.

People who do great work tend to think about their work all the time. No one thinks about their fourth priority all the time.

Re: Ask HN: Advice for a new and inexperienced tech lead?

#126
Get the O'reilly's book "The Manager's Path - A Guide for Tech Leaders Navigating Growth and Change" and READ IT.

1) You will not need to trust others to write better code/systems then you and that you will very likely be unable to code anymore.

2) Establish a good relationship with your team members. Seek for people who you can delegate to and trust. Trust and reliable people are really hard to find. When shit hits the fan - and it absolutely does - you'll need that.

3) You need people who will push and people who will follow. Having just one group and not the others is a recipe for disaster.

4) Establish what things you should care for and what not. The amount of shit is insane and it only gets worse you need to have a threshold on when and on what to react.

5) Do you own research as much as possible on key things.

6) Keep asking "why". It annoys me as f* but also forces you to go deeper with explaining and understanding of the problem. (don't wanna say google "Five whys")

7) Encourage people to go deeper, to learn more to become experts.

9) Have 1-on-1s. Regular. Scheduled. Talk about life/work. Try to find how you can make the place and challenges better. Help them grow in an organisation and professionally.

10) Sketch things out. Write em' down. Otherwise, you'll go insane repeating stuff.

I sincerely wish you good luck.

P.s.: People have more bugs and are sometimes even more broken than software. :D

Re: Ask HN: Advice for a new and inexperienced tech lead?

#127
post #104
post #36

Earlier quoted context omitted.

I would say you need to stand up for your users not your product. A gorgeous code base that doesn't do what your users want doesn't help anyone.

If one defines gorgeousness as ease of grok, then gorgeousness directly contributes to the wellbeing of users through maximizing the technology's ability to quickly and effectively adapt to their needs as they arise. Agreed that it's a secondary concern to fulfilling the featureset.

I don't think "ease of grok" is the sense the original commentor meant :)

Re: Ask HN: Advice for a new and inexperienced tech lead?

#128

Never consider yourself senior to someone unless you can do their work, and until they have demonstrated they can't do it. Otherwise, stand back and let people work. You doing their work is sometimes going to be needed, but a 'good team' has an equitable workload. Be willing to do any of it. The biggest thing a team leader can do is help the team communicate with itself. The worst thing a team leader can do is create…

I agree with this because my 2 favourite places to work (my current on and one 9 years ago) had more of a 'self organising' vibe which encouraged people to put their hands up for things, and although the most senior people have the most codebase knowledge (due to simply having written that code themselves over the years), there are now a lot of areas of code that newer people like myself are the experts in. And also applies to technologies, for example React is known more by a few people needing it for their task.

The point I am getting at is that it is OK and I'd argue optimal if the team leader knows less than the person they are leading and the team leader has to ask them questions about how something works, but their job is to know enough to be able to make decisions and get a feel for things.

Re: Ask HN: Advice for a new and inexperienced tech lead?

#129
One thing you might not have had to manage up until now is dealing with conflict and/or under-performance. This will really cause any insecurities of yours to surface and make it feel very awkward in the workplace. If you feel like you need it (and you probably do anyway), have some therapy on your self-esteem and confidence, once you have dealt with that, discipline can be much more objective and less weird!

Re: Ask HN: Advice for a new and inexperienced tech lead?

#130
post #66

Few things I would like to say: It will no longer be about you. It will all be about your team. Make sure you create a great team, nurture them, train them, teach them how to think critically (in doing so yourself). Ask your team to write out everything they plan to do before they actually do it. Reason with them on what they wrote and what approach decisions they plan to take. Teach them to think long term. Writing…

Respectfully disagree on the "write it out first" advice. I'd argue "think it out first" or "talk it out first" is sufficient. I found while scaling my team tended to bury themselves in miles of docs that really did not serve the customer or the company. A janky kind of working prototype of a solution is worth a ton more than a well thought out doc.

Consider that a successful product will be maintained for years. It is highly likely that a people will come and go. Documenting already running code will inherently have less priority (both in the eyes of upper management an developers- the temptation to jump on the next project is huge). So if you don't start documenting first- odds are you never will.
Post reply on HN