Since salaries are so much lower everywhere but the US, doesn't it make more sense to flip this argument around and instead ask: "why are software engineers' salaries so much higher in the US than everywhere else?"
Considering that engineering salaries are within the ballpark of their EU equivalents throughout much of the US, I think the better question might be:
Why are software engineers' salaries so much higher in major US tech hubs than everywhere else?
What an engineer is paid in Columbus, OH, is very different than what they are paid in San Jose, CA.
My guess is the existence of outlier companies in these places that force salaries up. You have a number of large companies that make serious revenue-per-employee that demand the best (see: Google, FB, Apple, etc). Their bottom lines support paying more to hire from the top of the pool, and so they do, and over time the averages move due to this effect at all levels.
One of the defining things about these other job markets that pay considerably less, is the lack of major employers that are able to, and willing to, participate in this kind of price war with other employers. Some do not require top talent, and therefore there's no particular need to get into a bidding war with anyone else. Others simply can't afford to - since their revenue wouldn't support Bay Area-styled salaries.
Because devs get to keep more of what they earn? That should also be true for other workers but it isn't. It's really difficult to hide how much wealth is created through software.
I always like to point out that even the most junior developer can automate a task and save a company hundreds of thousands of dollars.
True, but companies don't reward employees if they don't have to. If anybody can save them hundreds of thousands of dollars then they'll get a normal pay.
They get so much because they'll be somewhere else instead. A race to higher salaries started at some point in the past and it's still going on. It's a difficult bubble to deflate until there are more jobs than people that can do them.
Why are software engineers' salaries so much higher in major US tech hubs than everywhere else?
What an engineer is paid in Columbus, OH, is very different than what they are paid in San Jose, CA.
My guess is the existence of outlier companies in these places that force salaries up. You have a number of large companies that make serious revenue-per-employee that demand the best (see: Google, FB, Apple, etc). Their bottom lines support paying more to hire from the top of the pool, and so they do, and over time the averages move due to this effect at all levels.
One of the defining things about these other job markets that pay considerably less, is the lack of major employers that are able to, and willing to, participate in this kind of price war with other employers. Some do not require top talent, and therefore there's no particular need to get into a bidding war with anyone else. Others simply can't afford to - since their revenue wouldn't support Bay Area-styled salaries.