Be kind to your manager
I started my career as a developer, then spent several years as a team lead, and then got back to mostly writing code again. Here, I’m reflecting on the challenges of being a middle manager.
Everything is more complicated than it looks.
Why my manager is so stressed?
They may not know how to manage yet
All the time, brilliant individual contributors got promoted to team leads only to learn that that’s a job requiring a completely different skill set.
When I got promoted to the head of the team, I thought I could capitalize on my knowledge as a developer to make good judgment calls and help my colleagues be as efficient as I was. I had to make my share of mistakes to learn how wrong my assumptions were.
Chances are, your manager is learning how to do their job right now. It doesn’t mean you should be indulgent if it harms you, “it’s okay, they’re just learning.” Still, assuming missteps instead of bad intentions enables a constructive resolution of many conflicts.
They don’t have all the power
Most meaningful decisions can’t be taken single-headedly. Think of fixing cross-team communication, adoption of a new tool or workflow, etc. — most of the time your manager needs to escalate the issue to their senior, or discuss it with their colleagues. This work takes time and energy.
Your manager is one of many, unless your company is tiny. Protecting the interests of your team, they may feel as frustrated as you are.
Changes are slow
It’s like refactoring: the larger the system, the harder it is to introduce the changes. A small company is like a small codebase; you update the dependency, fix a few failing tests, and you’re done. A large company is like a big legacy product. Often, even the smallest changes require deliberate planning and coordination and can take months to implement.
Actually, it’s even more difficult. With code, you commit your changes and deploy a new version. With people, it doesn’t work exactly like this. Habits and team culture define how people behave more than instructions and workflows. It takes time to adopt new practices. It also takes energy to overcome the inevitable resistance of people opposing the changes.
Why my manager doesn’t act in my best interests?
Sometimes you may feel the manager does precisely the opposite of your best interest. Are they intentional? Is it incompetence, negligence, or pure evil? More often than not, neither of those.
They may have different priorities
Your priority #1 doesn’t necessarily mean it’s their priority too. You look at the organization’s processes from the development team’s standpoint. There are other players on the field: other developers, as opinionated as you are. The marketing team, which is very good at selling their point. The support team, which learns from their client how to be vocal about their pains, etc.
Developers want clean code. Marketers want features. Supporters need fewer bugs. Aligning the views and balancing the incentives of different teams is tough work. It’s never perfectly balanced, especially in an actively growing startup reinventing itself every few months.
Also. You may be wrong
For example, you disagree on how strict you should be reviewing pull requests. Maybe, the team lead is disastrously negligent, letting junior developers deploy changes to production without the approval of the seniors.
You may not see the picture the way your manager sees it. What if senior developers approving every change is a bottleneck? What if their goal is to let newcomers grow faster and become more independent?
Your manager can be wrong, and so can you. Only an open discussion can help find clarity.
How can I help my manager?
When I was the head of the team, I felt like I was the busiest person in the company. Every pain point surfaced on a 1-on-1 or inefficiency in processes started a new background job in my head. “How can we fix it, how can we fix it,” played like a broken record. More often than not, the solution is not straightforward, and naturally, it didn’t make me feel better.
Still, you can help your manager to cope with the overload.
Keep sharing your feedback. Double-down on being open and honest with your manager, even. I’m saying it just in case someone thinks that “be kind” means “don’t share your pain with your manager.” By no means do I tell that!
Inverse the mindset. Instead of asking, “how can you solve this problem for me,” ask your manager, “how can I help you?” Chances are, your problems are well-aligned. Helping solve the manager’s problem, you solve the problem for yourself.
Take responsibility. When possible, don’t run new background jobs in the heads of your managers: it’s crowded enough there. Instead, consider running this job in your head: I bet you will be more excited and motivated to find a solution to your problem than anyone else on the team. Different companies have different ways to channel and formalize these efforts: I’m aware of DRI or guilds. Even if there’s nothing like this in your company, start small. Share in Slack, “We agree with X that I’ll be responsible for resolving Y. Stay tuned for more news.”
Overcommunicate. If you took the responsibility to change something for the better, find the proper format to share your things. Share your progress, blockers, and plans. This routine keeps you motivated. Besides, it reduces the load on your manager — their peers will stop asking about your progress.
Nobody pays me for doing my manager’s work, you may think. This view has a right to exist, but I believe that if you can fix a pain point yourself, you should try doing it. If you resolve it, it’s a win-win.
Bonus point. Change your company, or change your company. I heard this advice once, and it stuck with me. If you’re unhappy, you can’t fix it, and your manager can’t help you, maybe it’s time to consider finding a new job. Even if it’s not the time yet, knowing that this option is on the plate can help you reduce stress.