I think the perceived lack of older programmers has many causes:<p>1. industry fairly young. yes there were some professional programmers back in the 70's but the number needed and working know probably dwarfs that by a couple orders of magnitude. websites, mobile devices, appliances, vehicles, CAD/CAM modeling, simulations, CNC, toys, Wall Street -- tons more places running software now than used to<p>2. the pay's pretty darn good. much easier to retire younger from a salary-type career, plus if you're a software/entrepreneur type it's fairly easy to start your own company focusing on that and score FU money -- not guaranteed, of course, and not impossible in other fields, but other fields are capital intensive whereas this one pretty much just requires a single PC and a chair to get started, and this field has seen a lot of growth and innovation in the last few decades, it's not an old/mature/commodity industry like many others are (cutting hair, selling oranges, etc.)<p>3. tech mastery freshness. while the fundamentals you learned a few decades ago will still serve you well, there's a lot of superficial/application-facing/fashionable technology that's changed pretty rapidly -- again, not all of it has changed, but the rate of change has been higher than a lot of other working fields. Humans get better over time at anything they do long enough. There's a natural tendency to slowly get very good at doing things the old way, even if it's no longer the best way. I looooooved writing C apps for several years but I'm glad I made the jump to languages and tools which are better suited for that role. Eventually a good chance somebody fails to make the jump to new tech/paradigm -- increasingly due to distraction from family, friends, hobbies, health issues, travel. Speaking in generalizations, of course.<p>4. it's demanding work, intellectually. folks burn out. eye strain. wrist strain. brain strain. the 1st 100 times you're asked to solve some evil bug caused by dipshit coworkers may be interesting or satisfying to solve, but eventually it gets old. (I think this is a big reason why Java is so popular inside large corps: it reduces chance that newbs/dipshits hurt themselves, plus, when shit does hit fan, Java has great tools and hooks for digging in quickly and finding out what's wrong and fixing it, in runtime/production scenarios, not just static code reviews)<p>5. management track black hole, certainly. partly the demand to push programmers into it, partly because you get bored, partly because you lose your edge, partly because it's a more sure-fire way to increase your pay in a corporate/salary type job working for The Man, and you don't want to become a contractor or start your own business, for whatever reason