I don’t think they’re all that necessary. I think they’re a byproduct of considering developers as high-functioning autists not capable of managing themselves, and we’re in an emperor’s new clothes scenario.
All of the PMs I’ve met have either been wholly non-technical, or they were allegedly technical 20 years ago and they have no understanding of modern technologies. Useless either way.
I think by getting rid of project managers, and the managers of project managers (who are even more disconnected from what’s going on) companies would save themselves a lot of money.
Senior developers could take on a management role. But that’s the key, they should be developers, not people who have a PMP certificate and don’t know what a compiler is.