Isn’t that true for everything though? More bad devs exist than good one? I guess a manager could make the same claim that devs are making his life miserable.
Yeah, it goes both ways. Worse is when someone thinks that they're this magical unicorn that is always right when they're in fact more often wrong and correspondingly makes trouble for everyone else. They make you out to be the enemy when you're not. It's horrible when that person is a manager. But it's also horrible when that person is a developer. Or any other role. I've managed people that you just have to let go, after trying every method known to man, you can't fix their fundamental psychology and neuroticism. Some people are just broken and organizations unfortunately are not equipped to deal with that (would be nice if every organization could have an in-house psychiatrist, but that's not the reality we have).
I will concede this though. When that bad person is a manager, EVERYONE on the team can suffer, the entire culture can suffer. When that person is just a team member, others on the team can usually figure out how to just avoid that person so that the problem can be compartmentalized. Better still, a good manager will not tolerate the bullshit because they know that it can poison the team if not handled properly. When that person is a manager, there's no avoiding the problem and team policies and culture will be poisoned accordingly so that the best people leave and nothing good is left.
Isn’t that true for everything though? More bad devs exist than good one?
It wouldn't surprise me to learn that a large number of users in this community have actually worked in a bubble of tech outside the norm where most devs were actually pretty solid overall. A developer who is truly incompetent (not just mediocre) would have a very hard time even getting hired at a FAANG or similar, let alone stick around very long.
Actually I've developed the wisdom to realize that 90% of people are not good at what they do for a living. They don't have that job because they're talented at it, they have it because they needed a job.
Its true, but I think the impact is what matters. Even a below average dev produces output; it may be substantially less than a great dev, it may not be of the highest quality, they may require more hands-on reviews and mentorship from other devs on the team, but its still producing output. In comparison, a bad manager can invert the productive output of a team or individuals on that team; high attrition rates, high quiet-quitting rates, prioritizing the wrong things, interrupting work such that little gets done, not playing defense, etc etc etc.
The "old" saying (well, I've heard it said a few times) is: bad software (probably) won't kill your business. There's a litany of examples to this effect. However, bad management will, with increasingly leveraged effects the further that bad management is from the line worker.
Bad developers write code that has a negative impact on team prouctivity. e.g. by insisting on a wildly overcomplicated implementation or writing poor tests and being aggressive to anyone that questions them, or being highly negative about some decision or other to the point where the team are not sure if that person is in charge or their manager is.
They can also pester everyone with mountains of trivia in PRs and refuse to change anything in their own and so on and on.
My own boss says "the main thing is to hire nice people - everything else can be improved" and that changed my perspective a lot. I think he's right.
But the worst thing ever is when a bad dev gets promoted to the position of a dev manager or a tech lead. Armed with “knowledge” and “experience,” and now with a degree of authority, they would put their weight on everything they touch. The damage will be immense (but no one would care).
So now we’re including actual engineers in this perpetual rant against management, now? Is it only engineers whose sole job is to write code given a spec who are valuable? At what level of seniority is a job “useless” or worse?
The power dynamic is completely different. Managers have the ability to hire/fire, guide technical decisions (usually for the worse) and set the tone for the team since its "their" team. The team itself has very little recourse over a bad manager.
They can quit. I promise you as a manager I spend at least half my time trying to keep developers happy and engaged because losing even one of them will cost the team way, way more in productivity than indulging somebody who wants to implement a perhaps-overengineered solution.
I don't know how it is everywhere, but in my neck of the woods good developers are hard to recruit and expensive to lose - they have a lot of leverage and they know it.
I've met devs who don't have the self-confidence to leave their current job under a terrible manager because they don't want to go through the equally terrible interview loops. They're stuck in some kind of purgatory.
This is actually pretty consistent across companies: being the most senior person around when the last manager leaves. Sometimes it's a senior dev, sometimes a PM, heck I've seen it be somebody from the UX org. The path of least resistance is a quick promotion from within. As many of us have experienced this leaves us with a non-zero amount of managers who are both unqualified and uninterested in their role, but accept it for status (you're supposed to get promotions after X years right?) and pay reasons.
what people don't undertand (and that included me, when I did the change) is that being a manager is a totally different job than being a developer. you can be an extremely good developer, but be a lousy manager. there are different skills needed for those roles and not all of them are transferable. when you transition from a senior developer, you don't transition into a senior manager, you start from zero. it helps to be a good dev, but it's not a guarantee for success.
This is a common misconception and it is exactly how "bad people" progress into a role where they aren't a match. It is an entirely different role. Most engineering managers come from an engineering background and rely on the learned experiences of that job in order to be successful.
I will concede this though. When that bad person is a manager, EVERYONE on the team can suffer, the entire culture can suffer. When that person is just a team member, others on the team can usually figure out how to just avoid that person so that the problem can be compartmentalized. Better still, a good manager will not tolerate the bullshit because they know that it can poison the team if not handled properly. When that person is a manager, there's no avoiding the problem and team policies and culture will be poisoned accordingly so that the best people leave and nothing good is left.