Companies don't want to hire generic software engineers, there is a huge demand for software engineering skill sets that are extremely difficult to learn, and which can only be acquired after years of diligent effort and experience. This is where the gap is and no amount of paying more will create a larger supply. Some software engineering expertise is already paying in excess of $1,000,000, and there are still severe shortages. That's not a "wage shortage" unless you expect me to believe that software engineers are choosing to grind away on ERP software for $150k instead.
The highest paying software engineering skill sets are the most difficult ones to fill. Software engineering skill sets are not fungible. The highest paid ones are often those with the least elastic supply.
>That's not a "wage shortage" unless you expect me to believe that software engineers are choosing to grind away on ERP software for $150k instead.
There are a ton of software engineers who are grinding away on ERP software are capable of handling the vast majority of work at most SV companies. Many of them can't pass leetcode style interviews despite being capable of doing the actual work. Some of them could but don't think they could. But that leaves plenty of engineers who just don't think the prep time is worth it. Those are the people who you could convince by increasing wages.z
I've worked with many smart software engineers in specialties outside of backend web development/distributed systems who are capable of retraining in a matter of months and would retrain if the pay differential were high enough.
Of course the other option is for companies to come up with more realistic hiring tests, lower the bar and fire quickly, or train employees and set a realistic retention budget.
These days, people with this skillset are commonly employed to design data infrastructure software for cases where open source software has material deficiencies in terms of scalability, performance, or efficiency. Optimization of complex AI/ML processes is another emerging area where I see friends being hired. It typically isn't a leetcode style hiring process.
A software engineer cannot be retrained to do this role in months, the domain is too deep. It requires multiple years of diligent self-study to achieve functional competency, plus many more years for mastery, and I've never seen an exception to this. Much of the essential theory is diverse and never covered in undergrad e.g. greedy routing theory, universal sequence prediction problems, agreement-free consistency, etc. Efficient reduction to practice on real hardware is esoteric, non-obvious, and poorly documented. You need similar levels of low-level knowledge about how silicon behaves as software optimization specialists. In most cases, all existing software is demonstrably unfit for purpose which often implies a likely requirement for inventing a novel and/or unorthodox software design that is superior to what has been done before (the alternative is that all popular implementations that might be fit for purpose are just really poor, in which case you do a blank-sheet implementation of a conventional design).
Consequently, the new talent pipeline is almost entirely sourced from people who devote years of their life to mastery solely because they love the problem space. We simply have no practical way to produce this skillset at a rate sufficient to meet demand. In principle you could build a full-time educational program that focused on training people up effectively but it would still require years to produce more talent like this.
I’d be very interested to hear more. Do you have a blog, or can you point me to any relevantly communities?
I posit that the "hot" market is the marker of inflation. The money running around leads to more competition for talents and competitive fields is where, I assume, inflation should show up most easily.
I know I might sound anti-worker, I swear I am not, I just attempt to get as close to the truth as my small mind allows me.
As for people who don't know how to code retraining to be SWEs - since becoming a "senior software engineer" takes at least 5 years, you'd have to wait 5 years to see a result, irrespective of how much you increase the wages.
The question is, how inelastic is supply? "Labor of a senior software developer" isn't like "a widget" in that you can pretty simply create more of them. It takes years and special training to create senior software developers.
This means the supply is inelastic over the short term, although in the long term more people get the education to become one.
That means that doubling salaries might not have the effect you predict.
But let’s say there are 100 heart transplant specialists in the US getting paid $1M per year, but you need 200.
You can increase their wages as high as you want and you can’t create 100 of them out of thin air.
I’d suggest for highly technical roles, shortages can exist.
Unskilled or semi-skilled labor is a better fit for your statement.
In the medium term, you'll start attracting doctors from related fields who are willing to retrain.
And in the long term, paying more will attract more candidates graduating from med school who will be performing useful work in 5 years or so.
In software engineering, attracting engineers from other less profitable industries wouldn't take nearly as long.