Live data from Hacker News

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

news.ycombinator.com

151–160 of 259 posts

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

#151

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…

I like the part about writing things down. There is a lot of mental organization that needs to happen when you write it down. It also forces you to make decisions.. which is also hard.

At my current company (small startup) I wanted to convince people to talk through the issues and write things down or write down at least something. Think of user stories, requirements, personas, product vision, company vision, sprint goals.

In my opinion, writing things down helps to clarify your thinking and lets others understand how you think. It also reduces the risk of the devs implementing something that doesn't fix the users' issue.

They think writing things down is overhead, too much "process", too much time. What they (IMO) don't see is that discussing requirements, assumptions before developing a feature (or even prioritizing a feature) helps to establish a common understanding of the issue and the proposed solution.

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

#152

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…

If you find yourself teaching your team take a step back. The best managers build super star teams and gives the teams ownership and autonomy. You are in a good position if the team is teaching you, not the other way around. Try to build a team made up of people technically superior to you. And give them ownership, this is key. It is not just about finding engineers who take ownership. It’s about giving engineers own…

That depends on what tech lead role means in OP's context. It might me a team lead, in which case you are right, or something like coding architect which is usually one of the most senior members of the team with additional soft skills. Such person is expected to teach others.

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

#153

Just generally, as an employee, what I value in my manager is "someone who's got my back". I would say what that means is, internally, you run interference to shield your reports from management incompetence and thrash, you take responsibility for failures, and internally promote (in the "promoter" sense) them. And externally, proactively provide professional advice and support, even if that means losing someone impo…

This right here. My manager needs to be a shit shield not a shit peddler. A team will never get anything done if the lead lets upper management pull the team every which way.

The way I've heard it - be a shit umbrella, not a shit funnel.

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

#154
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…

I’d like to add to this. Not only should you not ask your team members to put work above their own personal well-being, you should actively be challenging people who are doing that unasked. Every company will have an occasional time when extra effort makes sense, but if you’ve got people who are consistently working 10 hour days, or doing work at weekends or on holiday, it’s your job to deal with that. Find out why they’re having to put in that extra effort, then fix it.

Often this will be a case of one person having all the knowledge of a specific thing and needing to pick up any bugs around it, sometimes it’ll be that they’ve been given a task they’re not equipped to do. Occasionally they’re just not very good. Those are the cases that are reasonably easy to deal with.

The worst cases are the true believers - people who are so bought into the company, or the work they’re doing, that they just want to be working every hour of the day. The temptation will be to shrug your shoulders and count yourself lucky that someone is willingly doing a bunch of extra work for free. Don’t let them do that, because otherwise they’re going to burn out at some point, at which point you’re stuck with a bitter wreck of a person dragging the rest of the team down, and also suddenly lost a massive chunk of productivity that was carrying projects.

This sort of thing is especially common in early stage startups, and I’ve on occasion had to go round the office kicking people out. On one occasion I had someone go on holiday but continue popping up and doing things, eventually I had IT disable all their accounts for work systems until they got back.

The other thing around this I’d suggest is not to let a culture of rewarding heroics to build up. You should see every case of someone having to work a 100 hour week as a failure, even if it meant the project got shipped on time, or whatever fire was burning got put out. Post-mortem it, and then fix the root cause.

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

#155
post #18

A good leader doesn't compete with others- they bring out the best in others. They assume the best of others. They lead by example. They are a facilitate as much as they delegate, and they don't lose sight of the fact that you can't lead from the trenches. A good leader remains objective when it's hard to do so, and doesn't take it personally when somebody disagrees with them. A good leader is kind, humble, and willi…

> A good leader doesn't compete with others Agreed. Unless a leader is taking the responsibility for a failure (which they should!), the leader should never say "I". When talking about a success it should focus on the team, and is okay to point out individuals who did great work. I cringe every time I see a lead/leader present team work and say "I" over and over.

I think it's okay to use the plural "We" for both successes and failures, even as a tech lead.

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

#156
Technical leads generally are not managers. There's a lot of confusion here as to the division between providing technical direction and managing people. Your task as a tech lead isn't to manage people. If that's being what you're being sold then get a written description of the job requirements.

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

#157

I would like to urge you to consider that maybe there is nothing to fix and maybe people are actually not interesting around you. I realized that I had the same"symptoms" as you did, but only sometimes. I started being worried just like you, but then I looked closer into how I communicate and with whom. There are people who have a very different life, which I deliberately choose to avoid. Talking to these people dive…

Sorry, wrong thread... :(

Can you link the thread you were replying to?

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

#158

Earlier quoted context omitted.

I like the part about writing things down. There is a lot of mental organization that needs to happen when you write it down. It also forces you to make decisions.. which is also hard.

At my current company (small startup) I wanted to convince people to talk through the issues and write things down or write down at least something . Think of user stories, requirements, personas, product vision, company vision, sprint goals. In my opinion, writing things down helps to clarify your thinking and lets others understand how you think. It also reduces the risk of the devs implementing something that does…

Finding a way to show them might be difficult, but rewarding.

(unsolicited advice) What I've learned in working on that skill; avoid coming from a position of supremacy, and rely on actions/results to communicate most of the message. Also, a lot of acceptance and patience.

I like to write a lot of pseudo code before real code, gradually digging down into lower level implementation details, so as to not waste time worrying about syntax while making higher level decisions. However, it's taken me a long time to develop what I have of that skill; to feel out the different layers decisions will be made, then write pseudocode with the intent of eeking out and resolving most of them.

Doing so, things end up feeling more like trade-offs than compromises.

Good luck!

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

#159

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…

If you find yourself teaching your team take a step back. The best managers build super star teams and gives the teams ownership and autonomy. You are in a good position if the team is teaching you, not the other way around. Try to build a team made up of people technically superior to you. And give them ownership, this is key. It is not just about finding engineers who take ownership. It’s about giving engineers own…

I think every organisation has people of different aptitudes, intrinsic motivation and interests. Building a team of superstars is meaningless. It's the management version of "make it better" or "it doesn't work" type feedbacks that don't give any necessary insights to actually do it. Building a team of people technically superior to you? In what way. Does your devops guy need to be an expert in language design?

On the subject of teaching your team you're right however. Instead aim to create an environment that fosters sharing. In my team I created a weekly tech share which the team does on rotation. It's been great for harmonising the team.

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

#160
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.

As a tech lead, you bother about building the features that the business has identified - and building it in the best way possible, thinking long term about the product. While as a business decision maker, you focus on what your users want - else you will be out of business fairly quickly.

They go hand in hand unless you plan to quit within a year and leave someone else to clean it up.
Post reply on HN