So, I can't speak specifically to Qualcomm's case, however there's a weird paradox in Silicon Valley.
There's both an excess of jobs and excess of employees. This is probably true in every industry (every Starbucks is hiring, yet everyone complains how hard it is to find a job), but it's especially true in tech.
The problem is there's a shortage in qualified candidates. Salaries have gotten so high that even the most mediocre developers are demanding six figures. There's been a huge inflation of salaries in tech, and a decrease in craftsmanship and quality. So, companies are getting less done for more money. It's a gold rush, and we're getting to the point where "3 months experience [1]" is the norm.
I've been trying to hire. I'm not worried about high salaries for someone good. However my inbox is full of people who know half a language and want a starting salary of $130k. That's crazy.
I'm #1 engineering hire in the current startup I'm at for the past 2 years. I know more than half a dozen programming languages (ie I can read them, and reasonably tell if you're doing something horrific to the code) and I can competently/ confidently work in at least a few. Yes I have one language I'm deep in. I can do reasonable sys admin works, setup aws shit, knowing most of the basic work you need to know to set up <15 servers up and running. I will probably need both my eyes open and a google tab, but I can definitely get it done. And I am definitely at least half competent as the average Google/ FB employees, confirm by a sample size of ... a few (sadly, none of them being my interviewer).
Yet, I have failed to get the damning H1B in the last 2 years and have to leave next year. My company do plan to set me up with the green card EB process, but that takes a few years. And startup being startup, sudden death isn't particularly rare, you know the drill. I've been asking people every time I heard their them complaining about h1b and low skill ... and I have never gotten an answer.
Also, I'm trying to find a new job in SV for the past few months (thinking that I should live there for a bit before leaving the States), and the job finding process has changed me from self-doubt to angry to disappointed to wtf-is-going-on-up-there.
So, unicorn-without-a-horn developer looking for remote job! Will anyone hire me, wink wink ;)?
Was pretty much in your exact same boat 2 years ago. Had to leave. Spent 2 years outside as a digital nomad, working remotely from Asia. Got my O1 approved last month, and am moving back. On the one hand the last 2 years bouncing about in Asia have been a unique experience that has made me a grow a lot. I would never have done it without being forced into it. On the other hand, I missed SV so much and can't wait to be back.
Find my contact info in my profile, feel free to get in touch.
>> The problem is there's a shortage in qualified candidates. ... I've been trying to hire, and my inbox is full of people who know half a language and want a starting salary of $130k. The money isn't the issue; I'd pay way more than that for someone good. But six figures is crazy high for the average developer in SF. >>
How much more? $250,000? $500,000? $1,000,000? $3,000,000?
Sure, it is plausible that if all the companies in SF tried to pay virtually unlimited amount of money for exceptional programmers, they'd eventually run out of those programmers. After all even in major league baseball there are only so many 100 MPH pitchers to go around. But it's hard to credit claims that we are in that situation rather than one where the money _is_ the issue, when you aren't seeing numbers that would make a BigLaw junior partner or investment bank managing director jealous, much less a professional baseball player.
Exactly. You want to know of a true shortage of workers? 7 ft centers who are aggressive, not injury prone, and can hit a free throw. They're so rare that 17% of all 7footers in the US play in the NBA. It's why Deandre Jordan is making 100 million over the next 5? years. A shortage of programmers, ha!
There is one kind of shortage though, and one that is adequately compensated; programmers willing to work at below average wages for lottery tickets (read: technical cofounder equity) that happen to hit, and therefore end up making millions -- they don't even need to be exceptionally skilled, just right be in the place and right time (I've known several of these). But show me an Anthony Davis of coding who is paid as such, and I'll show you someone who is a skilled manager/entreprenuer.
Let's also consider that the middle management layer is earning 2x and upper management at least 3x a senior developer who's stuck somewhere in the 100k range. Trim the fat and you can have as many developers as you want.
Spot on! We have tapped out the supply of developers who are willing to invest thousands of hours in self training just for the love of the craft.
Now businesses have to either pay for training (which can take years and is expensive) or pay enough to encourage people to get into complex software dev for the money.
If you go the second route the starting salary needs to be six figures and needs to go up to 500k+ just like for lawyers and doctors.
The issue for the US is that they want to keep those good jobs here, and so they need to keep the good companies here. If the price is driven up -- and it is being driven up -- but you can get good devs in Estonia, India, the Philippines, Uzbekistan, etc, at a far more affordable price then:
a) US companies will hire those remote workers, causing cash to flow out of the US
b) companies will set up in those countries to compete with the US companies, but without the burden of the US' skyrocketing salaries.
This happened in manufacturing: the US had high salaries, so costs of manufacturing were too high, so the US started outsourcing to Asian, and now the manufacturing industry in the US is so bad that companies can actually afford to hire US manufacturing workers again.
The solution: when wages skyrocket, bring in foreign engineers. When wages are depressed, don't.
> now the manufacturing industry in the US is so bad
Isn't this pretty soundly debunked at this point? Honest question because I hear alternately "US manufacturing is dead" and "US manufactures more crap than anyone else except China, barely". I get the sense that saying the US manufacturing industry is dead because it doesn't employ many people, is the same as saying the US agriculture industry is dead for the same reason, and also wrong for the same reason (i.e. number of people employed is a weak metric for the strength of an industry).
> The issue for the US is that they want to keep those good jobs here, and so they need to keep the good companies here.
nope. you are mistaken, nothing keeps companies in any specific place except opportunities. With labor prices so cheap in Asia, what would stop company to just move all production off shore like they did for electronics?
they are trying, have tried and will try again countless time to outsource tech jobs, but it will take more years for them to figure out the quality issues they're having in doing so.
anyway it's not like oversea there are millions of great coders and engineers just waiting to code for food. STEMSs tend to be of higher education overall, which makes exploiting them harder.
Do we really have to hit 8-figure salaries for college grads before we can say with any confidence that we have hit a supply-limited market? We are supposedly a group of smart people; I hope we can notice the smoke before the house is burning down around our ears.
I'm not saying we have one. But I'm also suspicious of the self-serving opinions that rank-and-file developer salaries ought to be 10x higher.
Exactly this. Just because you call yourself a programmer/engineer/etc or have held jobs as such doesn't mean that you're competitively skilled or able to perform well in all jobs with the same title. I go into many shops where the people they call 'programmer', for example, really and simply are not. And some of these people have been in these roles for years (many years in some cases).
The truth is the mid and lower tiers are easily replaceable and why we see things going off-shore so frequently; and it's also what we have the most of. When it becomes a matter of very highly skilled, very highly talented people for the job: often times talent that you need you have a hard time finding... anywhere. This is why high tech companies are complaining about shortage; sometimes you just need better staff than what's generally on the market to maintain standards.
>often times talent that you need you have a hard time finding... anywhere. This is why high tech companies are complaining about shortage; sometimes you just need better staff than what's generally on the market to maintain standards.
That's when you pay more. A highly skilled programmer can easily make a million dollars a year for a company, so if demand is really that high and supply that low, there would be far more companies willing to pay $500k salaries.
> That's when you pay more. A highly skilled programmer can easily make a million dollars a year for a company, so if demand is really that high and supply that low, there would be far more companies willing to pay $500k salaries.
A programmer can easily make a million per year for a company and still find himself with almost no leverage within the firm, compared to someone on the business side of things doing the same. I'm in that situation myself, having made the company my salary for the next decade or so within my first year there, and yet you would not know that from looking at the work I'm doing here now or my career prospects here going forward.
The fact is it is difficult for non-programmers to properly assess the skill of other programmers, and at the same time existing programmers within just about any company you can name, are low-status enough that their recommendations for salary will go ignored. And so it is easy to see how most of the players on the supply side of the job market for software development, will behave very irrationally.
This paradox is explainable because there's a gap in the signal. It usually takes a considerable amount of time/experience to specialize in high skill labor markets (ex. Doctor, lawyer, etc.) ---- therre is a gap in the signal (present vs. future). So, today there may not be enough workers that are familiar with designing chips for wearables (subset of hardware engineers). Then, because of limited supply --- prices go up. Other people see this, and are incentivized to train for the role (takes time, investment, etc.). So, there is always going to be some mismatch between positions employers want to fill vs. the existing pool of labor.
Yeah, but you know what? The cost of living has also skyrocketed dramatically in Silicon Valley. I mean, you make it sound like engineers here are on a gravy train where we spend 3 months learning a language and can suddenly move to San Francisco where we just let the money roll in. The truth is it costs a lot to live in the Bay Area these days, and that means that if companies want people to move here they need to pony up and pay a good salary.
That $130k starting salary you mention is enough for a person to afford a studio in the Tenderloin these days?
Certainly one of the more absurd comment I've read on HN.
3 month bootcamp attendees shouldn't make more than $75k. They are junior as hell, and add little if not negative value for a long stretch of time. Even $75k is a reflection of the crazy job market, not their actual value.
Your COL & salary analysis for SF is incredibly off. Yeah you'll probably have to sacrifice the excesses of your upper middle class SF lifestyle (boo hoo...). You can easily live on $75/k year in a $1600/mo studio in the Tenderloin, or on the flip side you can have a $1600/mo shared apartment in the Marina. You can't do that if you have a family, (but if you do, that's on you for switching to programming while needing to support a family).
Crappy programmer entitlement is just so off the charts (and disjointed from reality) it's a little frustrating.
Well yeah... it's completely delusional to think a 3 month developer should earn the median income for programmers.
It's also unfair to your family to decide to support them as a completely inexperienced developer. Have some savings for a couple years until you can add value.
I don't know what Ivy League school you went to, but for relatively normal people an excellent lifestyle can be had on $75/k in SF. An upper middle class, eat out every night, Tahoe weekends lifestyle is not going to happen on $75/k in SF, especially if you want savings. But that's ridiculous to expect that a no-skill/ no-value newbie should get that. You still have to earn your salary.
An upper middle class lifestyle is not going to happen on $180K in SF either - if you are senior level, but have a family and want to have an adequate place to live.
Median home price just hit $1M. We are talking _median_, not a mansion.
> Well yeah... it's completely delusional to think a 3 month developer should earn the median income for programmers.
$75k is not the median income for programmers. $75k is the median income for anyone in SF. Which is exactly my point. To expect engineers to live in SF, you have to be willing to pay exorbitant salaries just to break even. If you want to pay a good salary, you pretty much have to pay 6 figures. Don't like it? Move to Cleveland or Detroit. I'm pretty sure $75k would be considered a great salary there. Just don't complain that developers cost too much and then require them to live somewhere with such a high cost of living.
Um, no. It's very well-documented that the reason rent is high is because the locals are strongly resisting the development of new properties. The resulting supply shortage, combined with overwhelming demand, makes property prices skyrocket. Therefore, companies end up having to offer high salaries to compensate.
Not enough housing because next to no housing is being built, let alone construction anywhere near the rate required to meet demand.
Honestly, $120->150k gross (pessimistically ~$72->90k post-tax) doesn't go all that far when you're paying anywhere from $24,000 [if you're lucky] to $48,000 (or more) per year in rent.
They need to consider moving outside the valley, if a developer with 3 months experience can get 130K. They can come to the midwest USA and get devs with 10 years experience for well under six figures.
And yet a lot of Bay Area startups (some even YC companies that popup here) think they can get away with offering top notch developers in their field $130k & poor equity.
The problem is that there's few companies who can afford to invest in training. Only big established companies can do it (and they do, extensively). Small companies and startups don't have the time or funding to do it.
Not only is it expensive, but training people in transferable skills can all too often result in them quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
>The problem is that there's few companies who can afford to invest in training. Only big established companies can do it
Yes, and since the financial crisis their share of profits as GDP has never been higher yet they still refuse to invest in training themselves. Instead they demand that the immigration floodgates be opened.
They don't want to do it because they just don't see employees as people any more. They're resources, to be tapped until they run dry, at which point, they are discarded.
This is a marked cultural corporate change from the 50s-70s when the 'job for life' was still a thing, people got defined benefit pensions and CEOs would choose to make long term investments rather than engage in share repurchase shell games that boost next quarter's share price.
>Not only is it expensive, but training people in transferable skills can all too often result in them quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
This used to be much less of a problem when companies actually demonstrated loyalty to their employees. A natural side effect of lobbying hard to make it trivial to fire people and doing layoffs as a matter of course is that your employees won't be loyal. Tough shit.
> Not only is it expensive, but training people in transferable skills can all too often result in them quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
Yes, once you train a person you need to pay them more. You might feel like they owe you, but unless there is a real understanding between the two of you that you are investing in them and expect to pay them less for some period of time to recoup the cost (eg in the form of a contract you both signed stipulating a minimum term after training, with claw back provisions), this is what you should expect.
Depending on how much it costs you (besides their salary) to train them, it can still be cheaper to hire and train than getting someone experienced, since everyone needs some time before they're really effective and you're paying them at a lower rate while you train them.
There is something to be said for small startups just not being able to support that kind of load, but I feel like once you hit about 20 engineers it's just people being lazy and not wanting to do things any differently, rather than any true constraints.
The fetishization of the 10x developer leads us to ignore the fact that lots of the work developers are tasked with doing is really quite repetitive, intellectually unchallenging and uninspired.
The fact that something is repetitive and intellectually unchallenging doesn't mean it is mechanical and doesn't require human involvement and/or judgement.
> Small companies and startups don't have the time or funding to do it.
I think this depends a lot on how you do the training. Sure, if you think of training as something very separate from the work, then doing lots of it could be expensive. But the last team I put together was very collaborative, with pair programming being the norm. In that environment, a lot of training comes essentially for free.
In a rapidly growing startup, I think building your processes with a strong bias toward staff development is the best way to scale. No matter how much experience a new person has, they still have very low knowledge of the product, the audience, local process choices, and the local code base. So startups always need to be educating their staff. Adding some technical education on top of that doesn't seem hard.
Personally, I've never quit a place where I'm still learning a lot. But I've hired plenty of people because they felt like they were stagnating in their current jobs.
>...quitting right after their training is complete and going to work for a company that invests in paying its employees more money instead of training.
This shows up a lot, and it's worth debunking. Salary is not the only reason that people take a job, and it's not the only reason that people switch jobs. There can be huge costs (for all parties) to casually switching jobs, and most employees stay put longer than the training period. Additionally, there are standard contract terms that enforce retention periods in exchange for certain types of training (e.g., advanced degrees, etc.). Finally, "salary for engineers" and "training for engineers" are not the only headings in the ledger for running a company - and the value of a company is not a zero sum game; a well-trained technical workforce is more valuable than the alternative, but it has lately been more cost effective and lower risk to transfer that responsibility to (prospective) employees.
>The problem is that there's few companies who can afford to invest in training. Only big established companies can do it (and they do, extensively). Small companies and startups don't have the time or funding to do it.
"Training" is far too broad a term for this to be accurate. Training can mean anything from training someone how to use git to training a non-programmer to be a data scientist. We can't expect a company to spend multiple years on the latter, but even the smallest, leanest startup can afford the former.
Salaries are, in part, a way of reimbursing people for their educations. Sure, large companies can (or, more accurately, need to) train people. But, look at, say, my startup. I'm the only engineer. How am I supposed to find the time to train someone who can barely program? Things would get done significantly quicker if I just did everything myself.
> The problem is that there's a shortage of companies willing to invest in training.
How so? Nearly every tech company has extensive internship programs, which are undoubtably an investment in their future workforce.
Moreover, high tech salaries are compensation for learning this stuff. If you were to spend years learning on the company's dime, I'd expect salaries to be much much lower.
>How so? Nearly every tech company has extensive internship programs, which are undoubtably an investment in their future workforce.
Or just cheap labor.
>Moreover, high tech salaries are compensation for learning this stuff. If you were to spend years learning on the company's dime, I'd expect salaries to be much much lower.
I'm not complaining about the tech salaries. They are. That's why several of them engaged in a wage fixing cartel.
No sane employer turns to an internship program for cheap labor. For one thing, intern salaries are not exactly "cheap" ($10k+ at SV companies).
For another, nearly every intern is a net drain on the company in the immediate term. They take more time for supervision than it would have taken for a senior developer to just accomplish their project.
If you assume that interns are actually cheap labor, I have to assume you've never run an internship program.
> I'm not complaining about the tech salaries. They are.
So why should they invest in training? In the immediate term, training actually makes the shortage more acute (as you have to move senior engineers into training programs).
The far more sensible solution is to just bid higher until you can get the senior developers which are actually out there. Note that that's what actually broke the wage-fixing cartel: Facebook.
Of course, they would always like to pay less for developers (just like I'd like to be paid more and would like to pay lower taxes). Fortunately, unless you have a magic training program which compresses 10 years of experience into 4 weeks, salaries are likely to stay high for quite some time.
>No sane employer turns to an internship program for cheap labor.
You're kidding, right?
>For one thing, intern salaries are not exactly "cheap" ($10k+ at SV companies).
Relative to tech salaries after graduation that's cheap. In industries without such high salaries interns often don't get paid at all. That's super cheap.
>For another, nearly every intern is a net drain on the company in the immediate term.
So are many dirt cheap outsourced developers. That doesn't change the why they are hired.
>So why should they invest in training? In the immediate term,
For a long term investment pay off.
>Note that that's what actually broke the wage-fixing cartel: Facebook.
A class action lawsuit by tech employees broke the cartel.
I've literally never seen a company make a net profit on interns. Talk to people running intern programs: it's explicitly seen as a hiring funnel for full-time, not as an end of itself.
> A class action lawsuit by tech employees broke the cartel.
The lawsuit came after the cartel had already stopped functioning. Facebook refused to play ball and started recruiting aggressively from the other companies (particularly Google), directly undermining the wage-fixing.
You should work at a law firm sometime. Interns are very, very profitable for them, because they work insane hours and do everything they are told without question.
The tech industry isn't that different. The only reason kids get a not-horrible salary interning at Google and jack shit at Marie Claire is because of the prevailing industry salaries.
(which is something the tech titans are trying to "fix")
Entitled to what? These firms seem to feel they are entitled to relaxed immigration policy as well, and that wages collusion should be BAU if they don't get their way - yet it's entitled to think that a company should train an employee to do the job they want them to do?
Keep in mind that we're not talking about teaching people computer science in the abstract, or turning non-technical people into engineers. People applying for programming jobs should be able to demonstrate some level of general competence of course. But if your HR department has a laundry list of keywords it is pattern-matching CVs against, with the result that many eminently-qualified candidates are dismissed without so much as a phone call or even a Codility screen or whatever, then you either need to take another look at in-house training or quit the constant bleating about a shallow talent pool.
"The problem is that there's a shortage of companies willing to invest in training."
This is a sad excuse. Companies should be paying for training of specific skill sets to the company, but not for knowledge and skills you should already have to get the job.
This would be like asking a hospital to pay for medical school to get a qualified doctor. It's absurd.
The hospitals do have to pay for medical school. If they didn't, nobody would go through it.
Here's a cleaner example: suppose getting an M.D. required a filing fee of $800,000. You don't think that would show up in what hospitals paid doctors?
This isn't entirely what happens. For most doctors at their first jobs the hospitals will write out most, if not all, of their medical school loans depending on how much there are. They use this as signing bonuses and to tempt doctors to their hospital.
Then it's a moot point. Software developers are some of the highest paid professionals. This pays for the cost of any education already (college, etc).
The OP is implying that an employer should not only pay a salary, but pay for an employee to get trained.
I would posit that Starbucks example is the exact reverse of what you're seeing in the tech industry.
Starbucks is hiring, but a lot of the workforce that is unemployed is overqualified with bachelor degrees that they thought would guarantee them a safe job on a nice career track. Upon graduation, they are finding that there is a shrinking pool of jobs for them, and that they'll either have to retrain (do a masters or do a crash coding course) or take a job well below what they expected with their degree.
Most of these people will have to rely on connections or networking to get a decent job, and the unlucky ones will join the services industry and work as a barista or a waiter, providing the infrastructure for the tech gold rush.
This is an interesting viewpoint about Starbucks that I have heard many times. So here is an article [1] talking about how 75% of Starbucks employees don't have a college degree. If you go up the Starbucks hierarchy
50% employees are baristas.
35% are shift supervisors
15% assistant store manager or higher in the hierarchy
Which means the odds are overwhelming that every employee you interact with in a normal Starbucks doesn't have a college degree. So why this view that college grads are flocking to Starbucks because they can't find jobs.
In fact, Starbucks has started the free college option to make sure that even non-degreed people will find Starbucks attractive enough to apply. [2]
I avoided singling out the larger corporations at the end of my comment (Starbucks, McDonalds, Dunkin Donuts) as I don't have any friends who will be working service jobs for these chains.
I graduated undergrad a couple of months ago, and I do have a fair amount of friends who gave up looking for work in the finance/startup field full time and are now working at trendy restaurants/bars in the SF NY area to make ends meet while searching on the side. Anecdotal evidence, but that's what I've seen.
The bar and restaurant business has always attracted college graduates who found that they could make decent money (and, I suppose, continue the nocturnal hours they were used to). I remember a guy who had passed the New York bar exam, which gave him the right to practice quite a few places, and kept right on tending bar, despite frequent phone calls from his mother. But he was certainly making better than Starbucks money.
I don't understand how your claim about Starbucks employees not having college degrees contradicts the assertion that people with college degrees apply there but don't get hired because they're overqualified. The employees actually hired would be those without degrees, which is what the OP says.
I would also add that despite quoting juicy statistic from your article, you don't seem to have read it accurately - there's no about how many baristas have degrees. The only comment is that 25% of all employees have degrees. I don't have the data tell what the chance is that the average Starbucks barista has a college degree but I'd claim neither do you if you're just going by that article.
That's odd, cause I just left a job where I was juggling 4 programming languages on a weekly bases (AS3, Go, PHP, JS) and I was getting paid shit (sub 50k). I tried and tried to find a programming job, but nobody wanted me, so I ended up going computer security. Love the new job, love the field, but you can't tell me that there's nobody in the US that has the skills and want somewhat decent pay. I was one of those people, and no one wanted me.
My comment was more glib than a real complaint about how hiring is going for us. No good developer spends time on Angellist; it has to be proactive. That being said, we do get dozens of inbound applications every week from dev bootcampers who find us through Hacker News job postings/Angellist/etc.
Ads can catch good people in transition, or looking for a change.
Anecdotally, I've hired truly great people, and interviewed ex-Googlers and other good pedigrees, from Stackoverflow Careers and HN posts.
1) I once hired a pre-Googler on StackOverflow even - a guy who was on his way to Google in the fall, but liked my project, and wanted a summer gig. He intended to spend a few months vacationing, but got bored.
2) Another guy I hired via HN originally just left for Facebook, this month :(
3) And our current, long term, best developer, I found on Careers StackOverflow. I credit him with much of the success of our company. He's a special combination of outdoorsy and amazing coder, but no college or professional pedigree. He was hurling dynamite at avalanche banks when I found him, coding amazing apps with little revenue potential.
I guess I meant that no good developer is out looking for a job on something like Angellist or Hired.com. And plus, it never hurts to be a bit optimistic, I suppose.
Then are you just round-filing CVs that you get via that path? Because if you really think that you'll get no good candidates that way, all you're doing is introducing needless noise into your search process by cluttering it up with unwanted candidates.
Either you're not being honest about your opinion of those sites and others like them, or you are behaving irrationally.
I'm about to start looking for work on tomorrow's whoishiring threads -- either freelance or full time, we'll see -- and I've been programming for about 30 years and, honestly, I'm not expecting to get a lot of offers event at around the $75k range. Maybe any at all.
If nothing else it'll be interesting to get a glimpse of the prospective employee side of this puzzle.
Not exactly. The complaint was people who want big money and don't create a lot of value. The ones who want $130K and you ask them why page loading is so slow and they tell you its because the bubble sort they run on every update takes forever. They create negative value.
Then companies better start paying more. This is how supply and demand works. If $130k only gets you incompetents, then it's time to start offering $200k, or whatever the magic number is.
Remember: Any time you hear an employer whining about "lack of qualified candidates" be sure to mentally append "...at the rate we want to pay."
But if the cost of an employee is > their value, you get massive off-shoring. That's the danger, and as an Australian the opportunity, of Bay Area pricing being so crazy.
If the Bay Area wants to keep its advantage - in a world where Alibaba is the lead IPO of the last 5 years - it needs to remain competitive in all ways.
No need to 'off-shore'. Presumably companies in the Bay area could start (or grow) branch offices in other places in the US that don't have such a high cost of living.
It may be that the cost to attract talent to the Bay area is now too high for all but the most profitable businesses. I have no idea if this is true or not but conceptually the giant payrolls needed may finally be overwhelming the benefits of locating a company in the area.
The complaint "I can't differentiate competent applicants from incompetent ones" is a very different one than "I'm not getting any competent applicants". Offering a higher salary incentivizes more competent applicants to apply.
This article makes the persistent assumption that any graduate is the same as any other engineer.
Having worked for a whole bunch of companies over the past few years, one thing is a constant in the tech industry: there is a limitless supply of candidates for any given job, all of which are bad. It is a huge, challenging problem to find the small number of people you want to hire. I'm not sold that "10x developers" really exist, but I know that "0x developers" are plentiful: these candidates aren't just a "poor fit", they are entirely unable to do the job they're applying for. I've seen far too many graduates who are entirely unable to solve the most basic screening questions, and just don't seem able to write code.
In a similar vein, it is entirely reasonable for a company to be simultaneously cutting jobs and hiring, if they are cutting persistent underperformers and trying to hire more promising replacements. (Some legal fiction is necessary to do this in the current regulatory environment)
If only those bad developers were "0x developers", it would have been the problem of spending money on their salaries. In reality there are many "-10x developers" which may increase the costs for maintaining the software, or cause a lot of performance problems with the results of their work.
Something I've thought a lot about at my current job is the relative nature of the 10x engineer. Half of the developers on my team consistently require over a week to accomplish tasks that would take me half of a day. That's a 10x difference. Some of these people have several more years of experience than I do. Everyone has over five years of experience.
The very fact that the disparity is accepted and allowed to persist is pretty demotivating. When deadlines slip, its not the stragglers who are asked what happened, its the high performers. It's not the stragglers who are asked to work more hours, because management knows that those hours would be ineffective. What that really translates to is "Gee, being 10x more productive is great, but we're behind, and you're the developer most prepared to fix this problem we have, so we're gonna need 15x."
Are there actually 10x developers who don't resent their 10% counterparts?
First, I don't know how this even started. Why did tech companies all of a sudden decide there was a shortage of knowledgeable and competent workers? I'm asking because throughout my career as a programmer I've worked with people from all sorts of backgrounds that have not had a traditional CS degree. They have come from fields like math, IT, physics, mechanical engineering, etc. Engineering disciplines but not really computer science.
The kind of work I've seen all those people do has also varied from things like control software for fields of heliostats to frameworks for server orchestrations to search and data mining. So how is it that I've managed to work with so many competent engineers and yet these giant corporations can't figure out how to hire semi-competent engineers to do some of the drudge work that I'm sure they need done? Maybe the problem is not with the workforce and the availability of knowledgeable and competent workers? Maybe the problem is their shitty hiring practices?
The tech industry's managers have been whining about this at least since I entered the workforce in the early 80's. I tend to think it's because the rise of the MBA and the consequent unwillingness to invest in people. MBA's want to hire engineers like they buy office furniture. And then manage them like a group of accounts payable clerks. Doesn't work.
Then add in the managements favorite predilection 'downsizing for success' In order to boost profits over the next couple of quarters, can a a few well oiled engineering teams. Then wonder why you don't good house engineering resources for the next big thing.
This is a difficult problem to discuss, in large part because not all developers are created equal.
There is a reasonable supply of entry-level and low-skill developers. I refer to them as commodity developers: Developers who have a very basic skill set, who can do only a few specific things, none of them with extreme skill, but some of them reasonably competently. They typically do web front-end work, but sometimes work in Java on server back-ends. Typical pay ranges from $80-$120k, the same as it has been for 10 years or more.
There also is a shortage of high-skill developers. Compensation north of $250k-$500k is becoming standard in some areas for such developers. [1] That pretty much could only happen if there were a shortage, since real wages have remained flat in general since the mid 1970's. [2]
The problem is when companies ask for more H-1B employees, citing the fact that they can't hire developers for their highest skill positions (or claiming that they can't hire mid-skill developers at "market rates", because even the mid-skill tier is asking for more money now), but then import commodity developers.
By importing such workers, it unfairly keeps those developers' wages down by creating an artificial surplus of employees at that level. The idea of an H-1B worker is that they are not supposed to be paid less than the "prevailing standard" for a worker of equivalent skill in the local market [3]. But if by hiring H-1B workers you're holding down the "prevailing standard" in pay, that hardly seems like companies are following the spirit, or even the letter, of the law.
[1] My own compensation was in that range when I took a job working from remote full time, and I know several other developers at top companies whose compensation is well within that range.
This definitely gets at the problem, imo. There would be much less opposition to the H1B program if it were bringing in exclusively employees with, say, $150k+ compensation. It would be hard to argue those employees are undercutting salaries, except perhaps a few of the higher salaries. But there are a lot of $60k salaries on H1Bs, which seems a lot more suspicious. How scarce can a skill be if you're only paying $60k for it?
As far as I can tell, a lot of the misuse comes from the enterprise/consulting space. Companies like Google seem to be mostly using the program as intended, bringing in high-end and highly paid talent. But there's a weird corporate dance going on with "solutions" companies like IBM and Accenture, who subcontract through overseas outsourcing firms (sometimes derogatorily called "body shops"), who in turn use the H1B program to bring over some of their staff to the U.S. office to staff the contract. This use of the program looks more like undercutting wages than bringing in unusual, hard-to-find talent.
My pet solution to the problem is to prioritize quota slots by pay tiers, as a rough proxy for how rare the skills being sought really are. So e.g. any company willing to pay $200k+ salaries to a candidate gets in line first for this year's H1B slots, then $150k+ applications are processed, etc. I suspect companies would oppose this for fear that it would create a bidding war for H1B talent, though, which is the last thing they want.
They work on security, mobile, back-end, and "I can't tell you what I'm working on," the last being the most common answer, unfortunately. The common thread is that they're all good developers. I got my offer in large part because of Android development skills on top of low level skills, which on Android means I'm comfortable and experienced with the NDK. But I also know Windows, full-stack web, high performance servers design, scalable server design, multithreaded programming, game development, and a half dozen other interests/skills.
Most of the compensation comes in the form of stock grants and/or signing bonus. My compensation was $160k "salary" plus nearly that much in signing bonus+stock grant. Actually if I hadn't left the company, their new stock price would have meant higher total compensation this year, but I wanted to pursue my own things.
I want to second that the salary tends to top out, and the rest of compensation is very heavily stock based. Also that stock compensation might of not been as worth as much when it was defined, but because the company stock has performed well, it's value has increased significantly.
For example if your 4 year stock grant was rated on the early 2012 price of apple, and now it's about double, then your making a lot more money!
> What skills in which areas are routinely worth north of $250k?
Anecdotally, it's not a specific skill, but a talent for solving problems using any tools and skills necessary. The 10x developer is real, and he's not afraid to read a damn textbook or go to the library and study CS papers if that's what it takes to do the job.
"go to the library and study CS papers if that's what it takes to do the job"
EXACTLY! I've been knocking them off for years. Most modern problems are variations on older ones. First step is to see if someone solved it already, how, and if I can use it. So, stopping code injection for example, I find that all kinds of hardware from 1960-1980 tagged memory & used CPU in ways that prevented it. Stack overflowing S.P.? Use a reverse stack like MULTICS. Pauseless GC? Put one in memory controller on your FPGA/ASIC like a Scheme machine did. I could go on all day on this stuff.
So much wisdom in relatively, few books and a bunch of papers. I wish someone would figure out a way to collect, organize, and spread them. That way people might stop asking me things like whether OS's can be written in "managed code." Stock reply: "type Niklaus Wirth or Oberon System into Google."
As glad as I am to see someone mention all this great old technology, I feel compelled to point out that the GC on the MIT Scheme chip was not pauseless. It was a fairly simple mark-sweep collector.
They had to leave it out of the first prototype due to space constraints but describe the approach. They build a second, state machine into storage interface that continuously looks for stuff it can reclaim. The idea was clearly to make it concurrent and use dedicated circuits. An enterprising reader of old wisdom would combine this with any number of parallel/concurrent algorithms in literature to achieve GC w/ predictable, performance impact.
That work was later referenced in a 1976 treatment of the subject that worked out foundational issues for concurrent collection:
So, the original LISP machines and many later used mark-and-sweep often around or during a heap exhaustion. There were concurrent ones, with most using software. The Steele chip describes a concurrent design w/ straightforward implementation in hardware. That combined with literature gave people more than enough to acceptably solve this problem.
Yes, but everybody thinks they are a 10x developer and everyone else is shit. Big companies know exactly how to take advantage of these dummies. "What you're not done yet, I thought you were a 10x developer. Better get it working this weekend."
Huh. FWIW, I do consider myself 10x. I've only rarely met developers who claim 10x but who weren't at least good developers. And I have met developers who were crap, but I don't think it of everyone else. Just the ones who were crap. ;)
It is true that I think of myself as particularly good. For reference, I was working for one of those companies I listed above, and I put in less than 30 hours in a typical week, and still got heaps of praise for how quickly I got things done (in calendar time). I kept asking for more to do, but never really got enough to keep me busy full time. Ultimately I ended up helping with related projects, or company-wide tooling, just because I enjoyed helping and had the time.
I didn't feel the need to prove anything, exactly, but sometimes things would go south and I'd put in more hours because I felt like something should have taken less time, yes. That's not "prove to me you're 10x!", but my work ethic coming out and keeping me on task until my expected workload was actually complete.
But even then I don't think I went beyond 45 hours in a week in my time there as an employee. And I didn't work on a weekend even once. If something really hadn't gotten done in what I felt like was a reasonable work week, I would have let it slide. That may have happened once, but only once. Making the proprietary company build system do things it wasn't precisely designed to do ... well, I just can't talk about it, since I don't swear in public posts. ;)
HFT firms pay very well for systems and HPC developers, especially when you count the bonuses. I'm not sure when/if the total salary reaches 500k, but I've heard that total salaries from 200-300k are fairly common.
A recent graduate friend of mine just started in the field and he has a base salary of 160k (don't know what the bonus is), so 250k for a senior developer doesn't seem out of the question.
HFT seems to be its own beast, for better or worse. I've heard from pretty much everyone I've spoken to with any experience in the field that if you have the skills to be there in the first place you'll be over the $200k mark within the first year or two.
The problem with "prevailing wage" is that if you classify someone as the lowest tier programmer (not developer or software engineer), the prevailing wage is like 65k. So it's really quite easy to meet that, even for Infosys.
As someone working in the states on a visa, I feel like the prevailing wage should be set at least at some high percentile of salary, the same way O-1 visas require* pay in the 95th percentile, though I don't think you want to get rid of the grades of developers so that companies can still hire excellent junior developers.
"There also is a shortage of high-skill developers. Compensation north of $250k-$500k is becoming standard"
I don't see it at all. At least in Boston, salaries seem to top out at $170K, perhaps a bit more if you have a _really_ rare skillset. But in a stagnant economy getting $180K is not easy. Usually a lot of hand-wringing about the cost, etc.
The just-released Employment Cost Index (ECI) rose a record-low 0.2% last quarter. This is hard data, not anecdotes.
There is a major flaw in this article. Software developers are not cogs. Just because someone has an engineering degree does not make them just as good as any other developer. Being able to write great software usually comes from passion and practice, not a piece of paper that says "Computer Science BS". Some of the best developers I know didn't even get an engineering degree. Is there a shortage of people with pieces of paper? Maybe not. Is there a shortage of people that love writing software enough to spend most nights and weekends doing it? Yes.
This is based on my experience interviewing candidates for two small tech companies.
> Is there a shortage of people that love writing software enough to spend most nights and weekends doing it?
And this is actually another, if not part of, the problem. I’m passionate, I would even return to pull a couple of all-nighters. But I would never do it again for a company which I don’t own. I have a family, I want to spend time with all people who matter to me. I don’t want to to spend my time with your company, your engineering problems, and in the end probably get replaced by a cheap outsourced worker who is competent enough to maintain my code and add a couple of smaller features.
Degrees are no guarantee, but that’s how it rolls. You believe people more if they have some evidence, and you even believe them more than a friend of you recommended her. Blindly trusting people you don’t know while hiring is a recipe for disaster.
I don’t trust you. Give me money and you’ll eventually gain my trust. In return I’ll give you solutions for your problems. You probably don’t trust me, too.
>Some of the best developers I know didn't even get an engineering degree.
How do you know this is just not confirmation bias on your part. You like to think that degree-less people are somehow vaguely 'better.' You know some developers that don't have a degree. Consequently they must be the best developers you know. I think most would agree that you would need actual double blind research including some way to order developers by ability that made sense. You would also have to have a sufficiently large sample size randomly chosen instead of your biased sample of a few people you know. It stands to reason, though, with no research done that you are just more likely to know more developers without degrees since only 18% of the population have a Bachelors and 7% have a masters.
I think you misinterpreted what I said. All I said was, a degree is not a necessary or sufficient condition for being a great developer. Evidenced by the fact that there exist great developers without degrees. I'm not drawing any whacky conclusions about one group being "better" than another.
Also, for what it's worth I graduated with two technical degrees from descent university. Most of the developers I know have engineering degrees.
All arguments aside, there's one fundamental way to answer whether companies' talent shortage complaints are "phony" or not: pay. If there really were a shortage, pay would be rising dramatically. Average engineers would make 200k, 300k... Just like doctors do. But it isn't happening. These BigCos just want more supply so they can pay even less than they do now. Plain and simple.
Edit: Doctors and lawyers make so much because of artificial governors on the supply. They're not absurdly more talented or educated than other people (e.g. engineers), there are simply fewer of them. In the case of doctors, med school is the limiting factor. The time and $ investment is nuts. For lawyers, it's the Bar exam. When there are too many lawyers, the Bar association makes the test harder. When there aren't enough, they make it easier.
This makes me want a standardized programming test so a) talent level could be gagued more accurately than a cursory glance at someone's github account and b) the supply of engineers would be choked off.
Pay in the field has indeed risen dramatically in the last decade. Maybe not uniformly or to the level we would like (or in a way we think will last, such as being accompanied by increases in status in contrast to doctors, to expand on your example), but it has notably risen.
A pay-trend graph for some of these "established" companies, like Qualcomm, Texas Instruments, Seagate, IBM, Dell, HP, etc. would be interesting. My guess is pay has indeed been rising, but not as rapidly as the Silicon Valley boom would suggest. Unfortunately I don't think there is a good public data set.
Alternate theory: "BigCo"'s internal processes have poor ability to distinguish talented developers from commodity developers, so all the good developers evaporate away, leaving BigCo with a poor of mediocre developers and a higher overall cost of getting things done. (This greater cost and reduces flexibility makes them vulnerable to smaller companies that can distinguish talent and attract it.)
I've always viewed these persistent and ridiculous claims of a tech-industry worker shortage through a lens of class. To a Harvard MBA, that we programmers earn six figures is prima facie evidence of a worker shortage, since there's no way that ugly nerds should be earning that kind of money for typing into a computer.
Programmers are workers, so investors and management should be able to siphon off their productive value the same way they siphon off the productive value of other works. That they can't right now is an aberration, a disease to be cured with massive immigration.
That we're not doctors or lawyers and make decent money is something that simply does not compute for these types.
When I was in college, I was doing engineering. Many of my friends got bored and wanted to go MBAs. I almost went that path until I started programming.
Ever since then I went from a commodified drone to feeling like a kid.
It felt like escaping the capitalist matrix. I almost was seen upon as a hippie. I told my dad that "I have no interest in pursing an MBA, I just want to spend me time in a cave with a terminal and a few books"
He was almost shocked by it.
I notice it all over in society these days.
If you read about how tuition fees are rising and students are in debt, people make insane arguments like "well on average a person earns X more over their lifetime by having a degree"
I never noticed how ridiculous these arguments were.
I have been reading a lot on economics lately and karl marx predicted this outcome.
We have in many ways reached the end of capitalism, before capitalism as a system breaks apart. We are trying hard to commodify labour - but the great paradox is if you commodify labour then the free market stops existing !
I can go on and on, but yes - we need to get rid of capitalism and this free market darwinist bullshit and return to a more social and morally right form to organize society.
Karl Marx originally explained the idea quite well.
Wages in a real economy is the real driver for demand. The capitalist yearning to drive down wages and cost as much as they can. That is how the system was designed !
The end result of thus maximum capital accumulation is a Commodification of labour. What does that mean ?
It means that once wages are pushed down enough - there is no room for labour to increase demand and thus generate growth ( the thing that drives capitalism ).
Once you commodity labour then the demand side of your market collapses.
This was what essentially what happened prior to the great depression and what happened ever since 2008.
I know people in silicon valley live in a bubble, but if you go outside you will see that the world is burning.
The reason why tech engineers are being paid 500K is not because of some inherit huge contribution to society but because huge accumulated capital is looking for yield.
One way to solve the european debt crisis for example would be massively start spending. Imagine a massive investment to completely reform europe into green energy. There is however no political will to pursue this.
The Chinese however understand this very well, their leaders are well versed with karl marx's study on capitalism - unlike in the west where neo-classic liberalism has corrupted the field of economics to such a degree that we cannot even openly talk about marx's analysis.
For example the Chinese had 0 miles of high speed trains in 2009. Now they have 6000 miles worth of it !
They spend more cement in a year then america did in 100 !
They have more green energy then then both US and europe combined - even though they had no technological expertise until recently.
The Chinese also are spending a lot on their military but its a small part. They know that it can bankrupt a society.
Their most astounding new initiative is to provide free universal healthcare to 1.4 billion people !
While we in the west cannot even get out act together to solve the greece's debt problem. We are driving up growth by inflating huge tech and asset bubble in hope of driving up demand since the government is completely paralysed to act in a decisive way.
This article makes the perennial mistake of assuming all "STEM graduates" are equal. This is flawed in three main ways:
1. STEM graduates includes many fields where there genuinely is a huge surplus of labor (we don't really need more physicists).
2. Talent is critical and sadly a large number of CS graduates do not have the talent to be good developers. Many fresh graduates just don't have the skills to cut it as a high-quality professional developer, yet the best ones have six-way auctions going. Companies are absolutely desperate for good developers, with the operative word being good. (Don't even get me started on bootcamp graduates.)
3. The shortage of developers is most acute for senior developers. It takes about 10 years to become a truly senior developer and 10-15 years ago not many people were interested in starting a career in CS (the dot-com bust was still raw). This shortage can only be solved with time or immigration and until then senior developers can command considerable salaries ($250k+ all in).
The market doesn't "need" any physicists. Hiring in sciences basically scales with available federal grants for research, which basically scales with the success of liberal politics.
The IEEE points out regularly that there's no shortage of engineers. Otherwise, salaries would be going up across the board. Whenever some employer complains they can't find engineers, ask how many people they have in off-site training right now.
Companies need to be paying for training that's just conversion from one skill set to whatever skill set the company needs right now. Most programmers who are competent in at least two languages can easily learn a third. A combination of explicit training and someone to answer hard questions is usually sufficient. (There's startup potential there - offer conversion training courses, where people who already know A are taught B. A "hard question" answering service, sort of like StackOverflow but paid, with a service level agreement, and without the clueless closing of questions, could work as a business.)
This industry has forgotten what management is for. Part of the job of management is to organize the division of labor. Not everyone can do everything. It's the job of management to divide up the job so that no one part is too hard. Instead, we see a demand for "full stack developers". That's a confession of incompetent management.
> What Tornquist didn't mention was that Qualcomm may then have had more engineers than it needed: Only a few weeks after her June 2 talk, the San Diego company announced that it would cut its workforce, of whom two-thirds are engineers, by 15%, or nearly 5,000 people.
How do we know that 15% isn't mostly coming out of the non-engineering 33%? And they may well still be hiring engineers massively.
Until the law is passed that releases all restrictions on visa-workers and simply grants them citizenship or an extremely permissive stay-while-looking-for-a-job situation, increasing the h1-b quota is simply a means to create a reduced-rights cheaper workforce.
It really fills me with disgust to see influential people present this issue as a skills shortage, while hiring workers at reduced wages and burdening them with the threat of deportation.
Jack Dorsey, Bill Gates, Drew Houston, Tony Hsieh and Gabe Newell and Mark Zuckerberg aren't throwing their name and money at learn to code charities out of the goodness of their heart. They're very directly trying to lower the primary cost that their investments face - wages.
"throwing money at learn to code charities out of the goodness of their heart. They're very directly trying to lower the primary cost that their investments face"
Wow that's a unique level of cynicism even for this generally cynical forum. I'm speechless. So you see all these efforts to raise interest in computer science in younger generation of Americans and all you can think of is how all these new, enthusiastic programmers are going to compete with you?
Well it's not "wrong" in the sense of being factually incorrect but wrong in the sense of being just pathetic for a professional to be thinking such thoughts. Honestly, if you see a younger generation of students taking interest in your field, and instead of encouraging and teaching them, all you see is a threat to your livelihood... well... the profession will probably benefit if you found yourself something else, less competitive, to do.
I don't see the vast majority of these young programmers recruited by this type of propaganda as being enthusiastic, sadly.
They see the salaries, see that all of the other good middle class jobs have dried up and think "well, it's either learn javascript or be stuck in Starbucks forever". The fact that so many persist at it even while hating it makes me sad.
These kids should have a multitude of options to a good middle class job, not just one.
That's thanks to decades of vicious economic policy directed by billionaires like the ones smiling at you in that promotional video.
The economics of that theory don't (seem to) make sense. If you expand the supply of a factor of production, you expand the supply of the output. The employer pays less, but has to sell for less too.
If widget specialists flood the market, their wages go down [1], but so do widget prices. The factory owner doesn't necessarily benefit, just like grocery stores don't benefit from higher tomato prices. (In fact, they may lose in greater shoplifting costs that can't be passed on to customers.)
On top of that, there's the public goods problem, of how other employers, who aren't expanding the supply of programmers, can hire them just the same.
So I don't see the monetary incentive to fund these things like you claim.
[1] Of course, just like your claim about programmers, this ignores systemic/ecosystem effects: maybe the lower price of widget labor will lead to investment in capital that depends on widget labor, which leads more investors to look for better uses of widget labor, which bids it back up. This isn't an unreasonable dynamic to expect in software, as more app ideas might get pursued than otherwise as more programmers come on the market.
>If widget specialists flood the market, their wages go down [1], but so do widget prices.
Only if we make the patently unrealistic assumption that the widget manufacturers have negligible market power (a perfectly competitive market). That assumption would also lead us to believe that they have negligible profits. They don't.
Those billionaires have a lot of market power between them and make a lot of profits.
If we used your assumptions, the tech wage fixing cartel of 2013 would also have been impossible. It happened.
True: depending on the parameters of a particular market, things may go one direction or the other. I acknowledged as much in the footnote referenced in the part you quoted, and indeed gave a scenario where the input prices go in the opposite direction as profits!
So your theory [1] would require that this "make everyone a better programmer" is more like wage-fixing (in terms of economic incidence) than the tomatoes, even though
a) the wage fixing affected demand, and this education program affects supply, of programming labor; and
b) the big companies are a much bigger fraction of the SV labor market than of the workers that would learn through this program.
It's also not clear to what extent the wage fixing agreement was mitigated by driving programmers to non-conspirators.
Getting the full picture would require a careful assesent to the sensitivity of these markets to all those parameters, not simply assuming that any increase in the supply of programmers purely benefits employers of them and doesn't affect the relative scarcity of their final output.
And FWIW, I don't get your insistence that one theory requires "perfect competition"; it might require some level of competition, but why perfect? The tomato result would hold true even in very lumpy markets. (Or were you just exaggerating?)
[1] I know, not "your" theory, but it's much simpler than "the theory you offered in your previous post", and I add this footnote only to fend off a possible indignant reply about "hey, that's not just my theory".
Oh LOL, isn't this well known? Are people really just now figuring out NOW that this is, and always has been, about lowering expenses for these big companies? I mean, they aren't really even trying to hide this!
"our immigration system has failed to keep pace." The nation's outdated limits and "convoluted green-card process," she said, had left firms like hers "hampered in hiring the talent that they need."" ... "Only a few weeks after her June 2 talk, the San Diego company announced that it would cut its workforce, of whom two-thirds are engineers, by 15%, or nearly 5,000 people"
The very real issue is the use of H1-B visas to drive down the cost of labor across the board. Its not a coincidence that real wages in the US have declined since 1970 while the percentage of population immigrants represent have tripled from 4.7 to over 14%
You're using a real wages figure for the entire workforce, not engineers. Engineering salaries are extremely healthy, while the real minimum wage has also fallen. Unless you have data on inflation adjusted engineering wages, this is a totally misleading/inaccurate argument.
Not at all, as the entire work force has felt the effect of immigrants tripling as a percentage of the population, so to will Engineers with the increase of immigrants via H1-B visas
Did you read/understand my comment? I didn't say you're abjectly wrong, I just asked for actual data about engineering wages. We know average real wages have slipped, but we also know the real minimum wage has fallen a lot, and also that our GINI coefficient is up.
In the absence of better data, the logical supposition here is that real incomes amongst lower-income employees have fallen more than amongst higher income employees.
Again:
Unless you have data on inflation adjusted engineering wages, this is a totally misleading/inaccurate argument.
There is power law distribution of programming skills as in every other field. I am a web developer, I have worked with both established companies and startups from every continent in the world. I was hired recently by a client from USA, whose previous programmer created mess of code base, they were about to go out of business, had they not hired me to fix that up. I was able to fix all critical issues within a week, and was able to start developing new features withing two weeks. Were they not hired me from outside of their geographic area, they would not have survived today.
So, what should you do to be able to hire good developers-
1. Broaden your horizons, don't limit yourself to a geographic area. World is not limited to Silicon Valley.
2. Be willing to hire remotely. I myself working remotely from start of my carrier, it is really exciting.
3. Give freedom to developers, let them think out of the box.
4. Before hiring developers full time, give them some real work(may be a small contract), this is better than asking them to solve puzzles :)
Feel free to ping me if you have any questions, sfix [at] outlook.com
This H1-B problem is not a "silicon valley" problem. Those companies are unfortunately the companies that are probably doing H1-B the way it was designed.
The real issue is the tech industry outside of Silicon Valley providing services to everyday companies. That is truly where the injustice is and where the meat of this article is pointing at.
I think the idea that “Tech industry's persistent claim of worker shortage may be phony” seriously misses the point. First, since it usually takes a considerable amount of time to specialize in high skill labor markets (ex. Doctor, lawyer, engineer, etc.) ---- there is a gap in the signal (present vs. future). So, today there may not be enough workers that are familiar with designing chips for wearables (subset of hardware engineers). Then, because of limited supply --- prices go up. Other people see this, and are incentivized to train for the role (takes time, investment, etc.). Then, what usually down the road that causes such layoffs --- the industry changes and there’s more labor in that market because of the previous signal. This gap in the signal is a basic feature of such makrets, which makes the tech industry’s claim of worker shortage more likely true than not.
Another factor is that even though there may be plenty of graduates with STEM degrees, they may not have the exact skills a company wants.
Just about every job posting is looking for someone with very specific knowledge of languages, frameworks, tools, platforms. etc. How many people with a CS degree already know the technologies that your company is using?
By expanding the employee search to the entire world, companies are more able to find someone who has the specific skills they need.
Yes, they are very likely trying to hire H1-B to pay less salary. But they are also hiring H1-B to save money by not having to pay for training. Even companies that work with very obscure proprietary technologies that almost nobody knows seem to insist on hiring people who have experience with that technology rather than hiring an otherwise skilled candidate and letting them learn on the job.
Not all tech companies are the same. Google needs engineers with skills that most tech workers don't have. You might have a CS degree from a great school and 15 years experience with J2EE, but you're not experienced with say... reactJS. If Google (or Facebook, or startup that just raised $25M) is looking to hire a team of reactJS devs, then they can very quickly exhaust the supply of locals who have used it. From Google's perspective, there is a shortage.
But some other companies, usually 'IT' more than 'Tech' from my experience... yeah... they can get a bit squirrely. When a company gets newly 'redundant' workers to train the new migrants, they can't really claim that there are no suitable qualified locals.
If you want the absolute best for the job, in a very specific skill-set that has only existed for two years, then you'd best be willing to pay considerably, or you're going to have to be willing to train people with the proper fundamental skills in that specific toolset.
A lot of companies are unwilling to do either of those. Offering $110k for a ReactJS developer? Better be willing to hire someone with a good understanding of software development patterns and a solid history of shipping code with the understanding that some on-the-job training will be required.
Won't settle for anything but the best? Then set the salary to somewhere it would pull the level of talent you need. And if you're not willing to do that, then consider how you can get by with the first candidate.
Hiring for specific skills in my mind is the mark of a inexperienced company, manager, or department. Usually people think their choice in technology is prescient and amazing. Anyone that doesn't know that specific technology must be a dullard who will never be able to 'get it.' Right now huge numbers of new people are flooding the industry and their stature as managers or "seniors" in the company after one or two years is far above their experience level. More seasoned managers know not to hire for specific skills like "reactJS" as usually those magic technologies turn out to actually be very basic.
The idea here seems to be that there are vacancies for people that are good at the craft, care about it and are generally skilled. And that a lot of visas today are being taken up by inexpensive foreign labor that may not be accurately described as highly skilled. So, HN, what if the government raised the cap for US educated international students? The average quality of STEM education and the average skill is certianly higher in the US. The issue is that the international students that go through US education have to compete with other foreign workers and often don't end up getting visas even though they are able to fill those skilled position vacancies. Curious to know the pros of cons of such an approach.
In this thread there's a lot of complaining about mediocre developers. I'm still finishing my undergrad, and looking to go the PM route, but how do I avoid being the type of developer complained about here?
Just act like you give a crap about the future of what you're building more so than meeting deadlines and other engineers will enjoy working with you. People have different ways of measuring this, so watch other team members to see what they value in code, and try to make sure you include those features.
You don't have to put out clever or insightful code, only code that is succinct and readable and can be maintained by the existing team.
As long as you have a healthy measure of anxiety to keep your skills current, and are sincerely concerned about the ramifications of your code, you'll be in the above-average range.
It's entirely possible to land a coding job by being a persistent bullshitter(operative word: persistent), but the very most top-notch folks feel pleased to stray outside of their comfort zone and into something unknown.
If you're ultimately aiming for a PM role, you can limit yourself to doing a few technology skills well, and otherwise focus on other aspects of product.
Do you have a passion for developing software? Do you read Hacker News to find out about the latest technologies? ;) Do you spend time trying to improve your own skills?
If you answered yes to all three, you're probably not going to be a mediocre developer. No guarantees; there's a bit of genetic luck involved. But if you do care enough, you can almost certainly get above the "commodity developer" level.
You shouldn't go trying to be a PM, because you've got neither the experience nor the respect to get there. Sorry to be blunt, but this'll save some time.
Instead, focus on being the best engineer you can be, on building and crafting software as well as you can. That will earn you the respect of the people whose respect is worth something, and will give you the insights needed for leading a team properly.
>You shouldn't go trying to be a PM, because you've got neither the experience nor the respect to get there. Sorry to be blunt, but this'll save some time.
I get that, the only reason I have my sights set on it is that I'm already working as one for a company. :) I think that I'll best be able to leverage my experience and skills in some sort of technical product or program manager role, but I wanted to be sure I can pass a big 4 technical interview ect in addition to my pm/ business skills.
From the frequent articles I see on HN and the subsequent reactions, would it be fair to say that this is the situation?
There is no shortage of programmers. However, there is a shortage of programmers (of X skill level) willing to work at the salary that a company desires. And that is where outsourcing and H1B comes in. Having a larger pool of candidates (at X skill level) will force the local candidate pool to lower their asking salary. In turn, this will allow companies to keep salaries deflated and profits up.
My company has been trying to hire good Ruby and Frontend developers for... well.. a while.
There's no shortage of applicants but the quality...? Eh.
Finding even a Junior level engineer that knows more than "I can use these libraries" rather than "I know the language" is hard in both (but especially in JS).
There's a big pool... but sadly most of it is shallow.
It is also true that computer science curriculum doesn't really cover anything but a specific subset of the software development jobs out there. The same may not apply to other STEM fields, but it is certainly true for software.
The more I read articles like this the more I hate america.
america wants to be global hegemonic power without paying the price for it.
america only has 5% of the world's population and deserves only 5% of the world's GDP, and should limit itself to absorbing only 5% of world's resource.
American multinationals who also control america's govt want to absorb the best of the world's labour and force wage suppression on its own people.
Guess what - its working so well that they can even ignore to invest in their OWN infrastructure, education and people.
I'm not clear how a country can deserve a fixed portion of global GDP, no more, no less. It's not a zero-sum game, and how exactly do you apportion productivity?
I am a strong believer that all people have equal ability, and if all countries were on a equal footing then their GDP size would be more of less reflective of their labour force.
Ofcourse it gets complicated if countries have resources only to their geography.
GDP per capita is a weak measure since america has high inequality, some people in america are as poor and hungry as the worst conditions in africa.
America was built mostly out stealing labour from the rest of the world in a selective way, without taking full advantage of your own labour force.
The unfairness comes when we talk about investment. A lot of counties like India invested heavily on education. What happened to the talent produced by that investment ? They all ran away to US.
Its okay if a small number of people do it, but when a huge portion of the population does it then its not fair to the country involved.
It also allows america to get away with it by not investing in their own education or labour force.
Some countries figured out this game - south korea, china. who force their labour to pay back the investment - is it wrong ? yes.
But given america's hypocrisy they had no other option.
Right now america is loosing its ability to attract talent, since the global financial meltdown in 2008. It used to be a blackhole to world labour and investment (using wallstreet).
But as countries develop american multinationals and the american govt will need to downsize and they are not happy to do it, since it means downsizing its global bullying power.
-----------------------------------
If you want to learn more about how america has screwed over humanity.
I have been reading about it and making sure things are historically accurate, not only am I becoming more economically literal - I am also enraged about how horrible america has being, I used to celebrate american culture and now really feel bitter. I have been reading them only for the past 20 days or so, so my initial phase of angry is still not complete.
The unfairness comes when we talk about investment. A lot of counties like India invested heavily on education. What happened to the talent produced by that investment ? They all ran away to US.
...*
It also allows america to get away with it by not investing in their own education or labour force.
One of the two us is missing a part of the picture. I have met many immigrants from India and other countries. Many are sharp. But here's the thing; none of them have capstone degrees from India.
They may have attended high school in India, and maybe undergraduate. But universities in India do not have a good reputation in the United States. So people who want to work in the United States frequently come to get degrees in the United States.
In fact the "problem" as I heard it recently was exactly the other way around. Foreigners come to the United States, spend twelve years getting a BS & PhD on grants, and increasingly elect to return to their home country. In years past, more of those students would stay in the US, but barriers to citizenship are apparently as high or higher than ever.
I am not at the forefront of hiring and international labor politics, but this is what I have seen & heard in the past ~8 years in America.
Wow... as a VISA immigrant, who had a VERY hard time getting through the visa process, this kind of silly american opinion is quite irritating.
When a company lays off 20,000 people, those are _not_ the same people as the ones coming in on visas. They are probably very low skill engineers. The people coming in on visa's (have you met any?) are usually way more skilled than their american counterparts. America is _winning_ by exercising this brain drain.
>These are designed to serve high-skilled immigrants but often >enable the importing of Indian and Chinese guest workers to >replace an older, more experienced, but more expensive >domestic workforce
Come on. Really? All the young indian and chinese talent I meet is way above average.
>this kind of silly american opinion is quite irritating.
I'm not sure accusing the other side of holding silly opinions is the best way to start a debate
>The people coming in on visa's (have you met any?) are usually way more skilled than their american counterparts.
This may be your experience, but it hasn't been mine. Sure the ones working at Google are exceptional, but in my experience, companies outside of the top tier are using H-1Bs to recruit indentured servants who are tied to the company under penalty of deportation.
>Come on. Really? All the young indian and chinese talent I meet is way above average.
There are plenty of other anecdotes to refute this. I've worked with (and went to school with) many very talented and exceptional young indian and chinese programmers, but they weren't above average as a category.
First, when a company lays off 20,000 people there is generally little regard for who the individuals are. You see this over and over again. Except for the very top performers who end up protected, these are usually projects / divisions / etc. getting killed en masse. Sometimes people have the opportunity to spend a few months interviewing to obtain another job in the same company, but not always.
I've not been out of work for a moment of the 22 years since I left school, and have no problem with the Visa programs, etc. I personally believe we all benefit from opening up competition for positions.
Having said that, what I've seen is that looking strictly at technical ability I would say that Visa employees have in general been no better and no worse than the average US employee, but when it comes to "soft skills" are typically much worse off (and not just communication because of language barriers, but in other areas as well). They've fared no better when it comes to upkeep of their skills. They've fared no better when it comes to "leveling off" and hitting a ceiling where they no longer advance in terms of salary, etc. Like the typical US worker, they get married, have kids, get a social life, and generally stop improving their skills. By that point most have green cards and/or citizenship.
All of the companies I've worked for are large prestigious companies, some of which have set records for number of resumes received per month in the industry at different points in time, so again your experience might be different if you're talking about IT shops or start-ups.
You seem to over-generalize your own experience here, did you miss the Disney story?
You may also find comment like this one useful: https://news.ycombinator.com/item?id=9370415
"we looked everywhere for someone who'd be willing to work 7 days a week with no overtime at an annual salary that does not keep up with region's cost of living, we really tried, so it must be that there are no workers available."
There's both an excess of jobs and excess of employees. This is probably true in every industry (every Starbucks is hiring, yet everyone complains how hard it is to find a job), but it's especially true in tech.
The problem is there's a shortage in qualified candidates. Salaries have gotten so high that even the most mediocre developers are demanding six figures. There's been a huge inflation of salaries in tech, and a decrease in craftsmanship and quality. So, companies are getting less done for more money. It's a gold rush, and we're getting to the point where "3 months experience [1]" is the norm.
I've been trying to hire. I'm not worried about high salaries for someone good. However my inbox is full of people who know half a language and want a starting salary of $130k. That's crazy.
[1] http://www.nytimes.com/2015/07/29/technology/code-academy-as...