Software Developer Shortage Is Coming
cacm.acm.org
cacm.acm.org
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.
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.
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.
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
I'm not dismissing ntietz. I'm only remarking on general trends. It is a hobby of mine to watch programmer job trends and I'm in the process of compiling my new report for 2021 right now.
https://www.propellers.io/blog/will-it-really-look-great-on-...
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.
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.
It's time to hedge against inflation too.
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%.
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).
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".
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.
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.
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 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.
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.
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.
Calling something a labor shortage is a political choice.
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.
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.
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.
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.
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.
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.
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.
Offer 50k more or a 4-day-week and you won’t have a shortage of anything.
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.
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.
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.
And the best have a tendency to... end up in your local talent pool soon enough (jumping to companies serious enough to sponsor them).
- 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.
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.
Which is sometimes the trigger for leaving: "why did they get the promotion when I have been-here-longer/work-harder/do-better-work?"
I'm pretty sure that's code for better compensation and better working conditions.
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.
Sincerely, Management
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.
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.
Either that or I just accidentally did really good at the keyword game at some point.
Cool word.
Software Developer Shortage Is Coming[2021]
Fixed title a bit.
I've interviewed many candidates and even the ones that were really good got rejected which is kind of sad to see.
Most of them mistake that for talent shortage.
The world-wide pool of *good* developers is not infinite and both Amazon and Google have been lowering the hiring bar...
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'?
Why not pay 200-220K? That's the market rate now.
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.
In Boise Idaho ?
Is FAANG salary really market rate ? That's the question.
Gotta love it.
This crunch is entirely the fault of the c-suite.
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.
> 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.
Do you work with a lot of software developers with word processing degrees?
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.
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.
It'd cover everything under CIP code 11:
https://nces.ed.gov/ipeds/cipcode/cipdetail.aspx?y=55&cipid=...