It is a tragedy of the commons scenario. Everyone wants senior devs, who were at one point junior devs. No one wants to train junior devs. The OP points out why: * cheaper to have juniorish work done overseas * juniorish work is automated away * juniors on a team slow it down (compared to a team of all seniors) So everyone competes for the senior talent. A more sophisticated long term analysis might look at the benef…
You're missing a rather obvious point. A junior dev after months of training could jump ship for much better comp now that they're less junior or that suddenly some other company's product interests them more. Another point missing is that sometimes there are very hard problems (eg. self-driving cars, fusion power, DNA pattern matching) that need solving quickly and that's what some companies try to do, there are oth…
Sure, but that's why you need to give people raises in line with market rates if you don't want to experience high turnover. That goes for junior and more senior people.
Companies often don't want to give big raises as junior people transition into mid-level, then senior. So many companies have a standardized 2-8% pay raise scale, which results in developers being drastically underpaid as they gain experience. The silly part of that is that those same companies are gonna have to pay market rate to replace those skills when their employees leave, and they have to eat the additional recruiting costs, lost institutional knowledge, and ramp up time for a new employee. Penny-wise and pound-foolish as it were.