I belong to the latter group.
I belong to the latter group.
Because most of the answers I see here gloss over that part, or strongly imply that engineers will always decide better than business people what should be released. And I can sympathize, especially if you are in an MBA-led org, but I am also certain that if you think you know perfectly what the enterprise or customer needs, and anyone opposing you is a Pointy-Haired Boss, that you are most probably the idiot in that case: 90% of the time a single dev will NOT have better business intelligence than everyone else.
Nobody needs to be co-ordinating thousands of people. 5–20 people can create Instagram. The entire problem in these companies is that leadership is so out of touch they cannot differentiate between a checklist and a product, and empire-building is their proxy for value. The solution is to change the leadership, but it is usually too late in large orgs (the new leadership has to be brought in somehow from somewhere, and that will be done the same way the current leadership happened).
So the real solution is for those who care to go elsewhere, out-compete, and out-succeed. Then quit after acquisition, if such a thing happens.
I totally agree with you last point. Not the least for the egoistical reason of higher chance of better products for me, that way :)
BTW, I don’t think catering the upper management as described is the only way to get paid. I ignored many upper management’s preferences because they are plainly stupid and in some situations get fired. But I still made good career growth and so do many of my friends. In fact being in a conflict and holding position tends to give me higher rate of returns, even in case not being able to “ship” as defined in the op.