Ultimately hiring decisions are made in most organizations by people who got out of tech and into management early in their careers and believe that that is the "successful" career path. When they look at an older engineer, they see someone "unsuccessful" (and either don't care about or more likely don't even understand his or her technical accomplishments).
This isn't going to change any time soon and it's wise to prepare strategies in advance.
You might be right, but I would like to see more discussion on the topic. Is the ageism a result of actions by non-programmers, or are programmers contributing to it too?
Few days ago a guy complained about having to write code during the job search process. Most comments I read here on HN were not sympathetic to him. He was advised not to send out as many resumes, show more passion etc etc. "Show some code" is a totally different request than "Show me the code for this exact problem I made up" - yet many programmers here were commenting as if they have never had to do a job search.
My point is that before blaming others, it might be good for the community to introspect and see if the cause is truly from outside.
This isn't going to change any time soon and it's wise to prepare strategies in advance.