137 comments

[ 3.2 ms ] story [ 206 ms ] thread
"Another way to attract and retain employees, and to support internal career advancement, is to engage employees in on-the-job education"
I don’t know why they suggest this before suggesting raising wages or improving conditions.

Offer 50k more or a 4-day-week and you won’t have a shortage of anything.

Actually providing a path for advancement is cited over compensation concerns in a lot of exit interviews I have seen
This will always be the case. The last thing the majority of companies want to do is provide a clear path to promotion and pay increases. Face it, the vast majority of non technical companies are all about cost cutting, doing more with less. Hence job hopping is how developers get promotions and raises.
I think a lot of those are code for compensation, though. It’s a lot more polite to say “I didn’t see a path to advance here” than it is to say “this other company was willing to pay me more” [or “I was tired of your particular flavor of bullshit”].
Because advancement offers what? Right, bigger compensation.
It's not just that though. It's also the oppertunity to work on more interesting things and less on day to day drudge work.
Beyond a certain point, though, advancement can mean less and less interesting domain-specific work, and more things like managing people, strategic decision making, presenting to executives and business stakeholders, and yes politics.

The only thing that is almost universally true about "advancement" is more compensation. So, if someone is complaining about advancement in their exit interview, it's very often code-word for compensation.

I've also seen advancement as a cover for "unfair advancement of others."

Which is sometimes the trigger for leaving: "why did they get the promotion when I have been-here-longer/work-harder/do-better-work?"

- Better comp (significantly better, not insulting 4% raises)

- Better working conditions (possibly including more respect and higher social status)

- Different work (sick of development, want to move into management or product or whatever)

- Better prospects for future employment ("when I'm a middling-quality 45 year old developer I might not be able to find a job anymore... as a middling-quality 45-year-old manager, on the other hand, I'll do just fine)

One or (probably) more of those are what people want when they talk about wanting advancement opportunities. The comp is pretty much always going to be one of the things they're focused on, as it's a big part of what distinguishes advancement from changing careers. The better pay and/or status is what makes it advancement.

> path for advancement

I'm pretty sure that's code for better compensation and better working conditions.

Because discussing compensation is impolitic. "Path for advancement" is often code for under-compensation.
(comment deleted)
ACM is an academic organization. So education is going to be the answer they reach for.

Software devs already make a lot more than most staff-level jobs. Why will another 50K shake out talent that is not already in the market?

I think the more likely approach is that companies are going to be more open to remote contracting in places like Eastern Europe, South America, India, and Southeast Asia. There are a lot of examples of this not working so well in the past, but there were also a lot of examples of WFH not working so well, until there was no choice and companies figured out how to make it work.

(comment deleted)
> I think the more likely approach is that companies are going to be more open to remote contracting in places like Eastern Europe, South America, India, and Southeast Asia. There are a lot of examples of this not working so well in the past, but there were also a lot of examples of WFH not working so well, until there was no choice and companies figured out how to make it work.

It’s very hard to hire and coordinate good developers abroad. We have some devs in India and Spain, but some directors spent weeks there talking to consultancies and ensuring they were hiring good candidates. They are cheaper local consultancies, but not much cheaper than local individual contractors.

One who plans to hire randos in east Asia and pay them peanuts, should prepare for troubles. Good developers may be a bit cheaper in India than in the UK, but they don’t come for free and they require non-negligible coordination costs.

Yep, but there are price points where it starts being worth costs. If you want to hire a team of 10 engineers (mix of junior/mid/senior) at an average FTE cost of $150k and are struggling to do it in the US, and could probably make it happen at $200k - $250k, the looking at hiring 10 engineers in another country for $80-$120k and hiring another 3-4 local engineers/managers at $250k to manage the coordination inefficiencies still probably comes out ahead.

You still need to hire (or get a vendor that hires) good developers or you'll be screwed though. I was burnt by some bad Indian outsourcing earlier in my career, but since then have worked with excellent firms from India, Ukraine and Columbia. But we paid top of market (for the foreign market) rates for that value.

> You still need to hire (or get a vendor that hires) good developers or you'll be screwed though.

And the best have a tendency to... end up in your local talent pool soon enough (jumping to companies serious enough to sponsor them).

"establish a dual career path for managerial and technical staff, and invest in employee education and training."

I have the impression that the article is assuming:

1. The work is already interesting for developers and they are learning and applying what they learn.

2. Developers are paid well.

3. There is a good culture.

You can either give me more money, or make me more attractive to those who will pay me more, so I suppose either way works for me.
The actual title is "The 2021 Software Developer Shortage Is Coming", which is what I had initially submitted, but it looks like HN automatically trims off "The" and the current year?
its very common to tag a year to the end as well, such as :

Software Developer Shortage Is Coming[2021]

That's really only used for old articles to give context and is not considered to be part of the title.
its a tag for the date and its a way of keeping the date in the title
Has it not already been here for some time?
That was my first thought - isn't that why I get two or three recruiter offers a day on LinkedIn?
> isn't that why I get two or three recruiter offers a day on LinkedIn?

Do people really get this? I get two or three a year.

Here's something I tell people - I was hired a couple of years ago from a completely cold LinkedIn message. Nobody else was sending me them so it really caught my attention that someone would be so interested in what I was doing!

Lots of people assume everyone's getting courted by recruiters - I think there's probably a very very long tail of decent people who aren't and are only simple a reach-out to away.

Yes. As an almost medior at FAANG I get 2-3 a day on average
Maybe your profile needs some updating. The market is HOT right now.
(comment deleted)
Linkedin has a setting somewhere to set your profile to "actively looking", have you tried that? I have done it previously and it always seems to result in a lot more recruiters reaching out.
(I'll just make it clear I'm not looking, before anyone takes the opportunity to now message me.)
I'm currently averaging about four recruiter emails a week, weighted towards Mondays. That's with nothing set to 'looking' and with nothing updated on my resume after my last round of job hunting. That number is also excluding the obvious mass-email mailing list ones that I delete immediately.
Wow I've never seen someone in that much demand!
To be fair, enough of them have similar-enough wording that, despite coming directly from companies, I suspect there's some kind of common data scraping and/or recruiting pipeline I may have fallen into.

Either that or I just accidentally did really good at the keyword game at some point.

Nice, maybe it'll help me steal a job in a country with way better currency and salaries
you live in Europe?
This hits close to home.
I do, and I would also like a job working for a US company that pays better than the UK. Email address is in my profile.
As a Canadian - I totally agree. One day I'll see 6 figures (and that's in our funny coloured money), but it's not this day.
How Can Companies Improve Their Retention and Hiring? Answer is simple, Pay the people appropriate salaries and remove micromanagers to improve conditions.
Actual raises would help. In every software dev job I've had, every significant pay increase has come from either switching employers or threatening to switch employers.
I think most HR departments are hoping people can't do math, and as such, raises should be expressed in after-inflation-and-taxation values. If we force credit-cards and car loans to use a standard annual easy to understand APR format, why not enforce simplicity on our incomes too.

I think my last raise, after inflation and income tax changes were taken into account, ended up being something like a 0.1% increase. I'm happy I'm employed and all, but lets stop pretending I got a "raise".

> I think my last raise, after inflation and income tax changes were taken into account, ended up being something like a 0.1% increase.

My last raise was actually a decrease when compared with inflation. I took on the responsibilities of a dev that left and a lead that didn't lead.

I asked for a raise and they gave me what they said, "Was the best we could do."

I left and got a 40% raise somewhere else, and started a mass exodus once others knew how much I got offered.

I'm pretty sure that company now outsources all development aside from a couple people who stayed to start their career. They were already beginning to outsource development jobs, and we could all see the glass ceiling that was installed on top of our heads, despite being told it didn't exist.

I wonder if instead of asking for a higher raise, if there is better luck asking for a promotion. A promotion can typically be justified as getting an additional 10 - 15% bump in pay on top of the last merit increase, and can happen at any time of the year. Technically you are leaving one role and getting hired into a new one, but at the same company.
This is exactly what I've been telling some friends who've been at the same jobs for the past 5 years getting 3% standard raises. They don't even take into account the inflation (which itself may be underestimated). I always tell them they're actually losing money every year by staying at those particular jobs.
This is exactly what frustrates me so badly, with yearly performance evaluations. I was working at Sony for 3~ years. I would receive "Exceeded Expectations" as the evaluation, and raise matching the inflation :D, then they expect you to show gratitude and appreciation :D

It is almost an insult at intellect of anyone working at a knowledge work.

So, I switched to consultancy instead. No longer, annual performance review bullshit. My hourly rate is so high, they don't waste my hours with such crap anymore. That has been my new motto for career "If they're filling your time with crap, you're being underpaid for your time". Make them think twice for using your time.

It's going to be even worse now. I can tell already.

I live in a low wage area. Most of you would be embarrassed to know what I'm paid (glass door says bottom 10%). Now that remote work has open up my job market to the entire country, recruiters are reaching out to me and when I ask for double my salary, they say okay without hesitation.

There's 0% chance of me getting a 100% raise at my current role. My last one was 2%.

Ask for triple then. You want them to hesitate.
The best I've seen is having a salary range for each grade level. At a large company I worked at during the late 90's to mid 2000's, I was hired in as an "E5". Raises above and beyond cost of living increases would be based on exceeding performance goals for that grade level. You would then move up in that grade level's range (which gets adjusted every year based on inflation). That in turn would be an indicator of those that need a promotion into the next grade level / salary range (and the promotion pay increase is independent of the cost of living / merit increase). In my case I went from an E5 up through and E7, then the company outsourced us (was a re-badging, all employees affected were hired by the outsourcer).

From what I remember this company had something like 20 different E levels, going all the way up to what would cover the C levels. And each job category had specifics that were required to move into a given level. For example an E5 would be basic systems administration, E6 would include scripting/programming, something like an E8 would include architecture type roles.

It really surprises me that more companies don't do this. Really helps with transparency, and when you hire someone you pick which grade level they get initially placed in (so there could be a group of job reqs that cover multiple grade ranges, and the new-hire gets slotted based on how they interviewed).

Not that you are wrong but still LOL. The only place JIRA slaves would go from micro management to nano management or some such.
I wouldn't mind the micromanaging if I was payed double
If there were more companies where you could work 3-days a week with 60% pay without requiring any special approval, I'm sure they would improve retention and attract a lot of candidates. It seems like this would work well with the move towards part-time remote setups that many companies are trying out now. FAANG companies pay their employees very well but their average tenure per employee is still very low.
This article is absurd, the statistics are entirely around "computer and information science" degrees - note this is NOT comp. sci. What software developers do any of us know with that major, lol? As if the # of software engineers in the job market is tied to that major at all (or any specific major, really)...
what? i'd say ~90% of the people I know in software have CS degrees, and the balance have EE, CE, or no degree at all.
CIS is not computer science.
I understand that there are many people who want to insist that "computer science" is not programming, and that computer science degrees have nothing to do with programming.

At the same time, many of us went to college and got degrees that our university called "computer science" and we learned how to develop software and became software developers. and people continue to do this.

That's not relevant to the point they are making. CIS is a different major than CS.
(comment deleted)
(comment deleted)
> "computer and information science" degrees - note this is NOT comp. sci

If you read the reference, you'll see that the phrase 'computer and information science degrees' really means all degrees related to computer science, information science, software engineering, etc. It doesn't literally mean a degree called 'computer and information science', like you think it does. So yes it does include anyone with a computer science degree.

The reference does not state what other majors are categorized under CIS, unless you've got a link?
The article says:

> bachelor's, master's, and Ph.D. degrees in computer and information science (CIS). [6]

So your first strong hint is already here without reading anything else. They say 'computer and information science' - they don't say 'Computer and Information Science' so it already looks like it's not a proper noun and they are talking about a group of degrees not a specific degree.

But that [6] takes us to this:

> 6. National Center for Educational Statistics. Digest of Educational Statistics. Tables 322.30, 323.30, and 324.25, (2020); https://bit.ly/3opVMCL

Look under Chapter 3, Section 322, and you can see a table of degree classifications, Table 322.10.

You can see how broad each class is, and that 'computer and information sciences' (again lower case)' are listed alongside other broad classes such as simply 'engineering'.

Footnote 3 again makes it clear they're broad classes:

> Includes Engineering technologies and engineering-related fields; Construction trades; and Mechanic and repair technologies/technicians.

Thanks for the reply! I'm glad you're able to click the link and read the same table, which does not clarify what majors are categorized in these groups. Another user posted a category 11 link, for example, where CIS includes "word processing" degrees, while excluding CE & EE (but still, the table does not claim that their statistics under that grouping are category 11).

Do you work with a lot of software developers with word processing degrees?

> which does not clarify what majors are categorized in these groups

Ok, but we now understand it is a group of majors, and not a single major or degree, right?

I'm sure its an poorly defined group, yes.

> Do you work with a lot of software developers with word processing degrees?

I work with software developers with an almost endless variety of degrees and non-degrees.

Maybe companies will finally start hiring new developers, instead of starting each of their positions at 2+ years of experience?
I am an experienced developer. Worked in many companies, last term 4 years. Current back end Java and other skills. Looking for work for more than a year. Can't find a position - no good reasons when rejected after interviews. Becoming skeptical about actual developer shortage in Bay Area.
> Shortage of abused developers who work for peanuts*

Fixed title a bit.

Yep, as evidenced by the fact that FAANG seems to have no issues finding new developers.
FAANGs can afford to pay very high salaries. Good for the devs who can get those jobs. But there are quite many companies that cannot match FAANG level of pay but still pay well and have a good environment. Are you saying that unless a company can pay FAANG level, they should struggle to find devs ?
I'd happily hire a full time live-in butler for minimum wage plus room and board. Are you saying that unless I can pay the market rate, I should struggle to find a butler?
"pay the market rate"

Is FAANG salary really market rate ? That's the question.

It's the market rate for a live-in butler. If you can't afford that, maybe just get the cleaning staff who comes in once a month and order pizza once a week.
I'm not saying they should struggle, I'm saying they should re-adjust their expectations on how many/what level of engineers they can get. You can't get greatest level of engineering when those engineers have options that pay them 2-3x what these companies are offering.
If they are struggling to find devs, then by definition they do not pay well enough.
Are you saying that unless every company can pay FAANG level salary, they are not paying well enough ? For example, lets say a tech company in Boise Idaho can pay 120K salary for a senior dev while FAANG pays 200-220K for similar role but you work in California. Should that company in Idaho struggle to find devs ?
If they aren't getting the people they need, yes obviously they're not paying enough.

What other definition of 'paying enough' could you possibly use? You pay people to get them to work for you. If they aren't willing to work for you then you're not paying them enough to work for you.

> Should that company in Idaho struggle to find devs?

Not sure how we've got to saying I think they 'should' struggle to find devs? I think they probably will though.

Tell me how do you define 'paying enough' that isn't measured by some metric like 'getting people to work for you'?

You can’t get a senior dev for 120k. Market rate for a senior dev is easily approaching 200k and that doesn’t count FAANG (in which case total comp for a senior dev looks like 400k /year). These numbers are only going up, due in part to reasons mentioned in the article.

It’s totally possible that many businesses are not viable.

There is room to get that money for the most part though. Pull it from exec salaries.

"You can’t get a senior dev for 120k"

In Boise Idaho ?

Yeah. Locally you’d be making like 170k at least and with remote, you’re back up to market rate of 200K+.
> For example, lets say a tech company in Boise Idaho can pay 120K salary for a senior dev while FAANG pays 200-220K for similar role but you work in California. Should that company in Idaho struggle to find devs ?

Why not pay 200-220K? That's the market rate now.

Yes. If they want FAANG level developers, they will have to pay FAANG level salaries.
FAANG employers are always complaining about talent shortages.
I mean from their perspective, of course, they would want there to be 100x the amount of talent, that way they can just pay less. But the fact that they still have thousands of new hires every week and the fact that they are still turning down highly qualified candidates tells you that they are doing just fine.

I've interviewed many candidates and even the ones that were really good got rejected which is kind of sad to see.

(comment deleted)
Every successful company is always understaffed, because they're growing faster than they can hire.

Most of them mistake that for talent shortage.

And yet I've seen plenty of people leaving for less stressful companies.

The world-wide pool of *good* developers is not infinite and both Amazon and Google have been lowering the hiring bar...

It's an interesting topic. From my observation industry is divided. For well-paying companies there is an influx of candidates - these companies can be very picky and calibrate hiring process to get the best of the best. Whatever it means in FANG+ big tech context.

On the other side, there are plenty of small, medium, mediocre, old-school places and these companies have to fight for talent if they don't pay a top dollar.

I think I've read that same article every year for 40 years.

Gotta love it.

This is actually more focused, specifically on the effect the pandemic has on how many new development-related graduates are coming into the market for the next several years.
(comment deleted)
Whenever I read labor shortage, I just replace with wage shortage.

Calling something a labor shortage is a political choice.

This isn't really much of a revelation or hot take. That's literally what an economist means when they say there is a labor shortage. The graph for labor shows the intersection between the quantity supplied and the price it is supplied at. It would be meaningless to talk about one without the other.
No, shortage in this context is actually a colloquialism, it is not what an economist means when they refer to a shortage.

In this case, business owners are using this as a short hand for "the market equilibrium price for this labor is too high!" The only people imposing price ceilings here are the managers themselves for their individual firm.

My argument is that this is a bad colloquialism, and a political one.

> the market equilibrium PRICE for this labor is too high

Are you saying that an economist wouldn't say we are in a labor shortage right now? Because that is dead wrong.

So then an economist would say that we are in a labor shortage but what they mean is that not enough labor is being supplied at THE CURRENT PRICE? Right? As in that is what an economist means by a labor shortage.

So I really don't get what you are saying.

https://en.wikipedia.org/wiki/Shortage

Look at the difference between the "economic" and the "common" usage.

Namely,

> There are almost always willing buyers at a lower-than-market-clearing price; the narrower technical definition doesn't consider failure to serve this demand as a "shortage", even if it would be described that way in a social or political context (which the simple model of supply and demand does not attempt to encompass).

If we've failed to reach equilibrium price for some reason or other, it is because of monopsony effects - namely firms failing to raise wages to equilibrium level. It is in this sense that I think flipping "labor shortage" to "wage shortage" is valuable.

The colloquialism means the exact same thing as what the economist means and it's because the term was taken from the economics vocabulary and is only ever used specifically when discussing economics even if by non economists.

There's not a shortage of human beings. There is a shortage of human beings who want to work at the current market prices. No matter how many ways you try to twist it a labor shortage implies information about wages.

Not the person you're arguing with, but you're on the wrong side of this one. It's a shortage if there's an artificial constraint on price such that raising or lowering prices can't affect the supply.

Say I'm shopping for breakfast. I go to the store and see the price of avocadoes, they're $5 per avocado. I say, "Damn, the price of avocodoes has gone WAY up! There must be a shortage of avocadoes." That's fine to say in a colloquial sense, meaning that, for whatever reason, avocadoes are more expensive, and you're figuring demand hasn't gone up, so that something must be going on with supply. It's not a shortage in the technical sense, though. It's just the market working to supply avocadoes, which may be cheap or expensive depending on supply and demand.

Now, imagine congress passes a law that says all avocadoes must be sold at $3. What follows this is likely to be a shortage in the technical sense, because the market can't incease prices to encourage more people to farm avocadoes, increasing supply. There will be people out there that would pay more for avocadoes, and they won't have avocadoes to buy.

SO yeah, we're not in a labor shortage. Companies just don't want to pay for labor at new prices because they're so used to paying much lower prices. Once companies start paying higher wages, more actors will move to take advantage (people coming out of retirement, people starting bootcamps, people switching careers, w/e), which will exert stabilizing or downward pressure on wages. This is all just the normal action of the market. A decrease in supply is not a shortage, it's a decrease in supply.

I agree with you, but to be fair it can be both - if the demand for senior engineers outpaces the supply, you can't just make more senior engineers overnight.
Not all demand needs to be filled. I have a demand for a $10/hr senior software engineer who would do my job for me while I chilled on the couch, it doesn't mean that we have a shortage of engineers or that we need to be intervening to increase the supply.
Maybe it's just semantics, but what I mean is from a utilitarian perspective, we can still lose out. For example imagine a life saving surgery without enough doctors who can do it. On one hand those doctors would be well paid, on the other hand we'd likely be better off as a society if more people could do it.
This is the power of the price system and markets. If there is increased demand, with limited supply, prices rise. This, in turn, incentivizes the creation of supply (and supply of substitutes to the extant that is feasible).

For your example, at high enough prices, some doctors will change specialties, forms of automation will be encouraged. Teams of practitioners will be formed that allow the doctors to do back-to-back procedures while others like nurses handle preparations, medical tourism will occur while some seek out potentially less-trained doctors in countries will better supply or lower-regulation. More will be encouraged to go into medicine, alternatives like medicine will be investigated, fake-cures will be promulgated from the unscrupulous.

I wish there was a shortage - it'd help shift the power dynamics from stupid people with money funding uber for cats, to people who have a modicum of sense.
> Companies can get ahead of the shortfall with two strategic steps: establishing a dual career path that allows employees to grow, and investing in employee education and training.

This advice is really tired and has worn thin over the years.

The effects of the pandemic are not specific to the computer programming industry. Every industry in every area is experiencing a post-pandemic talent shortage, and the solution is going to be the same in every case: raise wages. Yes, it's really that simple. The last companies to realize this are going to be the last to solve their staffing problems.

But the programming world will be hit with a one-two punch. Devs don't spend money on expensive training courses and certs to gain skills; we just get hired somewhere and then pester our co-workers. This is why junior dev jobs are always on site. No one wants to hire a junior developer remotely. When all the software companies went full remote, they just took a break from hiring juniors (!).

Junior-level hires are charity, senior-level hires are desperation, and mid-level jobs drive the industry. In about 2 years, we'll be dealing not only with more demand for mid-level talent but less supply -- a lot less.

Companies need to raise wages and get back to hiring juniors, pronto.

> Companies need to raise wages and get back to hiring juniors, pronto.

It's time to hedge against inflation too.

Scary, but true. It's 100% inflation. I don't know what else to call it.
(comment deleted)
> The effects of the pandemic are not specific to the computer programming industry. Every industry in every area is experiencing a post-pandemic talent shortage, and the solution is going to be the same in every case: raise wages.

Companies can’t raise wages beyond what they have. Gamedevs will never be able to compete with FANG because most games devs lose money and FANG profits billions per quarter.

Grocery stores can’t hire fast enough. They also earn less than $5000 annual profit per employee. So they can’t raise wages without also raising prices.

Now you could say “then those places deserve to go out of business”. Maybe so! But that doesn’t mean a profitable business that can afford larger wages will magically rise from the ashes.

The current jobs situation is really really weird imho. For both fancy white collar jobs and low wage jobs.

> So they can’t raise wages without also raising prices.

How much would they have to raise prices? A few pennies on a bag of rice or flour, or a carton of eggs?

If prices went up 1% on every single item in the store as a result of bumping up salaries, although it won't go completely unnoticed, I'm guessing the majority of buyers would not change anything significant about what they purchase.

> When all the software companies went full remote, they just took a break from hiring juniors (!).

This isn’t true at all. Where I work, we hired more junior engineers than ever before during the pandemic. We were hybrid colocated/remote (mostly colocated, plus me!) in the before times. We had certainly hired juniors before, but we hired a lot more and we’re able to source them from all across the country. It’s been fantastic, and onboarding and training junior engineers remote isn’t the impossible task people make it out to be.

Good for you & your company! I’ve been watching the job stats and noticed a slump in junior positions.
And I'd say it was common, at least before the pandemic. Our remote-first company rarely hired very junior engineers, partially after a little trial and error, including finding that hiring someone who already had remote experience would typically have a higher chance of succeeding. Not that it was required, but it was a better guarantee that things would generally go pretty well.

On the flip side: we've also had one experience with an absolutely fantastic junior contributor, who we got as an intern. Unfortunately, this person wanted an on-site experience, and we couldn't give it since we are fully distributed.

Having better techniques and approaches to help get junior developers more engaged, trained, and leveling up is good, but there are a lot of intangibles - including the social aspect - that simply don't work great for many young people fresh out of college or other training.

If you've been watching the stats then you should have a citation on hand to show some of those statistics, otherwise your comment sounds dismissive and condescending to the person you are replying to.

In addition, since you made it sound like your hobby is compiling these statistics but didn't bother sharing them, it makes me think you haven't actually been following anything and are full of it

(comment deleted)
Or we could try moving away from the full-time thing and run the field under a contract model instead of initiating an arms race?

This crunch is entirely the fault of the c-suite.

Yep it's another labor shortage. Guess we'll have to bring in foreign developers who we have more leverage over and pay much lower wages to. Sorry, but we have no other choice. (Pay no mind to the 10 million unemployed Americans)

Sincerely, Management

That's just invisible hand of the market at work. Why should a company spend more than it has to? Isn't this what the oh-so-sacred capitalism is all about?
I pay taxes to the government supposedly so that it will act in my interest. I'd like it to do it's damn job for once.
Except you are not the only one paying taxes (and lobbying) and now the government needs to come up with solutions that satisfy everyone, with the current approach seemingly being that regulation is a slippery slope to socialism and eating bark off of trees. In order for the government to limit outsourcing (which IMO would increasingly happen if you ban immigration), you'd have to impose limits on what private companies can do with their own assets - I don't think this'll fly.
Well a solution that satisfies everyone is impossible, but most people derive the vast majority of their income from labor, not capital assets, so policies that prevent expansion of the labor supply will benefit the vast majority of citizens.
Agreed, some large fraction of those 10M unemployed Americans should learn how to code at some level (could be a CNC machine, could be Excel, ..., could be Python) to get to employable.
To put it a bit more precisely, there is neither a developer nor labor shortage. There is a skill shortage. Companies don't pay you for being a "developer" or "labor", they pay for specific skills and the ability to apply them effectively and competently.

There is a persistent shortage of many skill domains in software. The barrier is that, in many cases, there are few paths to acquiring those skills aside from years of diligent self-study and experience, so it isn't simply a case of manufacturing them on demand. These are the highly paid jobs that are going unfilled even with stratospheric wages, and the demand in some of these skill areas is growing rapidly with no matching increase in supply.

In some skill domains, the market clearing wage for an experienced developer is around $1M right now. I would think that should provide sufficient incentive if increased pay could solve the problem.

> Companies don't pay you for being a "developer" or "labor", they pay for specific skills and the ability to apply them effectively and competently.

Companies tend to be way too specific about the skills required and any learning curve is not permitted. I've used just about every desktop UI framework under the sun and a whole bunch of web ones, but companies that need react developers won't look at me for instance. There might be some highly specialized skills that can command a premium but those are mostly rare exceptions.

Along with companies not training there's also been a shift away from specialized roles and requiring all devs be experts in every tech the company uses past, present and future. When they hire someone that knows x "just in case" they're shrinking the talent pool available.

> Companies tend to be way too specific about the skills required

This is true at least for finance and (technical) hedge funds.

Having observed from the sidelines over the last few years, a common pattern has emerged. Companies realise out that they have a skill or functionality gap (good), figure out what an ideal candidate would look like (fine), carve out a very specific pigeon hole in their organisation chart for that person (wait what), and then start hiring to fit that pigeon hole exactly.

I guess that makes sense if you can afford to wait for and/or poach the ideal person. For mere mortals it feels absurd.

Sometimes, sure, but not always. High-performance data infrastructure, for example, is a rarified skill set in practice, and the people that know how to do it have been doing it for years. If you have this skill and are good at it, you can make much better than typical FAANG wages because the demand so exceeds supply. But there are very few people with these skills generally and the supply of new people is not meeting that demand. You definitely can’t learn these skills in a short period of time, the skill set is very deep.

I’m using the above domain as an example because I work in it and see the calculus but there are many others. If the number of people that could do the above doubled tomorrow, they could be absorbed instantly by the demand. In a sense it is a market failure in that the demand signal is clearly there with pay to match but very few people with the necessary skills manifest.

What kinds of technical skills do you see as particularly specialized/uncommon and necessary for high-performance data infrastructure work? Curious for some detail there
What skill domains are the hottest right now?
Easy solution: fire 50% of middle management and use the saved money to raise software developer salaries. Firing 50% of middle management alone will (for most companies) increase productivity. Especially if you fire the middle managers who are busy in meetings all the time (they are the incompetent ones).
Not only you'll raise salaries and keep devs happier. You'll get more productivity, since those managers like to fill their calendar and yours with useless meetings.
Here is a totally different view from Europe. I have 20+ years of career in R&D, consulting, startups and multinationals, publications in 1-tier conferences, lots of Java/PHP, a bit of Cloud, Big Data and ML experience. I grew up to IT Director, downshifted to a SSE at a unicorn.

I've been searching for a new job for over half a year in Europe. Mostly remote. I am willing to do legacy programming. My only requirement is to work on a product creating real value. But I always bump into artificial niches: GDPR/CCPA/KYC compliance, all sorts of crypto, yet another social network, data mining users, trading floor software... Exactly the sort of things I am tired of.

There is no shortage of software developers, but a big shortage of decent work.