In almost every elite physical sport, the optimal age of physical participation, before the hardware starts to fail, is much lower than the age of the coach.
But in every elite sport, physical or otherwise, a coach is pretty much always someone who has previously been an elite player or participant. The reason for this is pretty obvious: the experience gained in the activity by the coach, the efficient passing on of higher orders of knowledge, and the gains from the division of labor/economies of scale from the coach/sportsman unit.
Indeed, if a coach can still compete, they don't become a coach, but split off and become a player/team, who then outsources the coaching aspect of his regime to a coach, but I digress...
Indeed, you see this or similar patterns in practically all professional activity that meets two requirements:
1. Requires a high amount of skill 2. The amount of skill required is easily objectively demonstrated/measured/competed against.
Be it sport, or cooking, or crafts, or trades.
Programming, I put forward, is no different. That is to say, the skill/craft of programming. If the art of programming and its application is what is desired, then skillful young programmers want skillful older programers as their managers/mentors.
The catch, is that employment of programmers is not in most corporate environments about the application of a skillful craft to produce a quality application.
Indeed, only in the corporate, tech, and political environments, do you see anything so obscenely parody-like as suggesting a coach/manager/superior be hired that doesn't have extreme knowledge of the field in which they are leading. For good reasons, if you suggested this in any other field that meets the criteria up there I suggest, you would either be laughed out of the profession, or naturally fail and be expelled anyway.
And that's because the norm of the corporate and business world does not meet the criteria I listed above, and is not about the application of skillful programming. It stems from two main problems:
1. The inability to easily measure connect a programmers/corporate teams/managers inputs to outputs and their relative values. 2. The real skill being applied in most corporate and business hierarchies being political savvy and salesmanship.
Thus we are stuck with the world of modern business theory and programmer application in a business context:
The idea that it is perfectly acceptable for a modern manager to have no knowledge of the thing they are managing. And if the main goal of a manager is politics and value-extraction, in a sad way, its actually true.
But it has nothing to do with the craft of programming itself. For that, I return to my original analogy: you want a highly experienced technical expert leading your team. I don't care how "accepted" it is that this is not the case in the corporate world, because such a position is not borderline insanity, it is literal insanity, and it would not be taken seriously for 5 seconds if it was the application of the skill of the team of programmers to their problem domain that actually mattered.
mic drop