It is better if the managers of technical people are technical themselves. Otherwise you wind up with the Dilbert "pointy-haired-boss" syndrome. The non-technical manager is extremely easy to bullshit, so it's better for the company in almost all ways.
An experienced manager is not easy to bullshit regardless. Sometimes a non-technical manager is better for many reasons. Having business domain experience can be just as valuable
Yep; though enough time working for companies tends to instill some knowledge and understanding of the business side of things, and as long as understanding of the business correlates with their own influence it tends to work out okay.
Management is weird in that understanding of the tech side of things doesn't correlate with influence.
When you think you're fooling someone, you're really only fooling yourself.
It doesn't take a genius to know who is doing the work and who is looking for every excuse to be 'blocked'.
Managers simply know that they can't hire or fire and that calling someone on their bullshit would accomplish nothing, so they say nothing.
Managers are masters of soft power. Soft power is very hard for engineering/techie types to understand, which is why it works so well on them, because they don't even understand the game they're a part of :)
It is rather unusual for someone to be called out on their bullshit. I’ve been working for 25 years and only seen it happen a couple times. Most people are conflict avoidant, so the perpetually “blocked” individuals are allowed to stay that way. I know people who’ve essentially done no real work for years. Who’s the fool here? Those of us picking up all the slack.
I have a decorated history of calling people on their bullshit. I have the 'you have been let go' and negative resume references to prove it.
The fool is the person not understanding the game they're playing.
Techies who do other people's work are perpetuating the game they despise - they are indeed fools.
Middle managers who perpetuate the game are smart, because it is their job to perpetuate the game. It is not their job to change the rules of the game - that's the job of the techies who can refuse to 'pick up the slack', let targets fail repeatedly and signal to upper management that the game isn't working, forcing them to change the game, which the middle managers will once again perpetuate, because that is their job.
I called someone out, and pushed back on someone who wanted me to do their work. This was a useless "scrum master" type who couldn't even update a spreadsheet for one of his weekly reports. I explained to him that that updating those spreadsheets was not an engineering responsibility, but I would be happy to provide him with input. I also complained about him to my manager. He was one of those guys who couldn't even copy-and-paste.
They just harassed some other person into doing it. He was a bit passive aggressive about it on some future calls: "Bob doesn't want to update the spreadsheet, so I will have Alice do it!" Anyway, nice guy, but didn't do any work at all, and he's gone now.
I prefer fairly non-technical engineering managers who stick to their lane. Their job should be to help manage the project schedule (in coordination with and guided by technical leads and product leadership), coordinate with other teams, coordinate with middle and upper management, and help their reports with whatever career development they need.
They should not be making technology decisions or specifying how the work gets done. They should trust their reports to not bullshit (and if that trust is broken, those reports should be fired). I think having a technical background can be helpful for these managers, but I don't think it's strictly necessary, and they should be doing essentially zero technical work as a part of their management job.
I've found managers who are like this to be incredibly useful and productive, and a pleasure to work with. Managers who want to get involved in technical decisions just get in the way and cause problems. Unfortunately a lot of newly-promoted former engineers can't let go of the technical work.
The problem with the "non-technical manager = easy to bullshit" idea is that it's basically the engineer's equivalent of the "engineer = assembly line cog who shouldn't be exposed to anything but their JIRA tickets" idea for bad management. It's what you find in poorly-run or excessively cheap organizations, but it's hardly an upper bound.