Okay, but I just don’t think it makes sense to say that companies who cannot afford to pay market rates for software engineers are experiencing a shortage of software engineers, unless there is something preventing market clearing.
There are different markets. It's easy to hire full remote juniors on upwork for next to nothing. Hiring a senior staff superhero full-cyber stack-ninja who happily relocates to where you are... now that's not that easy. And thus on the low end you have a market glut and on the high end you have a shortage.
No, sometimes there is no zone of possible agreement (value produced is below market rate). In this case you can both have shortage and unemployment at the same time.
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.
>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).
>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.
If the value produced to my company by a software engineer is below the market rate for a software engineer doesn’t that just mean I shouldn’t want to hire a software engineer? Like if I run a performing orchestra I probably don’t want to hire an anesthesiologist at market rates because they will provide very little (if any) value to my business.
No, you can be existentially important to the company and still not produce market rate worth of value.
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.”
Yeah I made a simplification so you can explicitly compute expectation values and see that there is no ZOPA, but in the real world there is a thing called opportunity cost and people do choose to stay unemployed while looking for job because some jobs pay too low. This is essentially what I tried to demonstrate in my simple example.
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.
Market rate is whatever employees will take and employers will pay. If employers are having trouble finding employees at their rates, their rates are below market rates. If employees are having trouble finding work at their desired rates, their rates are above market rates.
>Likewise, if "market rate" is above "value produced by the employee" it doesn't make any sense to pay that much.
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.
I still remain in the "there is a mismatch of expectations" camp. If there is blame to be placed somewhere, I would assign the majority of it to new grads (and boot campers and self taught devs).
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.
Would the economy benefit from increasing the number of software engineers? In that case it is a shortage from the governments perspective and they should work to increase the supply either via immigration or by encouraging students to study those fields.
> In economic terminology, a shortage occurs when for some reason (such as government intervention, or decisions by sellers not to raise prices) the price does not rise to reach equilibrium. In this circumstance, buyers want to purchase more at the market price than the quantity of the good or service that is available, and some non-price mechanism (such as "first come, first served" or a lottery) determines which buyers are served. So in a perfect market the only thing that can cause a shortage is price.
> 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).
Infinite money is not required. As you raise the price of engineers, the quantity supplied of engineers may or may not increase, but more importantly the quantity demanded of will decrease. Once that happens, every employer willing to pay the market clearing price for an engineer can employ one, and every engineer willing to work at the price has a job. Hence, no shortage.
Are the 900 other companies are willing and able to increase their bids to poach the 100 engineers? They cannot all increase bids indefinitely - at some point, only 100 companies will be able to afford the 100 engineers, and at the point the market is cleared and there is no shortage.
Perhaps, but regardless, the other companies could still attempt to bid up, and if they're unwilling to, then they can hardly complain about there being a shortage.
Yes, there is. People are not spherical cows who will forget that they wanted top tier engineers.
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. "
Simply wanting something at a certain price and not being able to get it is not a shortage. There’s no shortage of penthouse suites at five star hotels just because I would like to stay in one but I’m only willing to pay $75 a night.
In economic terms, there is no shortage. There's a shortage in common parlance terms, sure. There is an easy solution - pay market rates. When people say there's a shortage of engineers, they mean there's a shortage of engineers at the price they're willing to pay.
Yes. And when people say there is a shortage of food, they mean "at the price they are willing to pay". But new engineers and new foodstuffs will not spring into existence when you add a zero to the price - therefore there is a shortage.
You might want to say but oh, more people will become engineers if salaries are higher! But that doesn't ship products this summer.
There are often real food shortages because of price ceilings. Actual food shortages can be seen when the shelves are empty and food cannot be bought at any price.
No, they mean there is a greater lack of engineers compared to other occupations requiring similar levels of education and therefore we should put more effort into educating and importing engineers. Saying we shouldn't focus on getting more engineers in those cases is just dumb, the economy would greatly benefit, you just want to protect your currently privileged position at the cost of society as a whole.
There is a lack of people willing to work for less-than-market-prices in every occupation. I'm not against encouraging people to become engineers or hiring foreigners. But there's simply no shortage if it is possible to attract engineers by raising the salaries you're willing to pay; you're just too cheap. And the side benefit of increasing prices is not only lowering the quantity demanded from employers unwilling or unable to pay market rates, but also raising the quantity supplied by enticing more people into the field with higher salaries.
>No, they mean there is a greater lack of engineers compared to other occupations requiring similar levels of education and therefore we should put more effort into educating and importing engineers.
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.
To be fair, if engineers from other countries can earn more money in America, that's an indication that their skills are better put to use here than elsewhere.
No it isn't because you can train 900 more engineers. If companies aren't willing to train 900 more engineers then demand is only 100. Willingness is expressed by the price. If the price is high enough people will train themselves even if the companies themselves aren't providing training.
Let's say you are a forward-thinking manager in a company making artisinal flowerpots. You know tech is the future and will set your company apart, and you want to build a top-tier team to take you there. You are willing to pay twice the compensation per engineer as google.
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.
Tangent: I've thought about this "bootstrapping dev hiring" problem before (you don't know which candidates are good because you don't have anyone technical to interview them)
I wonder if there's a business opportunity for a firm of experienced devs who do nothing but interview devs for other companies
It can go beyond hiring developers - companies may need help with deciding on initial MVP, organising development process, and regularly checking for a while if things go well.
You can invite an experienced contractor that can help you with bootstrapping development: deciding on MVP tech stack, hiring, and making sure the new team can deliver proper work.
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.
Eh, I don’t like this theory because it’s hard to get real numbers until after the interview. The employer should know precisely what they’re buying at that point.
> companies who cannot afford to pay market rates for software engineers are experiencing a shortage of software engineers, unless there is something preventing market clearing
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.
Good point, but it sounds like you’re disagreeing on the terms, not the ground reality of the situation.
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?”
Following that, wouldn't it be more efficient if companies said from the outset what their rate is? That would be a lot more efficient. Of course, the money the company is able to pay depends on the process and the business environment, and the company wants to hire as much qualification as it can afford. But nobody is helped if somebody goes through the interview process only to learn that the salary at offer will never match what he/she wants.
((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!)
FAANG salaries are not the market rate, it’s a market rate for specific companies for high qualified developers.
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".