It's a structural problem. If everyone expects 20 years of experience people to be principal engineers, and only 5% of roles are principal jobs, then after 20 years 95% of engineers need to leave the industry.
And so, the industry is mostly populated by inexperienced people and many of its pathologies and adverse outcomes are due to this.
> 20 years of experience people to be principal engineers and only 5% of roles are principal jobs, then after 20 years 95% of engineers need to leave the industry.
I'm not sure I follow your math. 5% of roles are principal jobs, but devs with 20+ years are not 100% of the talent pool. This doesn't hold up if devs with 20+ years are are 5% or less of the talent pool.
Still, given "20+ years of experience" represents all programmers of ages, say, 45-65 - or two decades worth of CS graduates - I feel that cohort far exceeds the market for principals? If you think it is smaller, maybe that's because everyone who wasn't in the top n% had to leave?
Although other commenters have pointed out that the growth of the industry counters that, that won't last forever!
I thought it was an interesting question and found this page[1] . It is a survey of 50k devs on Stack overflow. 3.8% percent of those surveyed were over 50. Cenensus data here[1] gives ~20% over 50
I agree with the sentiment, but in this industry which has exponential growth, the number of people in it doubles every 5 years, I think. So if you've been working 20 years, there are now 16x as many people as when you started...so you are in the most senior 6% of people if you managed to stick around.
And so, the industry is mostly populated by inexperienced people and many of its pathologies and adverse outcomes are due to this.