I have stayed at companies and on projects that I knew were &quot;dying&quot;, or, at least, not doing so well because I had good management. On the other hand, I have left successful companies because my particular product group wasn&#x27;t getting enough management support. People forget that companies like Yahoo, Amazon, Google, Microsoft, et. al. are <i>huge</i>. As an individual contributor, Marissa Meyer&#x27;s policy shifts affect you in subtle and hard to diagnose ways, because they&#x27;re filtered and mediated through a long chain of management before they get down to you. Your individual manager has a much greater impact on your day-to-day happiness than the CEO of the company.<p>That said, good programmers always have opportunities, and while good management can do a lot towards helping retention, if the company is dying, people will start to look elsewhere. After all, nobody wants to be in the lurch when the layoffs hit. It&#x27;s always better to have another opportunity arranged, so that you can leave on your own terms, without having a gap on your resume.<p>I would say that I make a trade-off, balancing the benefits of staying where I am (social capital, rapport with my coworkers, etc.) with the potential benefits of moving elsewhere (quit-before-I&#x27;m-fired, opportunity to work on a better technology or a more interesting problem). When the benefits of staying become less than the benefits of switching, then I start looking. Individual management can do a lot to increase my propensity to stay where I&#x27;m currently at, but it&#x27;s not an unlimited power. At some point, broader economic concerns swamp the benefit I get from staying with my current team.