>What is unique about programming as a practice that make it unsuitable for professional beyond a certain age?
I'm not sure. I've worked with several /really good/ old guys. Even with this virtualization and 'cloud' stuff, a lot of *NIX knowledge that was relevant in the 70s is still relevant now. It's just the hairball of bash scripts you used to need to manage many servers at once has become more standardized. You still need guys who actually understand what is going on.
For all positions, and /especially/ technical positions, I think government workers tend do be older than private sector workers... it makes sense, as the way pension pays out means that you get better pension contributions from your later years of work, and the same goes for healthcare.
Really, for old folks, the private sector can't (or won't) touch those kinds of benefits. I think the thing of it is, the private sector will pay more for youngsters (that is, if you don't care about risk) while the public sector will pay more for old folks, so it doesn't surprise me that you don't see many old programmers in the private sector.
All of my parents work for the government; my stepfather as a .net programmer(retired.) There were years where I was making more than them, but their ending salaries were pretty comfortable, and upon retirement, they get free health insurance /and/ a very significant percentage of that salary for the rest of their lives.
I don't have the temperament for government work, but really, as you get older, if your choice is individual contributor work in the private sector vs. individual contributor work in the public sector, staying in the private sector past the age of 45 or so is just plain irrational.
I've thought long and hard about this, and the idea is vaguely terrifying. I told myself that if my business wasn't supporting me by the time I was 30, I'd start preparing for public sector employment. I'll be 30 this October, and so far, it looks like I've made it, but only just.
Because the public sector has such silly low starting wages for technical people, they don't have that much home-grown programming experience. An experienced private sector programmer is going to have a relatively easy time scoring a public sector job when it's time to settle down for his last 15-20 years before retirement; so I think what we see here is the natural inclination people have to seek out the highest paying jobs they can get.