It's funny when people generalize this way. You cherry picked specific scenarios as if that suddenly supports your claim that ageism is well justified. Anecdotally, I've worked with engineers across age ranges. Sure, there are the "rest on their laurels" types who stagnate in their careers. But there are also battle hardened veterans who can debug issues that are mind bendingly difficult to unravel and are happy to stay as IC. I'm curious what metric you'd pick to validate the claim that "...young fresh grads are running circles around old timers." Because based on the quality of the code and other observable aspects this isn't the case. Google introduced a whole new programming language (Go) because fresh grads weren't running circles around anyone and it was easier to go that route than get them to parity with the industry veterans.