Apologies in advance for a long question. Not sure how to ask this question without providing deeper context.
I’ve been working with my current manager for the last 1.5 years. While they have recently helped me get promoted to Senior, it’s been a constant struggle. I dread our 1:1 almost every single week because it always run overtime and we are often still not on the same page.
I see two major issues that haven’t notably improved in the times I’ve reported to them.
(1) My manager isn’t able to coach me, or any of the SWEs on the team. My manager doesn’t seem confident when we have career discussions - I recently asked them what they thought was the difference between good TL and a great one, and they struggled to coherently answer this. Instead, they said they would know better after the next performance calibration. Additionally, none of my teammate has gotten proper coaching either. For example, a teammate struggled to submit code due to their poor code quality and thus had low CL velocity, so my Manager simply told them to submit more CLs, which only made them more stressed without a legitimate way to improve.
(2) My manager lacks technical understanding of our projects and constantly pushes for speed. My manager was externally hired, and to this day, they don’t really understand the complexity of the work our team does. I understand EMs don’t need to contribute code directly, but my manager almost always underestimate how complicated the projects our team takes on are. As engineers, we frequently have to defend our timelines, which is not only frustrating but also pressures some teammates to favor suboptimal design or hastily done CLs that just causes even more churn.
The weird part is, my manager often seem unaware of their own actions, and when I talk to them about these issues, they are always receptive to feedback and seem willing to improve. However, I simply haven’t seen enough improvement in the last 1.5 years.
I could leave, since this is having an impact on my emotional well-being. But I do have good standing w/ my own team and the overall org, and I want to use this situation to learn as much as I could. I know that I myself have a lot to learn as a tech lead (Thanks for this article, it’s really helpful), and I know I can probably get a bit ahead of our projects and start estimating/de-risking earlier, so my Manager doesn’t get overly aggressive with timelines. I know I can also take this chance to more closely mentor my teammates and help them succeed, since they aren’t really getting it from our manager.
I want to stay, but is it the wrong decision because I have little career support from my manager? If I do stay, what should I focus on so I can really help my team and at the same time learn something valuable for my career?
This is a very mature question and I like how much context you added. My initial thought was that the manager must be brand new, but this is something that has been happening for 1.5 years. A few ways I've seen other teams deal with potentially bad managers:
A lot of this is an exercise in communication, so I'd recommend our masterclass in effective communication.
Finally, on the core question of whether to stay or leave, I'm honestly leaning toward leaving. If it's been 1.5 years and you haven't seen marked improvement, it's unlikely things will magically get better without some direction/management change. You don't want to put your career in the hands of someone who doesn't advocate for you / understand you. You're also at Google, so hopefully it's not too difficult to find another team with friends/connections/interesting tech.
As an IC, the reality is that you don't get much ability to shape your environment -- it's generally easier to pick a new environment.
The reality is that you don't get much ability to shape your environment -- it's generally easier to pick a new environment. - Rahul Pandey
This is why the Star Principle by Richard Koch is my favorite book. Pick better industries, better businesses, better teams: it's much less work to pick great environments than change poor ones.
Thanks for the thoughtful advice, Rahul!
Unfortunately, my manager is an industry veteran (~20 years), but this seems to be part of their style. From what I could tell from another engineer that used to report to them, they were more or less this way for their entire tenure thus far at Google (~3 years). The GoogleGeist hasn't been good for my manager for some time, and I don't anticipate the upcoming one to be much better. So overall, I agree with you and I'm not optimistic that we can see dramatic change in my manager's behavior and competence.
I think I'm going to focus on the following for the upcoming year:
Let me know if you have any further advice for me! I'll keep this thread updated on what I happens so hopefully it will be helpful to those reading this in the future.
Update, 7 months later.
I left the team about 3 months ago, for a similar role within the same organization. I ended up finding my own destination team via word of mouth (there technically were no open headcount), and I held a lot of really honest discussions w/ my skip to make it all happen. I made it clear to them that I was done with my manager, but I have a lot of existing knowledge within the org that I want to continue to use for the benefit of the org. The whole thing took about 3 months to complete. The current economic environment also meant my skip lost a HC and wasn't able to backfill so that made it more challenging. I did discuss the same feedback w/ my manager and they were very receptive; however, I'm not entirely sure they would be able to absorb them.
While the new work is more demanding, I feel much better because I am no longer coming home everyday frustrated!
For those in similar situations, here's what helped me through the last 6 months:
Overall, I learned that doing the hard work myself of setting up the transition such that the people in power can simply "approve it" made it more likely to happen. Bonus points if executing your plan enables the same people to do a favor to a peer or boss (e.g. support an P0 initiative within the org).