It could be that stages 1-3 mirror the company lifecycle. Companies start out not sucking (as startups) and slowly either become lousy and big, or get bought into a lousy and big company.
at the other end of the spectrum, there are the rockstar programmers who pretty much never have this kind of problem. they are always sought after, they can pretty much name their own game. they don't have to deal with lousy employers for one second, because there's always somebody offering them something better.
i'm not one of those guys. but i'm aiming to get good enough at the game that i don't always dislike my job, at least.