There is definitely ageism in tech.
One thing that I think drives it is that it takes a while to figure out if a programmer is really capable. There are a lot of not very good programmers. When I interview someone with 2 years professional experience I need to be looking for potential. When I interview someone. When I interview someone with 25 years professional experience, I can be looking at results and experiences. I’ve hired one engineer who was leaving after 15+ years at IBM. He was great and had done a lot of things. I’ve hired another senior engineer who was bailing after 2-3 years at IBM, and he complained that everyone keeps their heads down and it was too easy to hide. And I’ve interviewed several former IBM lifers who I decided not to hire because they were the ones keeping their heads down and hiding, having had minimal impact and with limited experience making real technical decisions. Even if you are “age” blind, experience gives you a lot more to judge, and often to judge harshly.
It’s not just IBM. I can say the same about Cisco, HP, and the Mathworks. Probably any large engineering organization. And I am starting to see it in candidates leaving Amazon.
There are career trajectories available to developers which can seem safe, but lead to dead ends. Working on safe boring things in a large organization is one. Being a reluctant middle manager is another.