The STEM Crisis Is a Myth (2013)
spectrum.ieee.org
spectrum.ieee.org
"There is a shortage of STEM graduates at the price I want to pay."
You can say there is not shortage of anything if you want to pay a good price. Then ignore what I said or remove the word 'shortage' for your world.
instead, get a decent software engineer job instead, without degree, without any real world experience.
If the market is the same in biology and programming related jobs. I would get job related to my degree.
It is obvious there is a shortage in people who have programming skills.
I manage to get above average productivity compared to my coworkers. I realized that even more shortage for productive software engineer.
sure, any adjective is relative.
I told him he could triple his salary if he applied for non-research positions. He's now a research developer at a pharma company making three times as much.
Many hard science STEM graduates don't realize that their programming skills (even if they're not totally honed) will make them more valuable on the market. If you can find a position that uses both your degree skills and programming, then you'll be a unicorn to that company.
There is a gap between cheap and the good price. Sometimes "cheap" is too cheap.
http://fightthefuture.org/articles/hr-170-will-all-large-com...
Isn't it just the opposite? The large consulting companies are the ones paying these low wages. They submit a lot of applications and, because it's a pure lottery system, soak up a large portion of the available H1B visas.
This means that small, struggling companies like my own cannot hire H1Bs to get the talent that we desperately need. A higher wage floor or an auction system would mean that we would actually stand a chance at getting an H1B visa approved for the 1 hire that we need.
> However, I think what we’ll actually see are large companies in tech hubs like the bay area, Seattle, Chicago, New York and others, start to absorb the largest swatches of the immigrant talent pool, while shorting smaller companies and public sector jobs from the same access to skilled workers.
I'm saying that, under the current system, large companies absorb the largest swatches of the immigrant talent pool. These large companies submit a huge number of visa applications for $60k and because of the lottery system, they get allocated on a pro-rata so many of their visas are approved.
Under the proposed system, visas from small companies would have a much large chance of getting approved.
The reason companies can't get STEM grads at the prices they're willing to pay is because those STEM grads can simply work for a company willing to pay more. That's not a problem for the grads (you bet your ass I'm not complaining too much, haha), but it is for everyone who wants to hire them.
If I were an American, what would it take to work in London?
A good internet connection and some perseverance in getting remote jobs. Also strong work habits.
I have many friends back home in Slovenia who stay in Slovenia but work for San Francisco. Sure they don't make 100k, but they don't have to. At 80k they're socking away 40k+ per year. And the SF startup is super stoked because they get good engineers for peanuts.
Three suggestions - 1) raise the compensation for seniors 2) offer more interesting projects/products 3) use a different interview process for seniors, they hate algorithm quizzes
Most software companies just churn out database-backed MVC apps. After 5 years of that any good developer would be bored.
I have worked at a few places that just didn't take people out of school at all, because they saw that the amount of time the typical graduate they got was a net negative to productivity, compared to how long people stayed at the company, didn't add up. They figured out that in their case, given their relative inability to tell the highly productive recent grads from those that would not be productive in a year, that it was better for them to spend resources paying experienced people really well, and letting other companies sort out the good and the bad. Thinking like that leads to some kind of farm system: People that are just body shops, where the good people manage to go to a next tier of company quality.
A shortcut for this is a degree from a nice enough university, as there are many companies out there that will interview anyone coming from a prestigious university, but would not give the time of the day to a recent graduate from, say, Missouri Rolla.
And let's not forget the madness that is interviewing in big tech companies. All of that 'optimizing to avoid false positives' idea is really saying that people that don't have a specific interviewing shape, but are very good when at a job, don't have a chance. I have a job at one of those tech companies, but some of my favorite developers from earlier in my career just can't pass the interviews, even though I think they are, in practice, better than your averaged hip company employee.
So it all comes down to how we are terrible at figuring out good performance, and how training people just isn't a good economic decision when they can just leave to a place with a bigger budget in a year or two.
I know hundreds of people in these categories. They go work on Wall Street or other industries where those with 10+yrs experience get paid commensurate to their experience.
I guarantee if tech jobs paid market wages for higher experience there would be no shortage.
Also, the market salary in SF/SV will generally need to be higher. The cost of living is outrageous even compared to NYC.
And many do not. I actually came from the trading side and there are a lot of VPs [1] who cap out at lower total comp levels than you would think [2]. There are absolutely tech roles that pay mid 6 figures or more, in NY, SF/SV, and elsewhere. It's not harder to get those roles than it is to become a VP.
Yes, there are traders who made 8 or 9 figure bonuses, but these are outliers akin to successful VC-backed startup founders.
> The cost of living is outrageous even compared to NYC.
I think this is debatable, but it's irrelevant so I won't indulge.
[1] VP is the first role where there's no "up or out". You can stay as a VP and not be promoted without being implicitly or explicitly told to leave.
[2] I know a quant trading VP who is extremely unlikely to ever make more than $300k and they have never made more than that over a career that spans more than a decade. This is fairly typical.
So I think you're right that it's not about new grads, but about proven senior people. That's exactly when the salaries plateau. So the people here saying "It's not a shortage if you're paying too little" are right too. There are new grads getting hired for $130k total comp, or even $200k. Offer me $300k plus remote and I'll probably take it. Offer me $400k and maybe I'll even move. Of course that sounds outrageous, but my point is it shouldn't. Not if you consider the difference in value senior people can provide.
Today its placement increasingly serves to muddy facts and justify various views and policies on H1-Bs and the like, either in favor or against. In truth, IT should be split into its own category with distinct analyses and approaches, addressed independently from S, E, M, and the leftovers of T.
Did we see a shortage of American workers who could do the job right away?
YES. Not many people work in the same area of technology. There really aren't many people working in some areas of tech.
Did the employer try to compromise on their requirement of "rockstar coder with 1000 wpm typing speed, PhD in app programming, merge k-sorted arrays in 15 mins with good syntax and no compiler?"
NO. And this is why there is no shortage. It's their demand for rockstars when reality is most companies are mediocre (at best). It's not shortage, your company sucks, interviews suck and nobody wants to work there.
If you compare this to other fields with a glut, for example English literature majors, you'd see that they only hire rockstars.
That leaves me wondering what force is preventing price from rising in the case of developer talent?
Well, it's not Steve Jobs. Not anymore.
Edit: clarified real wage to real wage vs productivity.
Yes, engineers are professionals and all that, but we are seen as the executors. The final rung on the ladder who finally executes and builds the thing.
So our wages do not scale that great with value of output.
In many cases we are factory workers, maaaybe artisans, in a feature factory --> https://hackernoon.com/12-signs-youre-working-in-a-feature-f...
And I would differ with your assessment that tech wages scale poorly with productivity. Better than many other areas, engineers can leverage their productivity extremely well - especially in software, but even moreso in the future with information and mechanical automation becoming ever more capable.
Go on any job site and you will see tons of openings for people with 5 years experience in <every buzzword tech in the book> for $50k/year. These employers will always struggle to find acceptable talent and will always complain.
A religious belief that labor prices must be kept as low as possible, lest communism ensue.
This is not correct. A shortage is a situation where demand exceeds supply. The only definite statement you can make about such a situation is that it means the market in question cannot be in equilibrium. But there are multiple possible reasons for that. Prices being controlled is actually not one of them: the effect of price controls will not be market disequilibrium but a shifting of the equilibrium.
So the question you should actually be asking is, what is preventing the market from reaching equilibrium? Here are two possible answers:
- Demand is growing faster than supply can keep up.
- Transaction costs (for example, difficulties in employers evaluating candidates' actual potential) are preventing efficient matching of supply to demand.
"The world has a severe shortage of large diamonds I can buy for pennies."
Demand is characterized by price. Simply saying you want something does not mean you demand something.
I'd love to find programmers for $1/hr, but I haven't increased the demand for programmers by saying that. I have to offer something a programmer is actually willing to take to be considered demand. And so, again, as long as price is rising, you cannot have a shortage. Every time the price goes up, there will be buyers dropping out of the market not willing to pay the new high.
The result is that only those who can afford programmers will be able to hire programmers, and the supply will exactly equal the demand.
No, demand is characterized by the quantity demanded at a given price. More precisely, the demand curve is a curve of quantity demanded vs. price.
> I'd love to find programmers for $1/hr, but I haven't increased the demand for programmers by saying that.
Not by just saying it, but you could post a want ad for programmers at $1/hr in order to investigate the potential supply of programmers at that price. Of course you would find that it was zero, but that just means there's no supply of programmers at that price, not that there's no demand.
> Every time the price goes up, there will be buyers dropping out of the market not willing to pay the new high.
Now you're assuming that there is supply--programmers available at higher prices--but not demand--clients don't want to pay the offered price. (A more precise analysis would say that the quantity supplied at that price is greater than the quantity demanded--some clients will pay that price but not enough to hire all available programmers.) You're right that this is not a shortage, but that's because it's a surplus instead--supply exceeds demand, instead of demand exceeding supply.
You're also ignoring other possibilities. Programmers could decide to accept lower wages instead of higher ones. "Price" is not something magically set by higher authority; it's the output of the market, not an input to it. In the first case above, if you want a programmer you will have to raise your offered price until you find one that is willing to work at that price. In the second case above, if programmers wanted work they would have to lower their prices (on average) until enough clients were willing to hire all of them.
Okay. So, every formalized definition I could find more or less echoes this one:
"Demand is an economic principle that describes a consumer's desire and willingness to pay a price for a specific good or service. Holding all other factors constant, an increase in the price of a good or service will decrease demand, and vice versa." – http://www.investopedia.com/terms/d/demand.asp
But you are telling us that demand is evaluated by interest across the entire price spectrum. Therefore, holding all other factors constant, an increase in price does not change the demand at all, as those holding firm at the lower price are still demand.
Whose definition are you using here?
> Not by just saying it, but you could post a want ad for programmers at $1/hr in order to investigate the potential supply of programmers at that price.
Does your definition of demand always require that the buyer be so formal in their investigation?
> but that just means there's no supply of programmers at that price, not that there's no demand.
Which, by your early definition of shortage meaning demand exceeding supply, means that virtually everything is in shortage. The demand, as you call it, at the price of free is almost infinite for any desirable good. That leaves shortage to not seem like very useful terminology whatsoever. Why even bother using the term shortage at all when we can infer that almost everything is in shortage?
And what is special about the shortage of developers that warrants all the media attention? Especially in light of the severe shortage of Ferraris, which I frequently see people expressing their interest to buy at lower prices in these discussions. I never see in the news calls to fix the Ferrari shortage, nor do I see any government intervention to try and correct the lack of Ferraris being produced.
> Now you're assuming that there is supply--programmers available at higher prices
I'm not sure where you got that idea. We have acknowledged right from the beginning that price can stop rising. That's kind of the entire basis of the discussion.
Have you ever looked at an actual textbook?
Even what you quoted does not define "demand" as price. It says "an increase in the price of a good or service will decrease demand"--which implies that "demand" means quantity demanded (at a given price). Which is how I defined it.
> an increase in price does not change the demand at all
I said demand (more precisely, the demand curve) is quantity demanded as a function of price. I certainly did not claim that quantity demanded does not change if price increases.
> Does your definition of demand always require that the buyer be so formal in their investigation?
No, it just requires a market. "Just saying" something does not constitute a market, but making an offer to buy something at a given price does.
> by your early definition of shortage meaning demand exceeding supply, means that virtually everything is in shortage
No, it doesn't. Let me restate my definition of shortage to make the definitions I have been using explicit: it means that quantity demanded exceeds quantity supplied at the current price. That is certainly not true of "virtually everything".
> I'm not sure where you got that idea
From what you said. You said: "Every time the price goes up, there will be buyers dropping out of the market not willing to pay the new high." Why does the price go up? If buyers aren't the ones setting the price (which is obvious since not all of them are willing to pay it), it must be sellers, i.e., programmers. So for your statement to make sense at all, there must be programmers available at the higher prices.
> We have acknowledged right from the beginning that price can stop rising.
I'm not sure who this "we" is that you refer to. You have claimed that "the price is rising", and that this will continue until there is only one programmer in the world who is working. That doesn't sound like acknowledging that the price can stop rising.
Or when they want years of experience with a specific framework, library, or other system.
I remember looking at Java positions last year (before I got my current job), and a lot of them would sound nice until I got to the item about "Must have X years of experience with Spring".
Yeah, I have a whole bunch of core Java under my belt, and I made the requirements for everything else, but because I don't have experience with that one library, I'm shut out.
A few years later, I was applying somewhere (Samsung?) for a semiconductor design position - and they wanted 5 years experience on "Mentor Graphics 8"[0]. I was semi-fluent on "Mentor Graphics 6", but that was a no-go.
It sounds as if things haven't changed.
[0] The naming scheme has changed, so this nomenclature is itself a no-go today.
Two weeks later I got a callback from them saying they wanted to offer me a job. I had already accepted a position. This is when I figured out that hiring managers have no idea about the talent pool they're dredging.
This company wasn't even in SV. They should have offered me a job on the spot, because the fact I had any knowledge of Java.
Perhaps the metric is inverted. Instead of years per language, it should be languages per year. Any software job today requires people that learn new stuff fast, not experts in 5 year old frameworks.
Because you even knew the word "Java"!
We were somehow part of a swirling cloud of folks somehow trying to buy Lycos about then. I don't know that CMU knew how to think about pricing such things. At least not the parts we were talking to. IBM seemed to be getting on with Doug Tygar's Citadel group, though, so it might have just been us that didn't know what we were doing! :-)
Basically if something looks perfect except for some random "must have X years of experience in Y" requirement, just apply anyway. Most likely it won't be a dealbreaker for them (the hiring manager at a decent-sized company may not even know that that was in the job posting), but the worst case scenario is that you won't get the job but will get some good interview experience.
That's why so many people lie about their experience on their resume, and I don't blame them.
As far as I'm concerned, if a candidate has experience with Ember or Angular, I would never turn them down because they have not yet had the opportunity to work with React. A little bit of on-the-job training and some trial by fire, and most likely they'll be fine.
If I'm ever on the hunt for a new employer, I'm looking forward to getting turned down because I don't have 2 years experience working with Vue.js. It's idiotic, but I can guarantee it'll happen.
Nobody wants to foot the initial cost. "They'll just take another job elsewhere" is what I always hear, but employers never seem to recognize that junior devs choosing to move on reflects more on the employer than the dev. It's human nature to always think the issue is with someone else...
* If your first year or two was at a "top company". Significantly more difficult if you worked anywhere else.
It just isn't possible, given the basic makeup of the company, for there to be anything other than very basic bug fixing going on - the leadership team simply can't cope.
When I was there, I pretty much ran on one-page specs, if there was a written spec at all.
We were violently successful. SFAIK, just because of parts cost, that's all scrapped now. :)
The people that are left are of the "fix one, create three" level. One has a degree in CS but has never actually learned the trade. I did what I could, but he was perpetually interrupted. God bless 'em, but it's true.
In the end, unless your business is critically dependent on software, you may be better off without us.
It's really difficult to find a job the traditional way (submit resume/cover letter, interview, etc.) in this economy. The article makes a good point that if there was a shortage of STEM talent, companies would be drooling over everyone with a B.S. degree, but I haven't really seen that.
I do agree with the article that there is a STEM literacy problem...I have friends in grad school constantly complaining about people gaming the peer review system, students getting by on shoddy research, etc. I've had co-workers that I've been really disappointed with in terms of having solid engineering fundamentals.
If the article is right, and there's not a STEM shortage, what would you tell a high schooler applying to college? What field should they study so that there's a better chance of them having jobs?
Usually a scientist, programmer, engineer, or mathematician is made in elementary school.
https://qz.com/730290/harvey-mudd-college-took-on-gender-bia...
The overhaul of the computer science curriculum to make it more inclusive began the year before Klawe arrived from Princeton, where she was the dean of engineering. The school had redesigned its introductory course, required for all first-year students, to emphasize practical uses for programming and team based-projects, and switched from the Java programming language to Python, which more closely mimics the way humans communicate. The course is broken into three tracks, including one for students with no programming background.
To make everyone feel at ease, professors urge know-it-all students who always have their hand in the air to talk during office hours, instead of in class.”Too often, people with experience are taking up all the air time,” Klawe says.
As a result of the changes, women who take the introductory course are more likely to leave with a positive impression of programming, and often sign up for the second class in the sequence. Many go on to internships or research projects in the field after their first year, and by then, they’re hooked.
Are these the same people who are leaving the industry after a few years? Seems like if you hoodwink people in to something that's not really their vocation then that's the sort of effect you'd expect?
Perhaps the hoodwinking is that it creates a false perception that the workplace which is ~85% male will be as welcoming as the educational environment, which for Harvey Mudd is 50/50.
This HBR report is pretty brutal and eye opening on how women engineers are treated in the workplace. Not so much blatant rude sexual discrimination (though there some of that), but persistent pernicious subtle degradation and diminution.
https://hbr.org/2016/08/why-do-so-many-women-who-study-engin...
We found that these work sites echoed the gender stereotyping experienced in school projects: men were assigned interesting problem-solving tasks where they could develop their analytic and technical skills, while women were often assigned jobs sorting papers, copying, collecting equipment, writing notes, and coordinating—tasks they felt did not value or cultivate their skills.
This second round of gender stereotyping in the workplace, coupled with unchallenging projects, blatant sexual harassment, and greater isolation from supportive networks, leads many female students to revisit their ambitions.
Anyone know of pertinent info?
This was unbelievably annoying when I was in school, since the questions those kids asked were always completely off-topic and added nothing to the class. I didn't major in CS so I only took a few classes in that department, but I almost never noticed the same behavior in any other subject despite it being a daily occurrence in my CS classes (until around 3rd year courses).
And I'm sure that's true ... but makes the situation worse by making it hard for even people who would make the higher difficulty level to find the knowledge in the first place.
The takeaway is that businesses don't just need people that have STEM degrees, they need people that will add value to their company. Just because you have a STEM degree does not mean that you'll be a net positive for the company.
It seems to me that incentives for colleges right now are way out of wack. They're not doing a good enough job at preparing students for actual industry roles (elite institutions being the exception), yet their enrollment rates and the cost of their tuition keeps going up.
I agree. I graduated a long time ago with a CS degree and almost a minor in business. The CS foundation helped with all the learning I have done since then, but if I think about the most valuable classes I had in college they were economics, accounting, finance and management. Of course some jobs need PhD level CS without any other skill, but the majority of positions need someone who knows how to program plus <insert skill here>.
Having worked with a lot of people with "elite" degrees, I disagree with this a lot. I walked out of school with much more relevant experience than I feel they have (through both school and co-ops). Don't get me wrong, they're all smart people, but knowing how to write merge sort in haskell is different than knowing how to comfortably use git.
The major issues they lobby for are (1) increase in H-1Bs (2) illegal immigrants. The one thing they don't talk about is legal immigration paths for people on H-1Bs. People on H-1B from India and China have long backlogs for Green Cards, which causes them to stick with one employer for long, with reduced negotiation leverage, and there by depressing wages for the entire industry. But FWD.us does not have a care for that aspect of immigration - presumably because this helps the bottom line of everyone involved in FWD.us. Meanwhile they don't miss any opportunity to shed crocodile tears for the plight of DREAMers. Sigh!
[1]: https://www.fwd.us/
When you switch jobs on H-1B, your GC application has to be redone from the first step. This is an uncertain process that can get stuck in red tape for indeterminate amounts of time. Your place in line stays intact in many cases though. So, switching jobs is possible, but is no way easy.
While you wait decade+ for your GC, you freedoms are severely restricted as an alien.
You can switch at low cost at that point. I know so many people who've switched jobs like this and retained their place.
The other thing to consider is that current market price of something is the price at which everyone willing to sell at or below that price has already sold.
The next person to buy is going to have to pay incrementally more. If you define a "shortage" as " no more for sale without paying more than the current market price", then the normal shape of supply curves would mean that markets are usually in "shortage".
Your competitors are paying market wages in China to "qualified people", or have depreciated the high salaries in employees via higher-productivity and thus pricing you out.
While this is true, it's also very much not my problem. If your company is offering X, and another company is offering 1.25X, then most of the good people are going to go to the other company first. And it would be quite dishonest of you to say that there's a "shortage" when it turns out you just don't want to pay as much as the competition for your talent.
But let me pitch a different angle: there are a lot of people who could do their job better if they had certain specific STEM skills (e.g. business analysts who were better at statistics, spreadsheets, and maybe SQL).
It's true that you can get these skills if you pay more. However, the cost of hiring someone with these skills might be >= the business value, even though the business value might be >= the cost of the education for these skills.
So I would argue that we're underinvesting in certain STEM skills.
This system will perpetually be in a shortage. No matter what rate is offered, at least one employer will go without an employee.
In your example, the price is at equilibrium, even though one buyer cannot buy at market price. Thus there is no shortage.
If we define shortage as one buyer not being able to buy at market price, then you are technically correct.
> A shortage is a market condition existing at any price where the quantity supplied is less than the quantity demanded.
He then goes on to talk about how the shortage provides a signal to sellers to move the price closer to equilibrium (upwards, in this case) but that doesn't make it not a shortage.
In questions of definitions, it's also informative to try an alternative source. I propose the website of the Federal Reserve Bank of St. Louis (simply because they have a convenient online glossary): https://www.stlouisfed.org/education/glossary
> Shortage: When the quantity demanded of a good or service exceeds the quantity supplied at a particular price.
I'm not going to update the Wikipedia page because the Definition section needs quite some rewording and citation to make it authoritative and if I just add this in, it will make that part incoherent.
§ Tucker's Economics for Today, which is also wrongly named in that section as Economics Today. In the 7th edition, this is on Page 80
But instead of hiring workers with years of experience building houses they hire the best athletes from US university sports programs. Fantastically talented athletes.
Then they give these great athletes a bunch of shovels, cement mixers, hammers and nails and say: "Build the best mansion the world has ever seen."
Somehow it doesn't work out. They get a large house, but it isn't really any better than other large houses. Some of the workers decide to leave.
I wonder if management really knew what it was doing in the first place. Maybe they figured they could just hire "the best" and everything would take care of itself?
There is a non-zero amount of grads from prestigious to lousy universities and boot-camps that cheated. Some cheated a little bit, some cheated the whole way. But this may be a factor in the STEM issue. Some non-zero amount of prospective hires may have the cred, but the company can identify them quickly as hacks.
I'm going to go out on a long limb here and say that most grads from large research universities cheated their way through and know squat all.
Are other industries like this? Why do I not see bootcamps for electricians and plumbers?
I have a relative who worked for a company that did the electrical contracting for a huge amount of [huge retail company] stores. Ultimately, [huge retail company] started bringing in large groups of cheap Mexican labor who were mostly inexperienced in the trade. These groups would screw up the job, so they'd bump the opening date a bit and bring in experienced crew to patch everything up.
The end result was a much worse job, but [huge retail company] didn't care because the overall cost was a lot lower.
The places where this does not happen are places where the electrical union is strong and laws make sure workers are certified journeymen/masters (or in an apprenticeship).
I've thought quite often that the world would view programmers much differently if there were a viable programmer's union.
I feel like the industry treats software development as a race to the bottom
Why have programming salaries skyrocketed the last five years then???That leaves you with one choice - outsource your engineering to China or India. Or they could just come here (wherever here is) and contribute to the local economy by buying stuff, driving down the per capita crime rate (immigrants have a far lower crime rate), etc.
If the company is complaining of a shortage of US workers however, they are paying sub-market US wages. There is no such thing as a shortage in economics.
Yes, I can get all the engineers I want if I pay a million dollars a year. But if they are also employed as engineers somewhere else, the lack of engineering talent just moves to those other companies.
Say there is only a car in the entire world. I could buy it for more no more money, but ultimately there is still a shortage, in the sense that even if we had 5 people willing to pY 5 billion for the only car I. The world, they would all not be able to get it. In cars, this is fixed by the fact that we can build cars easily: It doesn't take that long to make another car, and eventually you can build thousands a day.
So if we look at the system overall, we have to consider unemployment in the profession, and how many people just don't want to go I to stem because it doesn't pay enough.
They say I see it, pay in CS specifically is pretty darned good, compared to alternatives in the US. Any lack of developers we have today doesn't come from them choosing other occupations because programming doesn't pay the bills: We just have way too many people getting paid a lot less, or unemployed altogether, that either can't afford the retraining to be programmers, or just. can't do it altogether.
So it's not, IMO, as if the shortage of good pay is the problem: Remember the dot com boom, when a lot of borderline incompetent people were getting a ton of money and achieving very little? That,s the best we'd get if we just multiplied all tech salaries by 10x. Our real problems are far more complicated.
I dunno, I hear a lot about people who are qualified and experienced software developers moving to other fields, particularly finance and non-technical management, because they can get paid better, or leaving work entirely because no o e is offering enough to make it worthwhile for them not to just live off their savings (and not just hear about, I know people in the last category.)
The idea that there isn't potential talent in the field that could be accessed by paying more is false. Obviously, employers prefer not to do that, because every dollar paid to an employee is a dollar the employer doesn't keep.
> We just have way too many people getting paid a lot less, or unemployed altogether, that either can't afford the retraining to be programmers, or just. can't do it altogether.
To the extent that there is a "can't afford" problem here, and this really is an undesirable situation demanding a public policy response, the solution is obvious from the statement of the problem, and it's not "import foreign workers".
That, of course, is the entire purpose of high prices. You want some of the demand to go away because they find it to be too expensive so that the supply eventually matches up to the demand. There would be no purpose in having different prices for different jobs otherwise.
A shortage happens when price cannot rise for some reason, such as the government implementing a wage ceiling. I'm not quite sure what could be preventing price from rising in this specific case. It seems like a pretty wide open market.
> Any lack of developers we have today doesn't come from them choosing other occupations because programming doesn't pay the bills
Or they are simply doing better elsewhere. Paying the bills isn't necessarily enough incentive. Even in my own situation, while I still keep my foot in the developer door a bit, I am spending more and more time in my other careers. I could go back to programming full time, but I haven't found an offer incentivizing enough yet.
Let's say a loaf of bread went up in price to 100$, and the majority of people in the USA were literally starving to death.
Yes or no, is the US suffering from a food shortage?
I would argue, yes.
* Does every single person need to be able to afford bread for it to not be a food shortage? Or is it okay if some still go without as long as the price goes below a certain point? What is that point?
* Is there a shortage of Ferraris because they cost hundreds of thousands of dollars, which is more than I can spend on car? Or are non-essential items not included in shortages?
* If non-essential items are excluded, what is essential about developers? We lived for hundreds of thousands of years without without software just fine.
* If developers are essential, are they always going to be in a shortage situation until they all work for free? I can imagine several developer jobs I would have done for $1/hr, but not for $10/hr, as it is no longer worth the cost to me at that point.
I may agree with you, but I'm not quite sure I understand what a 'normal person' shortage even is. It does not seem to be clearly defined anywhere.
I'd define a shortage by comparing short and long term movements in labor.
As in, if price goes way way up for certain positions, it takes a long time for labor to react and produce more supply. This is bad.
So in the short term, there is a shortage of developers, while labor catches up and tries to fulfill this demand.
To put it another way, imagine if workers could see the future, 10 years ago, and could know how high salaries for devs were going to be.
If workers were armed with this knowledge, a whole lot more of them would have chosen to go into tech.
The Ferrari example doesn't work, because if Ferrari 10 years ago, knew exactly how much demand was going to be, I don't think it would have changed their supply or price at all.
I am not sure of a better word for this "shortage", but I am thinking of any situation where expectations for the future do not match up with the reality of the future, in short term inelastic markets.
And the solution to this market information failure is to either get better information about the future or work towards making the market more elastic.
I got my first full-time programming job soon after the dot-com bust and even at that time it paid better than the offers I'm seeing for new hires these days. And that's without even factoring in inflation. They are making quite a bit less than I was in real dollars.
By that definition I think it is very safe to say that there isn't any sign of a developer shortage. It is a high paying profession, for sure, but it always has been. It's not like it was a minimum wage job 10 years ago. It was still a six figure job even then.
If the demand is high, the market should respond by increasing supply in the long term as well.
I know lots of mediocre devs who are way overpayed in the Bay Area. You do NOT have to be good to make 6 figures.
Mediocre web developer is a very high paying gig.
"Lack of planning on your part does not constitute and emergency on my part."
I'm not the top of my class. I'm just an average web developer doing easy stuff.
I started off in the back-end a number of years ago, but quickly found myself being shoved to the front-end because I knew what to do and didn't complain loudly enough. I'd love to do more than just the occasional back-end job. I'd love to have a break from the constant headaches of making stuff work across dozens of incompatible browsers developed over the past decade, but moving to the backend full-time would cut my pay significantly.
Supply, demand, and being forced into the undesirable job are paying off for me at the moment, but that doesn't mean that every other part of the market is dying for people.
I was recently in the job market and got three offers within a month. One from a big four tech firm Amazon/Facebook/MS/Google, one from a big four consulting firm Deloitte/E&Y/PWC/KPMG and the final one from a very promising startup in North Carolina. The first two paid above market rate but the startup paid 105k + equity because they cannot afford to pay more than that. Thing is, my specific skill set is in shortage ( Big Data and Analytics) and I am sure there are a few other specialized fields where there is a shortage.
There may be a number of kick-ass local software engineers in the market but it is the specific skill set the companies need. Please do not tell me that companies can just hire local candidates and train them on the skill set they need. There simply isn't that much time and experience trumps(yea I know its ironic) training. When a company pays you N amount, they expect X amount of value from you where X is a multiple of N. Also, these companies are often competing with each other to get a product out to the market as fast as possible. Loosing precious time in training is not very optimal as your competitor might beat you.
To be honest, I do not think I can be considered the best in my field and a good american developer can do my job if s/he has the necessary experience. Right now, demand for data engineers with big data skills far outstrips the supply. This won't be the case in say 4-5 years down the line.
STEM in itself is a very broad term, Software development has many disciplines. Are you a Sr. Software Developer who wants to get paid that 200k salary in your local market outside of Silicon Valley? Make sure to cultivate a skill set that is in shortage. Simple macro economics.
For those who are curious, I took up the consulting position and am getting paid 120k base + 10k signing bonus + 10-15% year end bonus + other benefits. Not bad for a person with 2.5 years of industry experience who lives in North Carolina. Is it?
Also, $120k is pretty nice, until you have some kids and loads of medical co-pays, dental fees, school fees, and then it is simply too little. Dont believe me? Several years ago, my medical co-pays post insurance were over $20,000 for the year, which is more like $32,000 pre-tax.
What happens is people move into non technical roles which pay commensurate to skillsets. There is no shortage of skillsets, there is simply a shortage of experienced people willing to take sub-market wages for strong resumes.
My role is of a Sr.Associate which requires 2-4 years of experience and I am a 27 year old guy. Would you really pay 200k plus for a person with my level of experience? Hiring a person with more experience for my position and paying 200k plus does not make sense because they would be over qualified for what I do. Also, there are not enough local developers with 2-4 years of exp with my skill set. At my old firm, I personally mentored 2 american fresh grads because they could not find Jr.developers with Big Data skills. I am pretty sure that I can make more than 180k in NC by the time I turn 32-33 but I will need to upgrade my skills at that point. I am already looking at Blockchain instead of waiting for my company to train me. I believe that it will be in demand 2-3 years down the line.
I support the increase in wages but you also need to consider what ROI you are bringing to the company if you are commanding a 200k + salary in a place like NC. Are you brining a 3-4x annual return? Then yes, command that salary by all means. If not, you do not deserve such a hefty pay check.
However, i'll be honest and say we cannot afford the market wage, so we make development decisions accordingly. It would be dishonest for me to claim a shortage when I'm clearly not paying market wages.
Not wanting to pay market wages is not evidence of a shortage. You get what you pay for. I drive a Hyundai because I am not willing to pay $80,000 for a car. I'll be honest and say I'm unwilling to purchase a Corvette. There is no shortage of Corvettes, i'm just not willing to pay for one. If I try to pay $27,000 for a Corvette, that is not a shortage, that is just nonsensical.
In the end, I think market wage is also based on the ROI you bring to the company. In my case, if a local appears and commands a 200k base, why should the company pay him/her? In the local's eyes, s/he is worth 200k + but the company does not generate enough value of of them to pay that salary. So, I do not think I am displacing anyone here. In fact, as I said, I helped mentor two americans and I would gladly teach my skills to the locals if the govt had certain programs where immigrants can teach the locals and get some sort of benefit from it( May be a faster track for a green card? ). I don't know, just a thought :)
There are some things that can reduce market wages -- you can make the job more attractive such that people are willing to fill a spot for less salary. It happens all the time, here are some ways to do so:
- Federal government jobs pay much less yet attract people because of long-term job security and tax-free earnings in many cases
- Municipal government jobs pay much less yet attract people because of easy hours
- Some startups pay much less yet attract people because of exciting products or growth opportunity
- Hedge funds can pay much less yet attract people with the promise of a share of investment returns
Workers are smart though. If there is a position going unfilled, it is because it is not an attractive position. It either needs to pay market wage, or offer some of the above attributes to help reduce market wages for the position.
The market is willing to pay machine learning experts 250k + because they bring in multiple of 250k in value. If not, no one would be paying such an amount just because machine learning is hard. If that is the case, astro physicists should be among the highest earners in the world. Much more than your NFL stars.
Our startup economics do not support wages above ~140k/yr which is why I go through all this trouble. But i'm honest -- it is because we cannot afford market wages, not because there is a shortage. Just because our budget cannot hire a market rate experienced hire.
I've enjoyed our discussion very much. I'd love to offer you a job for sub-market wages :-)
Do you and I deserve what we earn? Sadly, markets decide wages, we do not. The only real control you and I have is the ability to walk away if we feel we deserve more. People do walk away from $200k salaries. I know lots of people who would absolutely walk away from a $200k salary. Here are some reasons: - Programmers are highly exposed to market cycles, so you need to earn more in good years to make up for bad years. Since you are 27, you have never seen bad years. They do come. People end up unemployed or underemployed for 1 or 2yrs. Some never recover. - Programmers are like athletes, your earning ability goes down rapidly over time due to age-discrimination. So you need to earn $250 or $300k/yr to make up for future down years. Note this is unlike medicine or law where there isnt as much age discrimination. - Programmers need to constantly retrain themselves, often on their own time.
For these three reasons, one might argue that programmers deserve more money. However, they dont get more money because they deserve it, they get more because: A. Many tech workers see the above 3 issues B. ...they move into other, better paying or more stable jobs or more long-term sustainable jobs C. ......they reduce supply D. .........market wages go up.
If tech jobs were more stable or long-term oriented people would expect lesser wages.
Yes, programming is a tough profession and we often have shorter professional lives. But, I chose this path because I love coding and intend to move to a more managerial role in the future. That does not mean we should be paid 300k/year. An NFL athlete can easily command 1 mil/year because their franchise is easily generating more than that off of the athlete's name. Are you as a developer generating more than 1.2 mil/year for your company to get paid 300k?
ROI is a different concept -- you are right that someone needs to generate ~1.2M$ to be worth paying $300k. But that does not mean there is a shortage, it means the business is not a viable business.
Consider this example -- I'm going to create cars and sell them for $5000. I need a crew of 10 people, paid $500/yr. I cant find any crew willing to accept that. That doesnt mean there is a shortage of auto workers. It means I'm not paying enough. Just because I've come up with a faulty business (selling cars for $5000) does not mean that people must work for me for peanuts. It means my business is flawed because it relies on underpaid workers.
Also, w/r/t you increasing a pay rise for burger flippers - that is not how businesses function. Business would not generally raise salaries as long as they could find workers at depressed salaries. If they did, their Board of Directors would quickly fire the CEO. You could choose to do this for your own company, but that is not representative of how large or most companies work. Companies are constantly hiring McKinsey or Towers Perrin to benchmark labour costs to ensure they are paying as little as possible.
At the same time, the company also needs to consider what the companies next door are paying. If I'm currently over next door at the bank getting paid over $200k, I honestly do not care that your company doesn't think paying over $200k is not worth the ROI. Neither is anyone else who's looking for work in the area.
These seem like silly details for those in their 20s. I had a roommate. Having a roommate doesnt really work when you are married with children. You start competing with your peers for homes. Making less money than your peers puts you at a disadvantage. I was pretty lax on salary when I was young, optimizing on growth and experience over salary. That was a good decision. In my late 30s now, i negotiate to get market rate. Not doing so translates into serious consequences for me and my family. So to answer the parent's post -- absolutely...if the company next door is paying more, i'd work there all else being equal.
Also, dont forget medical expenses. Once you have a family, you eat through those deductibles like crazy. One complicated pregnancy will set you back $20k+ depending on your health plan. At that point, some prospective employer's ROI is of little consequence to your very immediate needs like co-pays and the collection notices which roll in daily.
Because our society is built on the idea that work is the means to justify one's existence, we depend on the possibility of full employment. Therefore, when jobs go away, we have to make them up somewhere. As manufacturing shrinks and automation starts to chip at the large base of service jobs once thought safe, it is necessary that there be something to replace it.
Enter STEM. Instead of assembly-line workers, customer service reps, and bank tellers, we will soon all be the scientists and engineers designing and servicing the grandiose machinery that now does most of the actual work.
With the problem that the "automated" infrastructure has incredibly high initial capital costs and incredibly specific skills requirements. Just think how many software frameworks are used for a typical complex product that really does something useful: call that N.
Now, where do you find 100 engineers trained and experienced in all of N different things?
I currently work in QE, but our team is miniscule compared to the devs, so we would rather just automate ourselves away and then hop over to the other side :-)
In most other departments, staff instead have to teach students how to go out and find jobs, put lots of work into applying, etc.
There is certainly a shortage of good graduates, compared to most degree programs.
or the market has somehow succeeded in depressing wages to the lowest possible rate. I've heard you have to have a minimum of a BS degree to break into the field of bio/chem. And then you're just a lab monkey following orders from a superior. yet "biotech firms" generate enormous profits, whether its in genetic engineering, healthcare, pharma, etc. It makes me sick.
https://www.fastcompany.com/3051405/the-future-of-work/the-2...
I don't think paying 110k+ in Bay Area for a entry level is unfair, but from what I can tell, my company has a hard time finding one candidate and often the ones we like also get multiple offers and prefer big companies like Google/Facebook, etc.
Yes, 'qualified' is very subjective standard, however, if you ask 5 experienced people, their opinion towards the same candidate barely changes dramatically from one and another, it is either unanimously yes/no, very rarely in between.
So, I think yes, there is a lot of STEM students, but how many of them actually have actual engineering skills is question left for debate.
The reality could not be further from the truth. Just take a look at what haappened to the EE / Chip-making industry. The cost difference has shifted all but very high end (intel processors) manufacturing and along with them jobs out of USA to Taiwan, China, Korea and Japan.
While as an employee you might think you can ignore competition from other countries via protectionism, sooner or later the entire industry ends up suffering the effects. This is also what happened to Detroit car makers. Unionization & Protectionism guarantees salaries for half a decade until the market effect trickles down.
The real existential threat to SV is not from Indians or Chinese immigrants as much as the post-Trump Anti H-1B wave might have you believe. Its from failing to remain competitive in an age where privacy corncerns and a hostile US government are causing a rethink worldwide.