Your experience is more or less different from mine. I currently work for a multi-billion dollar "sandwich shop" with many levels of management, I can't say there has been a single day I dreaded going to work. There isn't much room for advancement until someone leaves (which doesn't happen too often), but good people are being appreciated. I see myself staying there for a very long time if things remain the same.
Now my wife's story is different, she works for a big corporation where the East Coast has no idea what the West Coast is doing and viceversa (and they don't really care), and while she loves the environment , the company is managed by absolute retards who are incapable of realizing that a programmer isn't a machine that you can take from one project and assign to another and get even close to the same output as someone who has worked on that project for years, and it takes the work of 2 people in India plus one in US to do the same work that the single one in US would have done in the first place.