Some skillsets simply don't age well. Programmer salaries reflect this perfectly.
That is true, and is definitely a factor, when the programmer doesn't keep up with technologies, however, there are other factors:
- Even though the best developer isn't necessarily the best manager, the worst developer is hardly ever promoted, creating a down bias over time (since managers aren't included in programmer stats).
- The best and most highly paid developers, often "call in rich" before they hit 50. They drive the average salaries up in the 20-50 range, but don't participate in the after 50 range.
- Older developers often seek jobs with better work-life balances, since they have families. These jobs usually pay less.
Anyway, the point is that over time, the selection actually changes, which I believe is the most dominant factor, it's not necessarily that the skill set or ability has decayed over time (although obviously it can happen).