Example, you have labor force of 10 people. All jobs have mandatory stay of 2 years. 6 companies have an opening each that pays 1 mil/year. The openings are staggered so 3 jobs are available on odd and 3 on even years (and last 2 years). 50 jobs are posted with a salary of 100k/year. These salaries represent value produced to company and cannot be raised. All applicants have equal chance to get a job they apply to.
The minmax solution is to not take a 100k job because of opportunity cost (you won’t get a chance at the 1 mil job next year). So you have both 40% unemployment and massive labor shortage (56 openings but only 10 viable candidates).
You might as well make an argument based on the premise that pigs can fly. Contracts like that are basically unheard of in the US, outside of top executives and a few rare industries like professional sports.
>These salaries represent value produced to company and cannot be raised.
This means the company needs one employee at minimum. If it loses that employee it will not produce value. Therefore it is in the best interest of the company to hire two people, the first position is compensated as much as possible, the second is compensated one dollar more than the lowest competing position that got filled.
Thus, the top offer becomes $899999 and the lowest offer becomes $100001. However, there is a problem. We have 12 positions but only 10 people. The companies will have to outbid each other on the lowest position until all salaries hit market rate, which is the average of the top ten original positions (6 times 1 mill 4 times 100k) that market rate is $640k for everyone.
The 100k jobs never get filled and they shouldn't get filled ever, because a lack of customer demand will never be a shortage. (the assumption in your scenario is that training costs exceed $1000k and therefore it never makes sense to increase the labor pool)
The mistake you made in your scenario is that you did not mention price controls enforced by the government. In a free market companies will negotiate and adjust their salary. The lack of training is acceptable for a thought experiment though.
Maybe not -- for example, we don't know if there are other permanent employees already, and then, not hiring more people can be acceptable
Example: Virtual Widget Co has one employee. The company makes $120k/year in revenue (and so max cap for compensation is ~100k/year because of whatever other costs). If the employee leaves, the company would not be able to continue and will fold. However, the employee is one of the 10 from my previous example, to minmax their own income they should leave the company despite being indispensable to it/the company folds after they leave. No other qualified person would apply for this job either. In fact, it might even be that the average unqualified person’s wage is far below 100k but even that doesn’t help.
A better statement would be “Virtual Widget Co shouldn’t exist because it doesn’t have a viable business proposition”. But this can be counterintuitive in the context of 40% unemployment (4 out of 10 in my example). A more real-world analogy would be “lots of businesses are viable only in the presence of slave labor.”
Likewise, if "market rate" is above "value produced by the employee" it doesn't make any sense to pay that much.
There are lots of companies out there that need some tech and some programming, but when the company revenue is only a few million that has to span a few score employees, and costs... its not possible to pay the small handful of devs six figures and keep everything in the black.
Likewise, there are new grads that are scoffing at working for 2x per capita income for the area in the midwest when that's less than 100k (and then complaining that they can't find any jobs).
There is a mismatch of expectations - possibly on both sides of the table.
It also means that somewhere out there is a business that can actually produce enough value to pay market rate and you should work for that company instead.
With the dominance of tech in the mindshare of people looking for a job, they're only looking at well known tech companies. Apple, Google, Facebook, etc... and these are also the places that can afford to take a risk on a new dev as they've got the institutional inertia to help carry someone along.
The flip side of that is that many people entering the job market don't consider companies like Dominos (only pizza company with a software patent), UPS (that whole 'don't make left turns' navigation thing), Target (early leader in data science), or McDonalds (hiring for some neat stuff in AI drive throughs).
Next, new grads are often expecting that the wages that the big tech companies can offer are standard across the field. I've more than once seen on Reddit a new grad getting an offer (that they applied to) in the northern Great Plains and then backing out when they were offered 70k to work in Fargo.
Another version of the "where are you applying" is that they're only applying to companies in Seattle, SF, and LA and then complaining that they can't find a job.
The idea that seems to be consistent with these new grads is a "I am worth $100,000 and I won't accept anything less." There's a consistent statement that the person is worth that much rather than the work that they do is worth that much.
Spend some time in /r/cscareerquestions to get more of this.
Those trying to hire aren't blameless in this. Expecting developers to fit nicely into the same payroll box as everyone else who reports to a manager in the office with a white collar job could very well mean that the offer is well below what someone with the necessary skills would accept.
My rough ballpark for what a dev should get (with large error bars) is 2x per capita income for the area. That tends to get fairly close to acceptable.
> In common use, the term "shortage" may refer to a situation where most people are unable to find a desired good at an affordable price, especially where supply problems have increased the price. "Market clearing" happens when all buyers and sellers willing to transact at the prevailing price are able to find partners. 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).
Edit: here's the definition that everyone is using, which you posted earlier
> In common use, the term "shortage" may refer to a situation where most people are unable to find a desired good at an affordable price, especially where supply problems have increased the price. "
Importing engineers is just poaching engineers from other countries. It's the same thing.
Educating engineers is a matter of compensation. Given a high enough salary people will get the necessary degree. The only other thing you can do is cut education quality and just let more people pass.
Now a deluge of engineers show up for interviews. How do you tell which ones are top-tier and which ones are third-rate? Even tech companies struggle with this problem; surely you'll have no chance.
You know you'll get mostly third-rate, because those are the ones looking for jobs. So instead of overpaying, you adjust your pay downward to compensate.
So it looks like there's a shortage to the company (because the top-tier engineers aren't appearing even though they are willing to pay), but to top-tier engineers it looks like they are underpaying.
I wonder if there's a business opportunity for a firm of experienced devs who do nothing but interview devs for other companies
Sure, you need someone to refer a good contractor to you first, chicken-eggs problem.
I wonder if there are companies that can help with it as well - not shops that try to convince you to outsource the whole development to them.
By definition, the market rate should involve zero shortage. That said, search costs and regulatory barriers are significant frictions. In the midst of an unforecasted surge in aggregate demand and you have an explicable event.
Lots of companies can’t afford to compete with G / Fb / etc for principal engineers. (And many companies who should hire good people cheap out and don’t spend the money.) Thus lots of important, otherwise valuable projects are staffed by people who struggle to take technical responsibility for the tasks in front of them.
This becomes self reinforcing - senior engineers have a lot of market power. They (we) generally don’t enjoy working on projects with mountains of technical debt alongside the processes which have a track record of creating them. “You’re really talented. Why would you work at a bank / corporate?”
Labor supply isn't perfectly elastic - there are only so many people who are capable of doing a particular job, and it takes time to train more.
On top of that, of the pool of folks who could get trained up, some of them wouldn't be interested in the work at any rate of pay!
((BTW this is why in my case, I decided to leave the UK for mainland Europe - most job offers in the UK were at little more than half the compensation from what I had earned in Germany before. And the difference was even larger when factoring in the cost of housing!)
On another market, I have a small agency, and I simply don’t see how a developer could provide enough value to a client on a typical web project so that we could bill the client enough to pay the developper that kind of salary.
That discussion motivates me to try to increase our rates though.
Edit: clarification of "justify that kind of salary".