Weak managers
In a previous post I made the point that having a weak manager - a manager without political clout - is really bad news if you’re an engineer looking to grow at the company1. I’m going to expand on that point here. Note that I’m talking about weak managers, not incompetent managers.
Why weak managers are a problem
Why are weak managers a problem for you? Because events like promotions, being assigned key projects, and so on, are all things that your manager needs to actively set up. If your manager isn’t able to speak up for you effectively in promo calibration meetings, you won’t get your promotion.
The other reason is that unpopular managers often get punished in ways that punish their teams: having headcount withheld or budgets cut, being assigned unreasonable deadlines, or being saddled with internal transfers of problematic or incompetent employees. This can make your experience as an engineer much worse through no fault of your own.
It’s often not your manager’s fault! Sometimes they’ve just gotten a raw deal, such as:
- They had a great relationship with their previous boss, but that boss left and the new one just doesn’t vibe with them
- They’re not a good fit for the org they’re in: maybe the org expects managers to do pure admin, while the manager expects to be writing code half the time
- They had to push back hard on behalf of a direct report (e.g. to justify not firing someone going through a hard time) and are dealing with the consequences
- A nasty incident happened on their watch due to sheer bad luck, and they’re being held responsible
Even if it’s not their fault or your fault, it’s still your problem. So what can you do about it?
Staying or leaving
The simplest solution is to walk away. Managers without political clout often stick around for a long time, because (a) it’s hard to hire new managers, and (b) weak managers are useful to their peers, because they can serve as a dumping ground for doomed projects or employees. You almost certainly cannot fix this situation by doing an exceptionally good job, or by having the right conversation with the right person. It’s probably in your own interests to switch teams or companies.
The other option is to stay and keep your head down. If you don’t need a promotion or it’s hard to switch jobs, you can try and stick it out. In this case, you shouldn’t try to get things done that require your manager to push them - don’t request special working hours or a special WFH arrangement, for instance. They’re very likely to fail, which risks setting a bad precedent for when you ask the next time. But you can still do good engineering work under a weak manager, and you can still enjoy your time at work.
Sometimes weak managers are great at being managers, which can be a good reason to stick it out. I think this is pretty rare, because being politically effective is part of being a good manager, just as it’s part of being a good engineer. It’s also an unstable situation - good managers will be deeply unhappy if they’re not able to secure promotions for their team or avoid doomed projects, so they tend to leave.
Sticking it out
If you do stay, how should you approach the situation? You’ll have to actively work against a series of problems:
- Steadily losing credit with senior leadership over time, as the perception of being on a bad team “rubs off” on you
- The team’s planned work changing unpredictably, since your manager will get stuck with last-minute asks or changes
- Successful projects not earning much praise, since the upward communication work your manager needs to do won’t be as successful
- Unusually hard projects (unclear requirements, awkward political fights) being foisted off on your team
If you don’t want to engage with organizational politics at all and just want to do work, you might just be able to ignore these problems, put your head down, and close out JIRA tickets. But that’s not going to satisfy people who want to build features end-to-end, or who want to grow their status within the company.
Since team projects are likely to be messy, you should set your own goals instead of really committing to your team’s work. For instance, you could decide to care a lot about performance or accessibility. Or you could try and push for open-sourcing some library owned by your team. The point is to take on a small project of your own that’s uncontaminated by what’s going on in your team - either so you have something to feel accomplished about, or so you have some accomplishments to point to come review time, depending on how tactical you are about your work.
If you can, it’s very valuable to connect with your skip-level manager directly. That’s an excellent way of doing some of the work your manager might struggle with: getting visibility with senior management. However, trying to impress your skip-level directly is always a risky move. You often don’t really speak the same language2. If you make a poor impression, you could end up worse than when you started. Unless you’re confident about this, it’s usually better to keep your head down.
It’s also a good time to connect with strong engineers on other teams. The idea here is like the previous two: accumulate some capital that isn’t tarnished by your team’s specific projects. In this case, that’s social capital with engineers - a very valuable commodity, in my experience. Usually the best way to do this is to find engineers who are trying to integrate with things your team owns and reach out to actively help them (by chatting, reviewing, pairing, etc).
What about your team’s actual work? I’m not suggesting neglecting that entirely, but it’s sensible to spend only 80% of your usual time and effort, leaving 20% for the tasks above. With a weak manager, you’re just not going to get rewarded for spending all your effort (or going above and beyond) on your team’s projects. Spending 80% should be enough to keep moving things forward, but not so much that when your team gets violently re-prioritized you’re heartbroken about all the wasted effort.
Summary
If you have a strong manager, you don’t have to worry about any of the above. You can just focus on executing against your manager’s vision and everything will work out - i.e. your interests will be closely aligned with the person who’s in a place to reward you for your effort. With a weak manager, it’s much more complicated.
- Weak managers can be good managers that are in an unlucky situation. They’re just managers with very little political capital to spend
- You will not get promoted (or a strong bonus, etc) with a weak manager
- Either leave for greener pastures, or put your head down and focus on building capital in other ways
- Set your own goals, make friends with your skip or strong engineers on other teams, and so on
- Eventually your weak manager will become strong (e.g. your skip level changes, or you all get re-orged) and you can reprioritize
-
I’m writing this post because a reader emailed me asking about it, not because I think my current manager is weak. For the record, I think my current manager is quite capable.
↩ -
I wrote about this in my post on how to ship.
↩
February 22, 2025