Plus he seems to completely miss a separate alternative for software engineers over 35-- start their own businesses.
I think the perception that 40 year olds are not up to date on technology is laughable-- just look at how resistant 20-sometings are to erlang. This resistance or letting skills get old can come from two sources: First, some people just are kinda blub programmers who never want to learn something new. The second is that its possible to be pigeonholed. I was that way- forced to write windows software for years (several companies who had mac apps who hired me with the promise of working on the mac app then switched me to windows because I had windows experience) until I seriously de-emphasized that experience on my resume, and started outright refusing.
The reason companies hire people right out of college is really simple: They want engineers who are going to accept being over worked due to bad management practices. They think it is easier and cheaper to just hire out of college than to fix their broken processes. I've seen this everywhere - from Microsoft where the managers have some technical back ground but the company culture is broken- to Amazon where the managers are DMV rejects and the company culture is broken. (notable exceptions exist in both cases, of course.)
It is cheaper to hire someone right out of college than to hire someone with 10 years experience... the problem is, "professional" management thinks both are equally productive. In my experience this is not the case.
I had to laugh when, in 2007, Zuckerberg was on the stage at Startup Weekend claiming that 20 year olds were more productive-- at the time he was too young to even know the difference! Standard issue youthful hubris, that.