Not everyone gets to code the next ground breaking algorithm at some R&D department.
Most programming tasks are rather repetitive, and in many countries there is hardly anything to look up to software developers, it is another blue collar job.
And in many cultures if you don't go into management after about five years, usually it is seen as a failure to grow up on their career.
Of course it is true. The thing was 90% of Amazon engineers made far more money at their job while essentially doing typical enterprise software work. This money led them believe it is some creative work. And now those task management and time monitoring tools are catching up to Amazon IT workers so they are realizing it is similar to another low end IT job/ factory work.
The pay and benefits at Amazon always seemed to offset the shit work/life balance and on-call rotation. What a gauntlet that was. The only engineers that got recognition were those that fixed high profile bugs, preferably after hours. Shipping a feature was always just "business as usual"
> if you don't go into management after about five years, usually it is seen as a failure to grow up on their career
I don't see how that's possible. Wouldn't such a norm result in something like a 7:1 ration of managers to engineers (i.e., assuming a 40ish year career, the first 5 years are spent as an engineer, and the remaining 35 as a manager)? For team managers, I've generally seen around a 1:10 ratio of engineers to managers. So a 7:1 ratio of managers to engineers just doesn't seem plausible, even including non-people leaders in management.
Have you wondered why japan, which is a powerhouse of electronics and manufacturing does not have any large software companies ?
Software is different from manufacturing.
The mindset, mentality, and culture required to do new software for an ambiguous problem is different from the mentality to produce boilerplate code or maintain an existing codebase. The later is pure execution and the former is more like R&D.
It means that the company is more likely to fire that person on the logic that they "failed" to be promoted to management, that they're "treading water" as a developer.
Not everyone gets to code the next ground breaking algorithm at some R&D department.
Most programming tasks are rather repetitive, and in many countries there is hardly anything to look up to software developers, it is another blue collar job.
And in many cultures if you don't go into management after about five years, usually it is seen as a failure to grow up on their career.