Couldn't this "half-life" just as easily be explained by lack of talent and/or tendency to learn and advance your skills?
In any reasonably advanced profession, like coding, there are usually some few tasks that require relatively high skill and many tasks that require relatively little skill. The former tasks you would give to someone fresh out of university, the latter you would give to someone who has proven themselves to be capable of them, which probably means a couple of years of work experience. As time goes, the code monkey either rises to become an experienced, highly skilled coder/designer/analyst/whatever, or he doesn't. And since 25-year old code monkeys are usually cheaper than 40-year old ones even if they are doing the same work, and 25-year have some small probability of being a good investment in the long term, the older ones, who from the employer's point of view seem to have peaked already, get less and less attractive.
So someone who doesn't have the talent, dedication, interest or intelligence required to work on difficult tasks is simply going to get discarded after a couple of decades. I'm pretty sure this happens in all advanced professions.