What are some things the best Tech Lead you’ve worked with has done? Things the worst Tech Lead you’ve worked with has done?
Posted by daddyplsanon@reddit | ExperiencedDevs | View on Reddit | 40 comments
when you think about a some of the best Lead Software Engineer that you’ve worked with or worked under, what are some of the actions they took and behaviors they exhibited that you found the most helpful and admirable. on the converse, what are your horror stories of what the worst tech leads you’ve encountered?
downshiftdata@reddit
Best: Listen more than talk.
Worst: Talk more than listen.
LondonTownGeeza@reddit
Reading through the replies, there seems to be confusion between "Tech Lead" and "Development Manager".
Zealousideal_Meet482@reddit
I think many companies also have confusion between the roles. When I was tech lead, I felt like I was doing 3 jobs at the same time - lead, dev manager, and project manager. I once asked my manager at the time what the difference was supposed to be between my role as tech lead and what my role would be as a manager and his answer was that if I was a manager, I'd also have to approve things like time sheets and other requests I needed his signoff for. After that conversation I ended up putting in a request to change my role - lead and manager were the same level at that company - because IMO it would have made things easier to not have to get his approval for getting my team things when I could just do it myself. I didn't end up getting that change - which is a whole other story - but I think in the end it's better that I didn't take on the manager title anyway.
calmbuddhist@reddit
The worst: He would decline to explain his code, many suspected this was because he just copied it from stackoverflow without understanding why it worked. He would not respond to slack pings and expected never gave any PR comments. He had poor communication skills and would mostly speak in Hindi. I couldn’t speak in Hindi or understand it properly.
I left that workplace within 18 months. Mainly because I made a part payment to my university education loan using that bonus, and the clawback was 18 months.
Best: Promoted an open discussion on blockers, and general stuff people in the team worked on. Being wrong in these discussions was not bad in their eyes, as long as we showed improvement.
BoBoBearDev@reddit
Worst one.
1) demanding me to write a technical document in a System Engineering quality when they fully aware I am a developer who has first gen immigrant English proficiency.
2) the document is 50 pages long with tons of useless tech jargon for a tiny utility class to please him and no developer reads it and it wasn't required by the client. It is purely for his own personal requirements.
3) he didn't like the name of the class and refused to suggest one. So, it is back and forth. And since it is a design document, it is also a major pain to keep updating the useless 50 pages of doc to make sure all the class names are consistent.
4) Basically micromanaging while being completely vauge about it. And he didn't do anything, just rejecting everything he didn't like. He didn't write a single design document himself to demonstrate how it should be done.
anubus72@reddit
for what it's worth, your english seems perfect to me
BoBoBearDev@reddit
Thanks. Yeah, I can only speak human language. He wanted me to be a lizard.
PulseReaction@reddit
hate it when that happens to me too
SecretWorth5693@reddit
They enable everyone on the team to succeed. They don't give one bright guy all the "good" work. They know how to mentor and coach all levels to do their best work on the team. They are comfortable diving into the weeds with you. They are comfortable contributing code.
Plenty more
GoonOfAllGoons@reddit
I used to get a LOT of pressure to do this. I always pushed back.
Now we have a team that knows a complex system and is comfortable making big changes instead of always having to delegate to 1 or 2 people.
katikacak@reddit
agree, and its even harder to do this in a corporate setting, they have to invest on the team, while handling the pressure and managing up.
fanboy_of_nothing@reddit
best: THe kind of guy who people from all over the company felt comfortable going to for help. And he always greeted them with a happy "we'll have a look at it!"
Worst: A guy far out on the autism-spectrum while still being technically sharp and gifted as f. But the kind of guy who shouldn't be allowed out in public. Drove three people (myself included) to leave the assignment as well as the company in general (consultant agency). And management couldn't see the issue or reel him in, because he had been at the company for 20+ years. Whoho, nepotism!
pavlik_enemy@reddit
The best CTO (he was also a founder) I worked with did almost nothing when it comes to day-to-day operations, another founder was taking care of it. This guy just sat in the office for four hours, read some blogs and emails. But when maybe once every two months we had some complex problem we didn't know what to with he got up, calmly told us what to do and we were like "oh, obviously it's the right way". Once I needed to look at the deepest infrastructural layers of the application, was skimping through some file and was like "wow, that's some great fuckin' code". Ran `git blame` and obviously it was an initial commit by him
yellowjacketcoder@reddit
Best:
Umbrella protecting the team from the shit from upper management, while explaining the WHY of software engineering, while also trusting us enough to work on our own without micromanaging.
Worst:
"I dunno why you want to write these unit tests, I've been a developer for 20 years and I've never written one. I just put a main method in all my Java classes so I can see what they do"
ultraDross@reddit
Your description of the best sounds more like the managers job than the tech lead. In fact, tech leads are IC roles.
I agree with the worst though, been in this exact conversation. Not fun.
yellowjacketcoder@reddit
I have found at many companies, the line between team lead, manager, product manager, and project manager can get blurry, especially depending on the project and personalities involved.
ultraDross@reddit
Every company I have worked at had a very very different definition of lead. My current company keeps it deliberately vague, which is frustrating. I think it's so they can just suddenly change the definition as suited per project or per team.
Which is really not ideal as you never really know where you stand.
theallwaystnt@reddit
I got the other devs into a screaming match over adding unit tests to our backend. I've started polishing my resume.
Ambitious-Garbage-73@reddit
Best one I worked with was weirdly calm in exactly the moments everyone else got theatrical. We had a production issue late at night, postgres CPU pinned, PM pinging every couple of minutes, and he didn't start assigning blame or demanding status theater. He picked one person to drive, one to dig through logs, told product we'd update in 20 minutes, and then the next week turned the whole mess into better runbooks instead of a witch hunt. Worst leads do the opposite thing where they disappear for months and then become hyper-present only when something is already on fire, which mostly means you get micromanaged at the least useful possible moment.
Wild_Prunie@reddit
This is the same person. Best: - Know his stuff, highly technical, deep institutional knowledge. - So good and reputable until no arguments needed to push back low gain high efforts request back to user. - Literally 10x engineer, delivering 20 days worth of Jira in 4 days or less.
Worst: - treat me like a walking typewriter, not developer. - Very hard to read his mind, it's guessing game until you are right. - Taking all high efforts stories by himself, no time and patience to mentor others. - Cryptic PR comments. E.g. this is not maintainable, wrong variable name, not correct place to implement. - His strongest argument during tech design discussion. "I am the application architect, not you. End of discussion.".
obelix_dogmatix@reddit
The best tech lead teaches. The worst tech lead tries to do everything by themselves.
tallgeeseR@reddit
Those I miss: 1. Highly knowledgeable in tech and engineering 2. Willing to mentor/guide team members. Basically they're team enabler.
Those I don't miss: 1. Lacking interest in tech/engineering, show weak interest to learn. Even the tech stack and infra of the team, TL's understanding was very limited and superficial. Generally juniors and mid level were more knowledgeable than TL. 3. Team members unable to get any guidance or support. Completely blocked, seeking help or advice from TL? You're on your own. 4. Has the habit of being ambiguous in communication. 5. Sometimes will still give advice to team, usually at front of non-technical EM and stakeholders. Those advice are either vague, inactionable "air", or polished version of basis that even juniors already know. More like doing show.
tyr--@reddit
The best tech lead I've ever worked with (hi Alex! if you're reading this) was never the smartest person in the room. Don't get me wrong, he was an absolutely brilliant engineer who's now at an E8 at Meta i believe, but he always strived to put together the best possible contributors to solve a problem. He would be the main facilitator and coordinator, and drive the higher-level vision of the project, but he empowered absolutely everyone to contribute at their best.
If someone was strong at coding but not as much in project management, he'd make sure they have a TPM counterpart they could rely on. Or vice-versa, people who lacked in coding would get an opportunity to improve their skills by working with someone more experienced
joanp0pcorn3481@reddit
sounds like he could be a drill sergeant in another life
Famous-Test-4795@reddit
They aren’t an asshole who only cares about getting promoted at the expense of everyone else
bulbishNYC@reddit
Tech lead is kind of the position people take with intention to get promoted to management ASAP. Upside - you get management experience, downside - it’s the most stressful job in the company. So you treat both people and the stack as transactional, keep your bags packed, run up some metrics, and don’t waste time becoming friendly with engineers or improving tech debt - it will be in rear view mirror in a year.
Famous-Test-4795@reddit
If only I played League of Legends growing up and was a self-absorbed black hole who cared for nothing except myself! Then I would have been my manager’s favorite. Sycophantic behavior works as long as you came from a top school and have the same hobbies as your tech lead. Never mind that nothing about the situation was fair and they colluded in gaslighting every person who was treated poorly on the team.
Famous-Test-4795@reddit
I worked with someone who was doing it to get to principal engineer. He only cared about other people’s needs or problems to the extent that it made him look bad. I do not think he cared about treating the people he worked with well, as long as they delivered the output he wanted, no matter how unrealistic. But he would also only put pressure on people that it was convenient to mistreat, all the while saying it was their fault, and blaming them constantly for everything that went wrong.
Affectionate_Day8483@reddit
Worst one: micromanager, hardly touched code, would never let anyone else lead, extremely stubborn, would delegate low impact work to everyone on the team. Result: 60 percent turnover rate in one year for a 10 person team.
Outside-Storage-1523@reddit
Best tech lead can Carmack talk me for an hour. I wish I could work with him again in the future.
raulmonteblanco@reddit
Here's a recent least favorite: have us look at the incident queue and assign things among ourselves.
anubus72@reddit
how many incidents do you guys need that you have a queue for it?
raulmonteblanco@reddit
A LOT
nasanu@reddit
They told a non tech manager publicly via chat to not to ask stupid questions then posted a chat GPT response saying quite incorrectly that it isn't possible to communicate with an iFrame. Then the only other thing they have done is to create a "stack" that we have to use that is 500KB blank (it's a light and fast FE stack) and fails to even run without work. Now they have had some mental breakdown and we have been told if he comes back he will be moved into a higher position.
Onedome@reddit
The best bring a successful culture wherever they go and are team velocity oriented. The worst shift blame when failures come and typically are cowboy coders or think they are the smartest in the room.
xeric@reddit
Best: Advocates for technical improvements to unlock features roughly one quarter in advanced - getting product and UX excited for the possibilities and velocity unlocks.
Worst: Complains about tech debt no matter how much we invest in improving it. Won’t set a clear roadmap of what we need to improve and why
Current_Can_3715@reddit
The worst I’ve worked with made very short sided/uninformed design decisions unilaterally and doomed the product. His design did not scale. Watched him get promoted and moved to another project only to fumble around during Q and A of a major project realignment before management realized what a mess he had caused. Fizzled out of the company shortly after.
The best I worked with had excellent communication skills and could dissect and problem solve anything you could throw at him while also being able to keep everyone around him up to speed.
AmbassadorMammoth548@reddit
Great tech lead is one I'll always remember. Nice always, number one. There was not one encounter where I felt the person was being negative even when things were stressful. If he was stressed for time or needed to cut a meeting early, he would just let me know. Also, heavily involved in code, same level of PR's as most of the dev team.
Worst tech lead. Would shut down if things did not go their way - forever complaining about an implementation/decision that wasn't what they desired. Quick to blame devs for bugs/problems. Rarely ever coded, maybe once or twice a year they would submit a PR (often times very inconsequential, small additions).
puzzles4me2solve92@reddit
Well, a lot of people who worked with him had issues but I liked him:
He frequently got talked to about how he talked to others, and multiple people ran the f off his team as soon as they could (zoom meetings would get tense when my manager wasn't there lol) but we got along. The other tech leads I had were all good too, he was just on another level of like assertive/direct/proactive, and that is good for me.
ninetofivedev@reddit
And why has every company suddenly started asking this in interviews for tech lead positions?