Sure, but moving to a new position every year or two within the company you work for is hardly flitting, and can actually bring a lot of value to the company. Plenty of companies I've worked for will at least allow people to move around between teams from time to time, so I feel like that 99% comment is at least somewhat of an exaggeration - at least when applied to companies that are large enough to have multiple teams.
Plenty of companies I've worked for will at least allow people to move around between teams from time to time, so I feel like that 99% comment is at least somewhat of an exaggeration - at least when applied to companies that are large enough to have multiple teams.
Sure, a transfer from team A doing line-of-business applications in Java to team B doing line-of-business applications in Java is probably straightforward, especially around the time that team A's project goes live and team B's project is just ramping up.
But if our hypothetical Java dev was bored of Java and wanted to do something completely different, and would take some time to get up to speed in the new thing, that would be a harder sell, and ironically gets harder the better you are at your original job. Say you had been cranking out CRUD apps in Java and had a reputation for it and decided that you wanted to do machine learning all of a sudden. I think you would struggle to do that even in large companies. The best you could realistically hope for would be a promotion within your current silo. Unless you went somewhere you could start afresh.