When so-called engineers stop spending half the development schedule choosing a framework and the other half trying to make their dev setup work on everyone’s personalized laptop they will have some credibility complaining about “arbitrary” business goals and requirements.
From experience, in their career, engineers not only need to excel technically, but are also forced to pick up everything from UX, methodological BS (from Scrum to Itil) to domain specific know-how in multiple fields or areas. Since many managers do not know what they're doing, senior engineers often times end up being de facto management consultants as well. If you are working in a business environment (as opposed to writing low-level drivers or whatever) it's almost impossible to not pick up on what's going on around you.
How many banking managers know how to code? How many engineers working in banking know at least something about the processes, compliance issues, how the org is structured, what the competitors are?
The stereotype of the autistic programmer who is only interested in shiny gadgets and tech needs to die.
The stereotype has been kicked to death, dismembered, burned, rebuilt as an effigy and burned again throughout the years.
The stereotype of the evil and incompetent manager who is only interested in ruining the lives of their underlings, who would solve the world's problems if only left alone to do their jobs, is still going strong.
Managers are imbued with more formal power than their reports and as such should be held to a higher standard. Simply passing on pressure and not standing up for your team will never inspire loyalty.
Taylorism and top-down management are culturally embedded in many companies. With software eating the world you have companies who are ill-equipped to deal with other ways of working and do not understand how writing software is fundamentally different than building a house. This all inevitably leads to cultural conflicts.