Tech industry's persistent claim of worker shortage may be phony
latimes.com
latimes.com
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...
(For any developers looking to work at a cool startup, shameless plug: http://readme.io/careers/)
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.
http://www.joelonsoftware.com/items/2005/01/27.html
http://www.joelonsoftware.com/articles/FindingGreatDeveloper...
Either you're not being honest about your opinion of those sites and others like them, or you are behaving irrationally.
The outrageousness cuts both ways.
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.
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.
The problem is that there's a shortage of companies willing to invest in training.
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.
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, 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.
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.
Then why the fuck isn't work automated away? We're developers, for God's sake! We develop things!
The fact that something is repetitive and intellectually unchallenging doesn't mean it is mechanical and doesn't require human involvement and/or judgement.
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.
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.
"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.
Where do we draw the line?
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.
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?
What? As far as I know, hospitals don't directly pay for medical school.
Rather, the cost of medical school is reflected in doctor salaries.
(Just as the cost of training is reflected in developer salaries.)
> You don't [think] that would show up in what hospitals paid doctors?
to your
> the cost of medical school is reflected in doctor salaries.
Yes, I accidentally left out the word "think". But we're saying exactly the same thing.
The OP is implying that an employer should not only pay a salary, but pay for an employee to get trained.
Train a team of people and they'll be more productive than you on your own.
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.
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.
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.
Other industries (law, finance, fashion, media, etc.) heavily exploit interns to profit off their desperation.
(which is something the tech titans are trying to "fix")
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.
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]
[1] http://www.bloomberg.com/bw/articles/2014-10-07/starbucks-is...
[2] https://news.starbucks.com/news/starbucks-offers-full-tuitio...
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.
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.
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.
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.
it's about time for (good) engineers to get an appropriate share of the pie.
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.
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).
Most US companies won't even hire remote workers 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.
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.
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.
That $130k starting salary you mention is enough for a person to afford a studio in the Tenderloin these days?
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.
The commute on BART into SF is about 45 minutes.
* Expect to earn the median income
* Expect to have a decent lifestyle.
* Expect to be able to have a family
Sounds like crappy employer entitlement to me.
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.
If it does not, then $75k/year gross will be cutting it pretty close. You'll also be required to have next to no savings.
Median home price just hit $1M. We are talking _median_, not a mansion.
http://www.sfgate.com/business/networth/article/1-million-ci...
Wake me up when senior people in software can reach compensation levels of doctors and other professionals ($300-400K).
$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.
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.
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 ;)?
Find my contact info in my profile, feel free to get in touch.
If nothing else it'll be interesting to get a glimpse of the prospective employee side of this puzzle.
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)
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?
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?
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.
Frankly what they want, it's not possible.
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.
[2] http://www.thestreet.com/story/11480568/1/us-standard-of-liv... and many other such charts and reports.
[3] https://en.wikipedia.org/wiki/H-1B_visa#Employer_attestation...
Do you have any more data on this? 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.
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."
http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-...
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:
http://repository.tudelft.nl/assets/uuid:8b7d64a2-e9a7-4b04-...
Most work in GC from them on focused on software implementations. Did find a hardware implementation in embedded space with some interesting choices:
http://www.ece.iastate.edu/~morris/papers/IEEE_TMC_03.pdf
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.
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. ;)
Shocking.
* Amazon
* Microsoft
* Apple
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.
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!
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.
Keep in mind that equity makes up a relatively high percentage of a Googlers' compensation. Salary is usually only 40-60% of total comp.
But don't worry, the response of "can't say what he / she is working on" is the only reference you'll get.
This is a ridiculous claim HN, we should be above buying into this garbage.
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.
That is absolutely brilliant.
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.
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.
This is based on my experience interviewing candidates for two small tech companies.
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 don't think that he or she said that.
Also, for what it's worth I graduated with two technical degrees from descent university. Most of the developers I know have engineering degrees.
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.
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.
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.
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.
------------------------------------------------------
The way historically this inherient end state of capitalism was solved was through war ( it doesn't have to be )
War de-commodifcation labour by massively increasing its demand. It happened during WW-2, vietnam war, iraq war ( after the tech bubble burst )
---------------------------------------------------------
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.
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).
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.
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.
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.
http://www.forbes.com/sites/tomiogeron/2013/02/26/bill-gates...
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.
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?
...then you were looking at something else. That was a group of billionaires advertising their naked greed and self interest.
When normal school-kids take an interest in computer science it doesn't appear in Forbes magazine.
>the profession will probably benefit if you found yourself something else to do.
Now that's pathetic.
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.
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.
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.
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"
Ask all the unemployed engineers over fifty if it's phony.
Ask all the women leaving the field after less than five years if it's phony.
Ask developers who want to work remotely if it's phony.
If you don't see companies making simple, easy changes then you can be pretty assure the shortage is phony.
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.
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
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.
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.
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.
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.
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.
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.
Wow THAT is a touche!
Either way, the desire to hone the technical skills is in the right place.
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.
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.
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.
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.
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.
Tech companies whining about worker shortage hit the news several times every year, yet working conditions and salaries never get better.
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.
And FWIW, in GDP per capita, the US is only #10.
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.
1) http://www.amazon.co.uk/The-Global-Minotaur-Economic-Controv...
2) http://www.amazon.co.uk/The-Oil-Kings-Changed-Balance/dp/143...
3)https://en.wikipedia.org/wiki/Confessions_of_an_Economic_Hit...
------------------------------------
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.
...*
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.
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.
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.
Not in my experience. Most of them are chair warmers. There are certainly exceptions, but "way above average" is far from the rule.
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.
I have worked with a lot of visa workers. It's as mixed as local workers. Some are way more skilled than average, others below average.
> The people coming in on visa's are usually way more skilled than their american counterparts.
I see...