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.
Ask HN: Advice for a new and inexperienced tech lead?
181–190 of 259 posts
Re: Ask HN: Advice for a new and inexperienced tech lead?
#182I would advise you to not take the position. It would be a disaster in my opinion to attempt to be a tech lead without years of experience at the senior level. Your high level engineers will catch whiff of your lack of experience. Your mid and associate levels will not accelerate as fast as they could have, and you will feel over your head. You will essentially be Peter Principaling yourself. If you are going to do i…
It won't be a disaster as long as they're humble and willing to learn.
You can't shortcut these things.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#183Earlier quoted context omitted.
I think your advice is great for tech leads at big companies, but for tech leads at startups, I have to disagree with the point about "Work for your product - not your company." At a startup, the business objective has to come first and the engineering team has to keep the bigger picture in mind. "Long-term stability and robustness" won't matter if your company is dead. Build for the short-term and build fast while y…
I see where you’re going, but I think the advice still sticks. If you’re at a startup, your product is your business. The point about not hesitating to move fast is the biggest difference between startups and mature companies.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#184Earlier quoted context omitted.
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…
This does not apply in all circumstances. My jump into tech lead came as the old tech lead (15+ years xp) and young superstar(~4 years with wisdom beyond his years) departed from it. The replacements were a developer just coming off a PIP and a new graduate with zero industry experience, having not interned. I still kept the focus on developing the team as much as possible but the candle needed to be burned on both e…
Re: Ask HN: Advice for a new and inexperienced tech lead?
#185Earlier quoted context omitted.
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…
This does not apply in all circumstances. My jump into tech lead came as the old tech lead (15+ years xp) and young superstar(~4 years with wisdom beyond his years) departed from it. The replacements were a developer just coming off a PIP and a new graduate with zero industry experience, having not interned. I still kept the focus on developing the team as much as possible but the candle needed to be burned on both e…
If you want to do management long term and manage bigger and bigger teams without burning out this is what you need to strive for and ultimately impliment aspects of this if you can't impliment it fully.
For bigger teams you even need people with superior management skill sets in order to delegate.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#186Few 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.
Meetings, other than 1 on 1 meetings/collaborations, are best for making decisions, NOT for sharing information.
Information sharing relevant to the decisions to be made should happen before the meeting via group emails (or possibly through a software tool like Jira) with questions and responses. Written information is easier to reference, quicker to search through, and can be multiprocessed in that multiple people can share information or ask questions simultaneously. If additional information is needed after the fact, you can email after the meeting.
Going into a meeting about building a feature or product for example, you should know the constraints on that, and be able to weigh them in making the decision. When is it due? Who is available to work on it, who will test it, who will maintain it, and who is it for? What aspects/functions are necessary, and what are merely desirable? What resources are available? Why is the feature being added? How might it be constructed?
Finally, be ruthless about moving forward in meetings to get to decisions. If a couple of people agree on something, and begin to quibble over the details? Ask if anybody is opposed to that general idea or has a better one to offer. If not you have made that decision, and can decide on the details, but if so, the detail discussion is premature. It's quite probably also premature if you haven't decided who is going to work on it; the point is you want to nail down the higher level decisions, not get lost in the weeds.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#187Few 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…
> 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).
When I had a TL job, I basically relearned the word "team" during my very first weeks. It was an amazing experience.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#1881.) Delegate. Have nothing to do.
This is not about being "lazy" or not doing "actual work," it's about giving autonomy to your team. If you do not delegate, your team will constantly be blocked by you and you will not retain them. If you delegate properly, and trust your team, it'll feel like you (sometimes) have almost no job at all.
A pretty solid way to delegate, is to find out where people want to go next in their career, and offer up decisions/work based on helping people get there. It also prevents #2 on my list...
2.) Do not horde work.
It's shitty, I've done it, and learned from it. Every-fucking-time I accidentally did it, it sucked, it would (a) take forever because meetings can eat your life, (b) stress you out because of the time constraints, and (c) MOST IMPORTANTLY someone on my team would have benefited from, and enjoyed, doing the work more.
3.) Hire people smarter than you.
Don't be afraid to hire people with more experience than you or who are "smarter" in some specific field of expertise than you.
You will learn so much by being open to others knowledge, your team will benefit even more by having other people able to guide/mentor/coach them.
4.) Blame process, not people.
When shit hits the fan, you should ALWAYS be cool as a cucumber. It doesn't matter what the reason is, if someone pressed the wrong button, configured something badly, whatever it was cannot be undone.
What you need to do (AFTER) is a root cause analysis; I have always been a fan of the "Five Whys" but to each there own (you can probably google that to get started if its new to you or to find others). You can then implement, document it, and develop new process so that shit storm doesn't happen again.
Just in case the focus here on process wasn't clear, let me spell out the other part to be clear: do not every fucking blame your team. Do not ever blame an individual. You will fix nothing, and your team will grow to hate you as you toss people under the bus.
5.) Shit rolls down hill, it also rolls up hill, and you're always stuck pushing it.
Depending on where you are in the org, this isn't quite so heavy, but truthfully, as a manager/lead the bullshit you weather for your team is what defines you. The more you prevent rolling downhill onto your team, and the more you prevent rolling uphill to your boss(es), the more loved you will be by both.
At some places, without bullshit densities strong enough to make a strange-quark, this won't be an issue... At other ones, this will very likely be what keeps your bosses and your team happy in an otherwise (i.e. other departments) not-fun workplace.
6.) Be kind and be honest.
Don't treat people like family. Treat them better. Families have bullshit, families hide things, families have history, families might be kind, but they can also be brutal. You also can't fire your "family," but you might have to your co-worker... So, just fucking don't.
What to do instead? It turns out, when push comes to shove more than anything they want (a) honesty about the state of the company and their status, (b) to be communicated with kindly. Don't yell at people, or talk about them behind their backs, don't marginalize people or groups you don't think are in the room (I cannot believe what some people will fucking say when they think "no one" is listening)...
And we all can have a bad day and maybe rudely reply to someone or do something not our best-selves, and in those situations you just gotta learn to proactively and meaningfully say "I am sorry." It's even good for you if people find out you did, because it means you're not an asshole, and again they'll trust you more.
The best will be when people give you that same respect because you've set the standard and they want to uphold it...
7.) Your title doesn't mean anything, your experience does, it is the real investment here and completely defined by what you do and how much you put into it.
8.) If it truly fucking sucks, leave. Don't be afraid to jump shit; with a "lesser title." See #7 again, as long as you've done it right, you'll very likely be getting paid more anyway :)
Re: Ask HN: Advice for a new and inexperienced tech lead?
#189Your job will no longer be primarily about creating good code, it will be about making it as easy as possible for everyone else on your team to do so.
Writing well is very important. I literally spend half my day writing: tickets, pull request comments, upstream status reports, explaining the cost/benefit of various options to project managers.
Get basic functionality locked down early and then build from there.
Don't micromanage tech decisions but do make it easy for people to be consistent with one another by providing a style guide.
If all you do is prevent a few foundationally stupid decisions from making their way into the project, you're already way ahead. [hint: most really stupid decisions are not actually any one person's conscious decision].
After all else: listen.
Re: Ask HN: Advice for a new and inexperienced tech lead?
#190Earlier quoted context omitted.
I think your advice is great for tech leads at big companies, but for tech leads at startups, I have to disagree with the point about "Work for your product - not your company." At a startup, the business objective has to come first and the engineering team has to keep the bigger picture in mind. "Long-term stability and robustness" won't matter if your company is dead. Build for the short-term and build fast while y…
I see where you’re going, but I think the advice still sticks. If you’re at a startup, your product is your business. The point about not hesitating to move fast is the biggest difference between startups and mature companies.
Your product is whatever you end up with after the long tenuous period of being startup, which often evolves/pivots drastically over time. Your product is your ability to execute.