Earlier quoted context omitted.
How do you avoid burnout when you're being so self-sacrificial? Seems like it'd be a big risk.
Your satisfaction changes from being happy that you've polished some nice bit of code to being happy that you've shipped a product and successfully run a group, and gained the admiration of the people on your team and in your company. Competence is it's own reward. I learned those rules from observing the behavior of group leaders I've worked with/for. There have been a few times (over many years) when I've thought t…
Ask HN: How to Be a Good Technical Lead?
161–170 of 178 posts
Re: Ask HN: How to Be a Good Technical Lead?
#162Things I was unprepared for as a lead developer -- http://dev-human.io/~pascaldevink/things-i-was-unprepared-fo...
Becoming a Tech Lead – Interview with Pat Kua -- http://blog.fogcreek.com/becoming-a-tech-lead-interview-with...
Re: Ask HN: How to Be a Good Technical Lead?
#163Earlier quoted context omitted.
Note of caution on point 2. If you still do a lot of coding, this can really impede on your productivity, and break you out of any flow state. When an employee asks you a question, you will feel like you don't want to be abrupt and will find yourself taking a few minutes each time. I find a lot of the time employees will come with questions they could have asked over slack/chat that would have not broken my flow, and…
It's important to understand that that when you're a tech lead, your first priority is the productivity of your teammates, not your own productivity. You're responsible for the output of the team as a whole, and if that means you do zero coding, so be it. You should also be coming up with good ways to use productivity tools asynchronously. But remember that the natural impulse for many employees will be "Oh, the boss…
Since there are many more lateral communication channels within a team and there is an aspect of being a technical lead that is being a peer to the team's members [and not "the boss"], there is more productivity to be gained when all team members communicate in ways that reflect awareness of the state of the communication channel from the other person's perspective.
The problem with the internet text boxes is that complex human interactions get sketched and lose important details.
Re: Ask HN: How to Be a Good Technical Lead?
#164Here are three rules I've followed: 1) If there's an exciting fun task and a messy unpleasant task, assign the fun task to someone else and do the unpleasant task yourself. 2) If someone on your team wants to ask you a question, always make yourself available and absolutely pretend that you don't mind being interrupted. But if you need to ask someone on your team a question, always ask first if it is a good time for…
Re: Ask HN: How to Be a Good Technical Lead?
#165.) be mindful that different members of the team are on different trajectories skill set wise. (beginner Exs -> juniors -> mids -> seniors -> etc)
I like to pair members with technology whose stability is inversely proportional to their experience.
More experienced engineers design tighter interfaces in the face of increased variability in final spec.
Whereas technology that is older will usually have a good breadth of info either in house or available on Stack Overflow which means the problems (and communally derived solutions to them) are accessible.
This I've found results in having to clean up less code overall, which helps build team momentum.
Which is my next point.
.) Team Momentum
You're leading a team, which can be assessed as a set of quantities at any given point in time (viz. velocity in Pivotal Tracker for instance).
The team however is a dynamic interplay of business expectations (from the principal, boss, client) technical debt (recurring known issues), and the team strength (which waxes and wanes based on moral, environment, etc).
Always look for ways to make the lives of the engineers around you easier.
-) build tooling
yeoman generators build tools etc.
enriching internal tooling makes each engineer more effective, which means it has a compound effect.
You can cover a lot of ground just focusing on addressing pain points in your team.
]) One last point actually, you're a leader so remember that means you're expected to have finer grain control over your ego, it helps if you take an objective view towards the technology that comprises your stack rather than a predominantly fanatical view.Congratulations by the way! Regards,
Dante Elrik
Re: Ask HN: How to Be a Good Technical Lead?
#166Here are three rules I've followed: 1) If there's an exciting fun task and a messy unpleasant task, assign the fun task to someone else and do the unpleasant task yourself. 2) If someone on your team wants to ask you a question, always make yourself available and absolutely pretend that you don't mind being interrupted. But if you need to ask someone on your team a question, always ask first if it is a good time for…
I follow 1..3 daily. I also have this. 4) Be humble. Redirect upstream praise for your team's work onto your team directly (away from yourself). Accept criticism for your team's work directly onto yourself. 5) Expect to do less actual programming, but still keep ownership of one or two components (UI, DB, etc) for up to 1/3 of your time. This helps to maintain an ear-to-the-ground on ongoing features/bugs and to comm…
6) Make sure your team fully integrate the solutions with other teams. Encourage cross team communication. Make sure solutions are built with other teams feedback. The more other people is integrated in your team solutions, the more will be used and supported
Re: Ask HN: How to Be a Good Technical Lead?
#167I get asked this a fair bit so I started to collect a few of my favourite links together in a blog post: http://www.andykelk.net/leadership/the-big-list-of-managemen... Specifically to new tech lead roles, I'd recommend "Peopleware" and "Behind Closed Doors" And a couple of articles specific to your situation: http://firstround.com/review/this-90-day-plan-turns-engineer... and https://blog.stackexchange.com/2015/08/d…
Re: Ask HN: How to Be a Good Technical Lead?
#168Many times a tech lead isn't about being the smartest or most knowledgable person in the room - it's about getting your team, your boss, other departments on board with a plan and executing. In some environments it may be that you have to be the sharpest depending on the team you're given, but often times it's best to be the most judicious and compassionate. Think of it more like being a mini-manager - perhaps 30% ma…
Thanks a lot. I'm sure I read the book a few years ago ... will have closer look to make sure I'm not confusing it with "The Pragmatic Programmer".
Re: Ask HN: How to Be a Good Technical Lead?
#169Here are three rules I've followed: 1) If there's an exciting fun task and a messy unpleasant task, assign the fun task to someone else and do the unpleasant task yourself. 2) If someone on your team wants to ask you a question, always make yourself available and absolutely pretend that you don't mind being interrupted. But if you need to ask someone on your team a question, always ask first if it is a good time for…
Note of caution on point 2. If you still do a lot of coding, this can really impede on your productivity, and break you out of any flow state. When an employee asks you a question, you will feel like you don't want to be abrupt and will find yourself taking a few minutes each time. I find a lot of the time employees will come with questions they could have asked over slack/chat that would have not broken my flow, and…
In any leadership role you are more like a janitor than a hero. You have to clean up the messes, keep the bathrooms supplied, fix the broken things.
Either train yourself to cope with breaks in the flow, or get used to doing less coding.
Re: Ask HN: How to Be a Good Technical Lead?
#170Earlier quoted context omitted.
I follow 1..3 daily. I also have this. 4) Be humble. Redirect upstream praise for your team's work onto your team directly (away from yourself). Accept criticism for your team's work directly onto yourself. 5) Expect to do less actual programming, but still keep ownership of one or two components (UI, DB, etc) for up to 1/3 of your time. This helps to maintain an ear-to-the-ground on ongoing features/bugs and to comm…
>Expect to do less actual programming Even if you don't do much actual programming you need to be the one that monitors and accepts all pull requests. That also means taking responsibility for any of the subsequent angry users because you merged that code and you could have stopped it. Keeping an eye on pull requests also means gently guiding the junior devs to amend their code when they head down the wrong path (e.g…
I disagree at least in part. On my team all of the engineers have the ability (and responsibility) to merge PRs. It empowers them and gives them a feeling of ownership. I let the experts in the affected area decide when code goes in/gets deployed as they're able to manage that better than I ever could.
That being said, when something breaks, it's still the tech lead's problem, even if he/she didn't hit the merge button.