Boredom and wanting to work on something new is probably the biggest driver
I have to disagree with this point. Switching jobs is a very stressful and scary experience. Most people don't want to jeopardize their income without having some very strong motivator. In my experience, the most common reasons someone changes jobs is:
- Promise of a higher income
- Low perceived stability at the current job (employees want to secure a new job before they're layoffs)
I HAD to switch jobs 3 times within 2 years when first starting. (Redundancy, restructure, outsourcing.)
It's no longer scary or stressful. I now choose to switch jobs regularly because I get better incentives to join somewhere else and I get more bargaining power with each transition.
C-levels and shareholders made it this way - if they kept with market rates and the organisation put more value in employees and their IT I'd stay around. But I've been seeing more and more of a shift to outcome-based budgeting, maintenance and refactoring isn't even part of BAU budgeting - it's strapped on to project work. This is likely exclusive to non-tech companies (even though most companies are shifting towards tech as their basis ala "Software is Eating The World").
Managers can only do so much within an org, I haven't worked for a manager I didn't like (I've turned down jobs based on my interview process though). Not US based.
- Promise of a higher income
- Low perceived stability at the current job (employees want to secure a new job before they're layoffs)
- Toxic work environment