Long story short, he's terrible and it shows. The team is a mess, lots of silos, morale is low, difficulty in meeting commitments, etc.
I think I can do better (and have done at other companies but was hired as an individual contributor here) and I also think no amount of coaching can help him after all these years.
What do I do?
1. Observe and understand what the mistakes exactly are that they are making. Note the consequences. Understand what types of “mistakes” are high-impact versus low-impact. Be humble and approach with an open mind, there’s lots to learn about yourself and understanding what are mistakes with remedies and what are stylistic differences.
2. Offer assistance to the lead and do your best to make your team successful. A rising tide lifts all ships.
3. Make your career goals explicitly clear to your manager. Find ways to work together collaboratively to make your career successful and mutually beneficial there.
To reiterate — be humble. “No amount of coaching” has classically not been true in my experience. Usually what the case ends up being is that the organization has multi-layered problems and people are stuck in unsupported positions with less control than you might think. I don’t mean this in a derogatory way — I too started moving into tech lead roles with a similar mindset. Defeating that mindset is absolutely a prerequisite to being ready to be a true, good lead.
That said, you can start providing leadership by helping people get back on the right track, and help work on team morale. You should "help" the tech lead even if they don't want it (aren't asking for it) by helping people get organized, see the true schedule and make sure work is done timely as best you can. Help people see things can be different, everyone just has to get on the same page etc. Challenge the tech leads timelines/estimates directly but not by being actively confrontational but showing why you feel the estimate is low or wrong. For example, if you and the team feel it is a 4 week effort for a feature set but the lead is saying 2 weeks, challenge the details on why it should be 4 weeks, bring up all the time sensitive tasks he/she is glossing over. Doing this in a meeting with the team and tech lead during planning is good, as long as you are doing it respectfully and with the goal of getting the best result -- the team will support you if you are right. You won't be able to fix all problems, but you can have a huge impact on a team if you demonstrate and provide leadership. I have personally done this in the past and it makes a huge difference for teams.
Work on the team morale by talking to people about non-work things, get to know them and use some humor and get people having some fun. It amazes me how many engineering leaders just don't get how people work & function. Getting people to smile and have a little fun makes a huge difference in how they work and who they will support.
If the leadership team above your tech lead is decent, they'll see the differences and you will likely be moved to a different role where you can have a bigger impact. Don't hide that you are helping (you have to be your own cheerleader to some degree) but don't run around beating on your chest either. Humble but not hiding is how I like to describe it.
Second, how do you know he's uncoachable? Have you tried? Does the company even offer coaching for new managers? I've run into this far too often that as great engineer, somehow you're supposed to know how to manage people and it shows.
Third and most importantly, given the environment why do you think you can do better? You say you have worked at that level before so obviously you have some experience, but do you see all the obstacles that your current tech lead is facing?
Here's what I would do, based on the fairly limited information you provided:
- Help your tech lead. Make her/him look at least better and try to see if you can affect team culture and morale. Unless it's a company culture issue, this should get recognised (often with a promotion) and you can get a better idea if it's actually an issue with your lead and not the company. It sounds like you came onboard after their promotion so you might not know what sort of dumpster fire they inherited. What I wouldn't do is play political games to undermine the lead - if I as a manager would find out about something like that, you'd be out the door quicker than you can say "but they don't know what they're doing".
- Second, I'd keep an eye out for other job opportunities. It sounds like the issue may well be considerably bigger than an involuntary tech lead. Sometimes you got to know when to bail.
With the limited amount of info that you’re providing, it looks like you’re trying to fight a decision that upper management made. Not only you don’t like this person, but you crave his/her position. This won’t end well IMHO.
Specially, if you’re in a corporate environment, you’ll most likely achieve nothing and you may demoralize yourself further.
I've seen the exact situation you're describing a few times, and in each time the person was happy to abdicate. While that's not always going to happen, sometimes people are happy to get the relief of not carrying that burden anymore.
Best of luck!
There are other fish in the sea. Time to start looking for a new position.
It took almost a year, and the lead organically destroyed himself: the project became an unmanageable mess, people were uninspired and almost nothing was delivered. One whole year.
Management abruptly decided to fire the lead and gave me the opportunity: with bitterness in my mouth, I did it and the project was a success from every point of view: people were happy, the technical problems were solved with an eye towards scalability and future (unfortunately we had to throw away 90% of what was done earlier and rebuild it based on common building blocks idiomatic within the company), and I went to battle with management whenever unreasonable requests would come through in order to avoid engineers burning out.
It took several months of hard work: eventually, when the project was almost completely on track, they removed me and installed another lead, with the excuse “You have done a really fantastic job recovering the ship and we are really grateful! Now that the project is stable We are putting someone with better management experience so you can focus on what’s important, the code”. I kept asking for feedback, and received nothing but praises for “saving the project and inspiring the team”. It left me baffled. I quit shortly after.
Coworkers later told me that they were quite uninspired by this new guy who introduced a very micro management style without having ever gained trust of the team, and several of them quit or moved to other teams. What a bummer.
I really will never understand why management doesn’t strongly favor promoting from the inside and prefer taking chances with external hires with whom they spent 60 minutes interviewing and will most likely turn out to be bozos with an inflated resume (which is even harder to spot than engineers with technical skills) screwing up the team.
- You've done better at other companies – so why were you hired in the position you have now? Aren't you overqualified?
- The evidence you provide for him being terrible isn't totally sound (The team is a mess, lots of silos, morale is low, difficulty in meeting commitments); could there be other factors here? Perhaps he's overloaded by his superiors?
- Is the company successful despite his shortcomings? Does his team succeed more than it fails?
- What makes you sure you've done better?
I think close to half of the devs (or more) that I've worked with have had issues with their team leads and thought they could do better. It's never that simple. For example, I was with a company once and the CTO was really struggling to manage individual wants and needs, began offloading sprint management to new team leads, and everyone thought he was really shitting the bed. It turned out he was working with some security auditors to get many of our systems vetted and ready for some high profile customers who had very strict, extensive requirements. The customers were bringing millions into our company and the CTO was making it happen, and everyone just assumed he was totally blowing it (rather than just wanting to help the guy out). He was also working on making us GDPR compliant at the time. What's your tech lead struggling with exactly? It could be legitimate.
The problem was (and is) despite horrible performance over several years, he’s still with the company making the same salary he was as a manager because he’s friends with the CEO.
I was able to make it to a prominent role within the company by playing ball and pulling levers at the right time, so it is possible, but the moral of the story is if you work for a company that rewards that sort of underperformance, it’s likely always going to be a problem as long as leadership remains the same. You’re probably better off to search for a new role - which is exactly what I ended up doing in the long run anyway.
It's pretty shitty working in a team where the leadership is utterly ineffective. Ultimately it's managements decision and more than likely they will back the existing structure even if it has problems.
Assuming good ones, I’d tell the truth to the leads boss. Say you think the lead is struggling, way you think you could do better, and in the meantime provide as much help to both the lead and the leads team as possible.
If you tell your boss you’re going to take a more active role and it things start smoothing out, you’ll have a very good case.
Your lead was around when hiring was tough. Moving from IC to eng lead is the clearest growth path for an IC that I can think of, so I'm not sure that aligns with their rationale of "never be[ing] able to grow within the company." Knowing nothing about this person, I think there's a chance there's information you don't have here (not your fault, you weren't around to get it!). "I'm a better IC than lead" is a solid political answer--and it's true for many/most? of us. But it's also a _safe_ answer.
Why were jobs unattractive to external candidates during the time he was hesitant to take on engineering leadership? If the answer is "no one wants to relocate to our un-hip city" that's understandable. Most other reasons? Dig. Keep in mind this person, regardless of skills fit or raw coding prowess, has been exposed to different information and experiences at the company than you have. They have insight into culture and middle management that you might not.
Part 2, to actually answer "What do I do?" - OK, so you gathered data and the lead is indeed simply not a good fit in their role. Every other team around you is firing on all cylinders - in fact they whisper about your team's localized problems. Everyone on your team would be supportive of a change. What then?
If you're going to go to your direct manager or skip-level and ask for a bigger role, make sure you have a good argument from their perspective of why. I'm sure this is in the 80,000 negotiating books that are out there that I haven't read a single one of. Doesn't matter how you see the world, it matters how they do.
Knowing nothing about how awesome you're doing in your current role: what have you done for the company recently? Do skip-level managers know you? Do you have a reputation as a problem-finder and fixer who can work across teams and just gets things done? Have you been owning projects mid-level managers have heard of, even if you're not team lead? Are you "the hero of GDPR compliance" or even "person who wrote the extension that fixes my email nit?" If so, awesome, say that. "I think I'm a better candidate than person X" and "I had a similar role at my last company" are less likely to meet the bar.
If your team's problems are affecting your personal output, then unfortunately that's going to make your case a little more difficult :(. If that's true, try to find a role that lets you show IC skills at the "very good" level (need not be "incredible") while also adding an informal leadership merit badges here or there and getting at least some reputation beyond your team. That's what I've seen in pretty much every case of IC getting leadership responsibilities (which isn't a formal promotion at our company).
Just get enough info in advance to be 100% sure you want the job :).
Semi-related concern if you did take on this team's leadership: are there coworkers that think they could do better than you if you did get promoted? That can cause some people to find other opportunities. Make sure you'd be ok with that.