It's been discussed on Hackernews a few times over the years:
https://news.ycombinator.com/item?id=1866486
https://news.ycombinator.com/item?id=6818556
https://news.ycombinator.com/item?id=552821
https://news.ycombinator.com/item?id=5372726
Personally, I think the broader problem is that most software engineers, at least the ones I've worked with, have a flawed model in their head for how the business they are employed by works.
Partially this is why startups are attractive to some because you can actually connect the work you do day to day with the company's overall success. Even then it doesn't take much scale (something on the order of 1 level of hierarchy) before people lose touch with the dynamics of the business.
There are hard realities like the fact that the best technical product doesn't always win in the marketplace. That many times it's the wrong business decision to invest in innovation. That most programmer's jobs aren't to write code but to solve problems (and software just happens to be pretty good at doing that).
Marketers take over companies when you're selling a product that has become commoditized because brand is the thing that adds value to the company at that point. If sales is the thing that drives profit, sales will eventually run the company. If you want to work for a company that is run by engineers find one where the vast majority of the company's value is tied to the intellectual property their software source code represents.