There is not a shortage of STEM graduates. However, from an employer's point of view, there is a shortage of cheap STEM graduates. Hence the recent tech company uproar over the skilled visa changes.
You say there's a shortage, yet all software development jobs available require a Bachelor's degree plus 3-5 years of experience. That doesn't seem like much of a shortage to me.
I get a MS degree in biology, which is STEM. I happen to know programming. I do not even seek job in biology, because i know the field is oversupplied.
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.
I have a friend who graduated with a PhD in Chemistry a few years ago. He went down the research path, but eventually didn't like the pay. He had a good amount of programming experience and was primarily building simulation frameworks for chemical-environment interactions.
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.
This has not been true for me, or anyone else I know. Even friends from colleges I've never heard of with degrees in non-CS STEM majors found jobs paying 100k+ within months of graduation.
And a lot of the proposed immigration changes won't actually reduce the price of these workers either. If anything, it's a power grab by large consulting companies and bigger software shops to be able to hire up the best talent, and just lay off the rest:
> And a lot of the proposed immigration changes won't actually reduce the price of these workers either. If anything, it's a power grab by large consulting companies and bigger software shops to be able to hire up the best talent, and just lay off the rest
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.
Those are the same thing. You may as well say that there is no shortage of food in Venezuela, just a shortage of cheap food.
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.
I've a genuine question here. So, what are the STEM graduates doing who didn't want to work for the cheap wages? Did they find something that pays better? If not, why didn't they take up the lower wage job since it's better than nothing?
In relation to programming specifically, I once saw someone on Quora put it perfectly. It effecticly stated that we don't need more programmers. We need more senior developers with 10+ years of experience.
Chimes with anecdotal experience hiring in London. Glut of really well educated, keen and passionate juniors but tumbleweed when trying to hire seniors, even at higher salaries.
Then there is also the issue of the ease or difficulty of getting someone from a foreign country to work in the UK. Are work permits required? How much paperwork? etc
If I were an American, what would it take to work in London?
> 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.
Consider that senior developers are busy and aren't going to make time to prep for interviews that lead to a job landing them a $15k-$20k bump (before taxes). Together with all the other intangibles (culture, nature of project work, career paths) it makes jumping ship difficult to gauge.
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.
Well, why would those senior people want to apply and work at your company? This is not snark; this is a real question you need to be able to answer if you want a chance at hiring those senior people. Why would a senior person want to up and leave their position, which likely already pays pretty well, and treats them pretty well?
That's hilarious from the perspective of someone with the 10+ years of experience I got employers telling me I have to work 3 times as hard as people half my age or I'm out. We don't really treat STEM employees with much in the way of respect especially post 2008.
Sounds terrifying until you think about the average fresh-out-of-school kid. I think I could probably manage it just by not being as distracted by shiny shit that breaks constantly.
I was thinking more of how much effort I don't waste - bugs I know not to write in the first place, so I don't have to find them; bad designs that I don't create and therefore have to redo; speed in finding bugs because I have a better idea of how to chase them, and so on. I'm not working harder than I did when I was fresh out of school - not as hard, in fact. But I'm far more productive.
Except when your boss will insist on choosing your tools, and won't let any time for you to plan. Oh, and if you ever wanna do anything smart that those fresh-out-of-school devs won't understand in a glance, forget it, the dumbest one of them must get everything you do immediately or you are not a team player.
And, more importantly, believe that a 23 year old's salary is acceptable because they're "building the future" or "revolutionizing the space" or "times are tough industry-wide" or whatever the CEO posts on twitter.
I think it all comes down to the big difference between having a degree and being productive at a company, along with how free the labor market is.
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.
To be fair, this is another place where employers are screwing themselves. If we could carry a portfolio like all those marketing people they hire, then the selection process would be a lot easier.
Just put all the current buzzwords on your resume. They won't know the difference. You'll screw up the technical interview somehow just like everyone else does, and they'll scratch their heads and go "no one is as smart as me! shortage!" and they might hire you anyway because you said you liked the same movie as they did, or something equally trivial.
The older I get the more I wonder how much it has to do with very few people making it 10 years without moving into an different industry that doesn't treat their talent like assembly line workers that they don't have to pay overtime.
Many developers with 10+ years of experience are married. Once you get to 15+ or 20+ most are married with children. An entry or mid-level salary does not cut it. There are mortgages to pay, braces to buy, schooling fees, nannies, the works.
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.
My experience is that many tech jobs on Wall Street no longer pay more than tech jobs at tech companies. I probably know more developers who have capped out at high 100s or 200s at banks than I do at Google, Facebook, Netflix, etc.
Your experience is correct that "...many tech jobs on Wall Street..." but many non-tech trading/quant/exec jobs on Wall Street certainly pay far more. Those are reasonable places experienced tech talent go because many quant/analyst positions use the same skillsets as the tech world.
Also, the market salary in SF/SV will generally need to be higher. The cost of living is outrageous even compared to NYC.
> many non-tech trading/quant/exec jobs on Wall Street certainly pay far more
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.
I have 10+ years of experience---17 actually, or more depending on how you count. I am sitting out the hiring market: instead I'm doing consulting, freelancing, and my own projects. The problem isn't a shortage of 10+ year developers. The problem is too little variance in developer salaries. I look at the salary ranges on StackOverflow and don't see any that are interesting to me. Compared to what I can make on my own, they don't come close. There is tremendous variance in developer productivity, and salaries don't keep up with it. I don't see the same problem with doctors, lawyers, accountants, or many other professions and trades, where your compensation can keep growing all your life. I think 10 years is about when many developers jump ship to management or a second career. I feel very lucky that I can continue doing the programming that I love. But if you want me to come back to full-time employment, it's going to have to be a salary that reflects 17 years of lessons learned, and the productivity, maturity, business sense, and technical judgment my clients are paying for.
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.
Every time someone mentions that they have a hard time finding qualified workers, or saying that qualified people don't apply to their company, they tend to ignore a very important question: Why would those qualified people want to apply at your company in the first place? A lot of people like to say they're paying "market wages", but most qualified people are already making that or more.
> A lot of people like to say they're paying "market wages", but most qualified people are already making that or more.
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".
Because the money for salaries is not generated out of thin air. It gets determined by the profit-margin provided by the market.
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.
"Because the money for salaries is not generated out of thin air. It gets determined by the profit-margin provided by the market."
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.
Even as an immigrant to the US, I agree with this. A large part of the shortage is self-inflicted.
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.
A shortage, by definition, requires a situation where the price cannot rise. Of course, if the price is rising, then the poorer businesses are priced out of the market and no longer need developers. As long as price can rise, a shortage is impossible. Even if there was only one developer in the entire world, the services would eventually go to the highest bidder and everyone else would be priced out of the market, leaving no demand for other developers.
That leaves me wondering what force is preventing price from rising in the case of developer talent?
It's because many companies are overly oriented towards cost accounting and labor is classed as a cost. Some people might just say that's just a normal business calculation, and to some extent it is. But there is a another aspect to it which could be viewed through more of a class-conflict viewpoint (not necessarily a upper vs middle sense but a capital vs labor sense). This isn't just in the STEM areas - if one looks at real wage growth vs productivity, STEM areas are one of the few employment areas that are given a more generous allocation of produced benefits to labor ... leading to language of a "shortage".
Edit: clarified real wage to real wage vs productivity.
We make things, we don't manage people. As such we are below the people setting wages.
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.
If it makes you feel better, in MBA speak you're a "direct contributor" (unlike everyone else who has to justify the value they supposedly provide) and all those suits are stuck in the "overhead" bucket (i.e. "a burden, not contributing to revenue in any way").
Doctors and lawyers are direct executors in a sense. Do they have a similar problem?
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.
This is the kind of logic only an economist could love. People still gotta get work done at the end of the day and they gotta stay in budget. Perfectly elastic markets are a fictional construct about as real as a perfectly round sphere oscillating in a perfectly sinusoidal fashion.
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 shortage, by definition, requires a situation where the price cannot rise.
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.
I find that the whole terminology/model falls apart when you get people putting the price into the definition of the thing... Whether explicitly or as an unspoken part of their argument.
"The world has a severe shortage of large diamonds I can buy for pennies."
> A shortage is a situation where demand exceeds supply.
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.
> No, demand is characterized by the quantity demanded at a given price.
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.
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.
> 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?"
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.
I remember shortly after Oak was renamed Java (so, maybe 1995? Certainly before the Java 1.0 release), at my startup, we wanted a Java person even if we had to retrain a C person. I gave my must-have/nice-to-have sheet to whoever was responsible for staffing and was surprised a week later to see a "Must have 5 years experience with Java" on the posting. When I asked her about it, she said that she had cribbed it from a Tivoli recruiter!
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.
I graduated in 2000, and I applied for a company doing telemetry processing in Java. I learned Java in 1997 (because Gosling was a PhD student at CMU a little before that time; we eat our own dog food). When I interviewed they asked me all sorts of questions about Java (GC, JIT, JVM, bytecode, etc) and I passed with flying colors. However, they said they wanted someone with more Java experience and I was rejected.
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.
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! :-)
In my experience, almost all of those "must have X years of experience with Y" requirements are written up by HR people who are loosely interpreting poorly understood requirements told to them by either the hiring manager, or other HR people. In many or most cases, the people writing up those job postings are not the same people who would be interviewing or hiring you, and they're more aspirational requirements than anything else. They hope that someone with X years of experience with Spring will magically come out of the woodwork and send them a resume, but they're just as likely to hire a fresh grad who doesn't know anything about Spring other than what they skimmed on Wikipedia right before going to the interview. And the people doing the interviewing and hiring might actually be fine with that.
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.
Because (taking the comment in its context) you need to get a first job so you haven't so many options and you have nothing to lose. If you're some genius maybe Google had already recruited you right from uni.
That's a huge problem in the Javascript space, especially considering how quickly it moves.
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.
If people shopped for food like they hire engineers, they'd starve to death. I have to wonder if there's not some "corporate anorexia" thing that shares pathology with food disorders.
I agree with this. Most companies don't want to spend the time and money training a candidate. This doesn't apply just to new college grads but to more experienced candidates trying to find work where newer technologies are used. Someone who is a very good C programmer will never be hired as a Ruby on Rails developer though they could probably learn RoR in 6 months. This person is stuck finding C jobs or ends up getting forced out of the market. The reason why companies don't want to provide training is because they don't have anyone to provide that training. In the good old days, a senior engineer would take the time to teach a new hire the code base, best practices in a language and the tools involved which'd help the new hire ramp up fast. With the whole 'agile' process, everyone is focused on completing their sprints and training your co-worker gets penalized. Some blame must be placed on experienced engineers who coast along in a Big Co till that company starts going under or starts layoffs. Suddenly they realize that they don't have any skills that the market needs.
There are tons of articles on the "STEM shortage", but frightfully few about how to get graduates into their first job. Moving around once you've gotten a year or two under your belt is easy. I have seen lots of perfectly qualified people do other things because they couldn't get their foot in the door.
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...
Last job I had, we were doing quite well but market conditions changed. They effectively now have a 0.00% software presence.
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.
That reminds me of a "C" level boss I had at a tech company. In a private meeting he said, "George, I think this team is not world class." Like he had discovered a crucial flaw that needed to be fixed. The product (that made them millions) was not world class in its design or engineering. The management of the company and its strategy was not in my opinion the best in the world. Sometimes there is this fever dream of excellence that prevents managers from being realistic about what is really necessary to get a thing done.
But looking at individual salaries is just not the right idea though: to measure shortages in an industry, we have to look at total supply.
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.
> Any lack of developers we have today doesn't come from them choosing other occupations because programming doesn't pay the bills
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".
> But if they are also employed as engineers somewhere else, the lack of engineering talent just moves to those other companies.
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.
It is, of course, an economist term. Although I am interested to learn more about your perspective. How do you quantify a 'normal person' shortage?
* 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.
Labor markets are inherently inelastic in the short term.
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.
So how does this apply to developers? I remember in the 90s it was already considered the job to have if you want to make a lot of money. That's a good 20 years to prepare the workforce, at least (I start to become too young to have really paid attention to the job market before that).
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.
I can't find a job doing programming. Closest I've gotten offered is about 60% of what I'm making right now. And my degree is in computer programming, so I'm working outside of my field of study, making way more... The pay is great, in a few very specific areas, almost everywhere else, it's shit, with people thinking 30~40k is GREAT pay for a programmer.
I've applied for a few jobs there, but no, I haven't actually moved. I'm Canadian - the idea of living in the states without having my health care completely covered in advance is... terrifying, to say the least. I'm also looking for jobs in Windsor or Vancouver though.
The approach Harvey Mudd took to get more women into Computer Science could (and should) probably be applied across all STEM fields, and to all student types.
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.
>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?
If they are going on to internships and research projects, it is likely they have discovered their vocation, just a few years late.
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.
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.
I don't think people really have "vocations" built-in at some biological or personal level. Lots of people train for one thing, retrain for another, and work in a third.
I've the feeling it's more common to move industries nowadays but some stats that show "lots" of people move between sectors would be good support for your assertion.
> professors urge know-it-all students who always have their hand in the air to talk during office hours
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).
This just sounds like it's drastically lowering the difficulty because then people don't quit so easily.
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.
Paying market wages to STEM workers may sway them away from going to work at hedge funds and other industries. Paying sub-market wages and expecting to find top talent will lead to shortages, much like trying to purchase a new BMW for $500.
If you run a small business, it's a real thing. On wages, it's nearly impossible to compete with the big corporations.
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 a small business needs lower salaries to thrive, then that means their only real benefit they provide their customers is the fact that they can exploit some employees ignorance of market rate.
This is a very important point, let me expand a bit. If your business/product requires a supply of sub-market waged talent, then you have not found true product-market fit or your product just does not provide sufficient value to sustain a real business (real meaning one that can operate on market wages.)
Why do you say sub-market? When Disney or any other huge corporation outsources their IT dept to India / China, that's the MARKET. Good Luck putting an import tax on virtual goods / services.
It is market wage in India/China. If they can export jobs to India/China and make things work, good for them, that is a good business.
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.
That's a bad inference to make. It certainly doesn't mean that. It's the rule, not the exception for new tech companies to experience a flat line or no growth period. The onus is on management to get out of that death spiral as quickly as possible.
So is the engineering crisis and the talent shortage and the diversity gap. You think Facebook wants more H1Bs because it wants to promote diversity? You think it's because of a shortage? That's not how these things work. It just so happens that what's currently en vogue aligns with the business interests of the largest tech companies in the world.
Specifically, Mark Zuckerberg is a co-founder of FWD.us which "is mobilizing the tech community in support of policies that keep the American Dream achievable in the 21st century, starting with commonsense immigration reform" according to their website [1].
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!
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.
So theoretically, without pricing controls, there's no such thing as a shortage because prices will rise until demand == supply. So the arguments that there's no shortage of STEM workers (only a shortage of below-market-price STEM workers) makes sense.
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.
Wait a minute, your premise is easily susceptible to a counterexample. Take a 2-employer world with 1 candidate. Let's say both employers have the same desire for the candidate, i.e. no matter what salary one employer offers, the other will offer the same and if one employer believes a salary is too high so will the other.
This system will perpetually be in a shortage. No matter what rate is offered, at least one employer will go without an employee.
That's just a problem with Wikipedia being Wikipedia. That's not a definition. If you read the actual source that's used in that section§, you'll see that what he uses as a definition is the following:
> 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
When will the curve of demand start to drop precipitously as we replace STEM workers with AI? (Right now, for instance, we have no QA team, as we can machine test changes and use program flow analysis to test)
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 :-)
We still QA, but since we have a pretty sturdy code review process where we check out changes and double check them, alongside requiring debts to write test plans and then using Flowtype to limit side effecty changes.
I don't buy this. In my university, we constantly have companies trying to get our computing graduates, offer them internships, try to persuade them to come for interview. We need to teach our students how to negotiate well.
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.
Lumping 'IT' in with STEM is a historical mistake from the days when IT was not a mass-market phenomenon, but firmly the territory of academia, government ventures, defense contractors, safety-critical systems, and research.
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.
Nah, it was barely enough to cover cost of living, and I got a 136% raise by switching to another field. I didn't think it was great pay, that was the employer when they refused to give me a raise after 2 years...
At my current position, there are several hundred devs, but only a dozen or so senior web devs. They look for more, but it's taking time for the glut of new people pouring into the field to learn all the old while keeping up with all the new stuff every year.
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 think another factor contributing to this is a need to answer the question of how we can replace all of the jobs that we are losing due, primarily, to automation.
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.
>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?
A friend of mine studied bioengineering , but she is working out of the field. Low salaries and temporal jobs moved here to another different field. She doesn't repents her choice, as it was an incredible experience. And she would like to work in her field of choice. But the market pays more her time and capabilities elsewhere.
> But the market pays more her time and capabilities elsewhere.
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.
These days its easy for companies to remain mediocre and stay in business, thanks to FOSS and a competitive market lowering their tooling price.
Some time ago I realized that the only way to get the real worth out of value I create (as a highly skilled developer) I need to be building products / services and selling them to these mediocre corporations, I could not see a way I could survive in these companies in the long term. (weather they provided me with a growth path or not)
From my experience job searching, it seems that companies are looking for someone to fit the job description exactly instead of being willing to hire and to train someone. And when they can't find anyone, they complain about a shortage of eligible workers.
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?
I feel like the industry treats software development as a race to the bottom. The goal seems to be to pump out as many STEM grads as possible so they can pay them barista wages.
Are other industries like this? Why do I not see bootcamps for electricians and plumbers?
Electricians and plumbers have the same kind of issues.
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.
SV Tech Companies remind me of contractors who want to build a giant mansion on a hilltop.
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?
I think it's likely that both sides of the argument are correct. There are a large amount of STEM jobs that are not being filled, while at the same time there is a surplus of STEM graduates.
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.
> 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.
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.
I can speak from my own anecdotal experience. I am an Indian immigrant with 2.5 yrs of industry experience and a masters degree from a decent school. Please note that I do not support the H1b abuse by the outsourcing firms. They are pure evil and I honestly hope they go bankrupt. I also believe H1b needs to be reformed to remove the loopholes but that is a topic for another day.
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?
By the way, $120k is nice for NC, but the banks in NC pay $180k for the same talent. There is no shortage in NC for Big Data and Analytics talent, the company cannot find the talent because they are simply not paying as much as Wells Fargo next door. If they pay $180k, they will find all the talent they need. They might even convince talent from NY/NJ to move down for that sum. AIG Investments recently convinced a dozen+ group of analytics workers to move down to NC for that salary range. The people would not have moved down for $120k.
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.
I know three people (2 immigrants on H1b) of the top of my head that are getting paid 200k + inclusive of year end bonus in NC and they have 10 + years of experience in the industry. My old company tried to find a Big Data and Analytics lead for 6 months before giving up. They simply could not find anyone good. This was back in 2014-15. They were willing to go upto 200k to pay for it. To pay anything more than that would not be worth it for them as the ROI just does not make sense at that point.
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.
I'm running a startup right now, and you are absolutely correct -- I would not pay $200k for an analytics person. Our company's unit economics cannot support that type of wage.
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.
Interesting perspective. But what determines market wage? If my company is going to make 500-700k on me per annum, I think a 150k salary inclusive of bonuses + health care + very generous PTO + 5% 401k matching is a very good pay. Which is what I am getting right now. In the end, my company will spend about 200k on me per annum not including my visa expenses. So would that mean the market wage for this position is some where close to what I am getting paid? I think yes. However, if the company is making 2-3 million on me but only pays me my current salary, there is a lot of room for market wage increase.
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 :)
Dear @capRidiculous -- regarding your other question, "what determines market wage" -- market wages are whatever wages attract sufficient people to meet demand. That might be $15/hr in the case of flipping burgers, or $275k in the case of machine learning. It has nothing to do with the ROI of the company. It is the salary that will convince someone from giving up a competing job elsewhere and join an unfilled position.
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.
You make very valid points, but how do you expect someone to pay you 300k if they are not making more money off of you?
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.
By the way, our startup is a machine learning startup. We are pre-profit because we're still in the midst of a parallel medical trial of our diagnostic classifier. We are on venture funding so do not pay market wages. Instead I tend to personally hire new grads and train them. I hire pricey ML experts only as short-term consultants when we need.
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 :-)
By the way, since you mention "deserve" - the paycheck is not about what someone deserves. People at McDonalds work hard, I personally know two such people. They deserve a lot more. Unfortunately the market does not support the wages they deserve.
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.
Again, supply and demand aside, I would argue that the amount you get paid is based on the amount of ROI you are bringing in. Your average McDonald's employee works hard for 10 hours a day at an $8/hr rate. Assuming each employ generates $300-$400 in the end, in order to justify their wage increase, they need to generate more than that. I do not know how much value they generate but if generate more than 4x of pay, then I would fully support a pay raise. This can happen if we are willing to pay more than $1 for a McChicken. Are you really willing to pay more than that? Hard work is not equal to more money.
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?
I dont think you can put "supply and demand aside" because the market wages are by definition of where supply meets demand.
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.
You continue to forget the point that it really does not matter what your company thinks about ROI if the company next door is offering more money. The qualified people are going to go over there first, and you will get the leftovers. Why would the qualified people do any different?
"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."
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.
There is another point I missed -- NOT accepting market wages can carry real consequences. In the tech-heavy markets like NY and SF, home prices closely track a constant multiple of market wages overall (tech and non-tech.) As market wages go up, so do home prices. People are often pushed to their breaking points in terms of what % of their income they give up to a mortgage.
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.
184 comments
[ 2.6 ms ] story [ 60.4 ms ] thread"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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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?
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.
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?
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.
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?
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.
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.