Programmers are unique in the world, in a philosophical sense, in that the skills and techniques of programming can be applied to any human subject, and seriously productive results can be attained. Computers are an "infinity machine" in that any single subject that a human being can describe, using words, can be in some way supported by computerization.
So if you think an organization is broken, programming can often-times fix it. Good programming, which encodes the domain-specific knowledge of the organization, can be applied to any particular role in human existence - including that of management. In that sense, programmers are able to operate exterior to any organization - and must, in fact, if they wish to deliver a productive result - and apply their skills to that organization in order to improve it.
Programmers who have worked professionally in any industry have an intuitive understanding of this fact, and its strengths.
So I would put it to you that its not Stockholm Syndrome you're observing, but rather this simple fact: Programmers > Managers. (Well, Programmers who deliver working systems, that is..)
There are good programmers and there are bad programmers. There are good managers and there are bad managers. The good variants of either are very valuable and can deliver huge value to very diverse businesses. The bad ones, not so much.
Since the computer-based automation of everything is a reasonably recent phenonomen, there have been more low-hanging fruit to be picked by bad programmers. Management is a much more mature field, so having "Teach yourself Management in 24 hours"-level competence is much less likely to have a positive yield.
What you're describing is just general intelligence and analytical thought. It's harder and rarer than most people think, and both managers and programmers to be really good at their jobs. But just as there are less demanding management positions in the world, there is an emergent class of programmers who are perfectly capable of building and maintaining simple CRUD apps to spec, but wouldn't need to know half of what is in this guide to be effective.
By your logic. Everyone who can speak is Shakespeare.
Believing this fallacy will bring you nothing but suffering.
If an organization is limited - if the will is there to do the right thing but the workload is more than the people involved can handle - then programming can indeed help, by amplifying productivity.
But a broken organization is not merely one where means are insufficient. It's one where you are forbidden to do the right thing. That's not a technical problem, it's a political one, and no amount of programming can fix it. You have to either get into a political fight - which probably isn't your area of comparative advantage, but best of luck if you do take that approach - or get out and find a job somewhere less dysfunctional.
I have had the privilege to work mostly in happy, stable companies, and all the team and organization suggestions in this article have been helpful to me. The "how to get promoted", too. I'm now in a position to do even more to make my team healthy and my company successful. And I love it.
Edit: we're not in the Valley. We're in the DC area, which generally has fairly poor working conditions and long hours for programmers. It helps that we're a product company and not a bodyshop.
Of course, do take care to throw out the bathwater.
I've seen quite a few programmers have breakdowns, and have to leave the industry. Far higher rate than other industries. I think it's because programmers see themselves as creatives, but managers in some companies seem them as builders of somebody else's vision.
:/