Lets not forget that promotions are for those who build new stuff and those who maintain old stuff don't get promoted.
To add further insult to injury, colleges send SWE/SDEs to the work force to learn to 'actually code', while companies have no time to train jr developers so they are just thrown in the fire and hope for the best.