Excellent post. I think that what happens after 30 is that you have to become an X Who Programs. http://michaelochurch.wordpress.com/2012/08/26/xwp-vs-jap/ "X" could be manager, game designer, entrepreneur, data scientist, or architect. If you do that, age doesn't matter. If you can't, you're fucked.
You can still code, but you'll usually need a "Director" or "VP" title (increasingly, you see Directors and VPs without reports, perhaps as organizations realize they actually need experienced people) after 40, because you're going to know (one hopes) how to do things right and be infuriated if you don't have the organizational credibility to do things properly.
The technical skills that non-techs evaluate us on are the constantly changing, coarse familiarities, and the PYTs they listen to are going to be similarly biased in favor of hot new flavors. This isn't a meritocracy because, in truth, it's only easy for a good person to prove he's good through technical work if he either (a) controls the tech stack, or (b) selects a company with a tech stack he's already well-matched with. The problem with (b) is that companies are always changing their tech stack (hence, the zillion pointless flamewars). Otherwise you have to get some other, more legible, credibility (the "X") and transfer it over to technical decisions.
I'm aging in reverse. I was a cripple in my early-mid 20s (cyclothymia) and at 30, I'm probably healthier and more energetic than average for my age. I still have cyclo, but it's managed and I lose less time/health/energy to it than the average "bro" loses to alcoholism/hangovers. Because of the cyclo, I can achieve an incredible amount in a short-term job (say, 2 months) but the superficial reliability that most organizations care about is not my strong suit. So I've seen a lot. No one would call me "old" but I definitely know what it feels like to be "overexperienced". It sucks.
You do not have to become an "X who programs" when you hit 40. I've worked with plenty of talented developers over 40, all whom see themselves as developers, not as "VPs who happen to develop".
I think you're getting confused by the other phenomenon involving roles, which is that once you accept the management track, you start losing dev mojo; cf. the CTO who loses their commit bit.
I should have mentioned that there is an alternative to "X Who Programs," which is an elevated title at a known company, e.g. Distinguished or Principal Engineer at Google or Amazon. People know that Google Fellows are rare and that it's hard to get there. There the X is "really good engineer". It's harder to get that, for most people, than to get another X.
Software as practiced today, as the province of firms who do nothing but software engineering rather than a back-office function of giant enterprises, is only ~25 years old. The software industry of the 1980s was led by companies whose flagship products wouldn't attract much attention as open source today.
It's not surprising that there aren't that many "distinguished engineers". If you'd entered the modern field at its inception at the start of your career, you're only in your early 40s now. As an employer of several people in their early 40s: they're not particularly distinctive looking. Maybe you know more than you think you do. Anyhow, look at the demographics and wait a bit.
You can still code, but you'll usually need a "Director" or "VP" title (increasingly, you see Directors and VPs without reports, perhaps as organizations realize they actually need experienced people) after 40, because you're going to know (one hopes) how to do things right and be infuriated if you don't have the organizational credibility to do things properly.
The technical skills that non-techs evaluate us on are the constantly changing, coarse familiarities, and the PYTs they listen to are going to be similarly biased in favor of hot new flavors. This isn't a meritocracy because, in truth, it's only easy for a good person to prove he's good through technical work if he either (a) controls the tech stack, or (b) selects a company with a tech stack he's already well-matched with. The problem with (b) is that companies are always changing their tech stack (hence, the zillion pointless flamewars). Otherwise you have to get some other, more legible, credibility (the "X") and transfer it over to technical decisions.
I'm aging in reverse. I was a cripple in my early-mid 20s (cyclothymia) and at 30, I'm probably healthier and more energetic than average for my age. I still have cyclo, but it's managed and I lose less time/health/energy to it than the average "bro" loses to alcoholism/hangovers. Because of the cyclo, I can achieve an incredible amount in a short-term job (say, 2 months) but the superficial reliability that most organizations care about is not my strong suit. So I've seen a lot. No one would call me "old" but I definitely know what it feels like to be "overexperienced". It sucks.