A quote from the article also applies to the recent fad of promoting STEM education in K-12 etc.
"Roughly twice as many American undergraduates earn degrees in science, technology, engineering, and math disciplines than go on to work in those fields."
Maybe if my kids grade school gets their way, we can boost that to four times, or even more. Those numbers are almost as bad as recent law school grad stats.
Needless to say as a life long STEM guy I'm strongly encouraging my kids to avoid the STEM field at all costs. I'm not annoyed at my kids school for focusing on STEM; its a very good educational technique and not any worse than other educational fads. As a vocation choice STEM is as likely to be as unrewarding as trying to become a rock star, a pro NBA player, or a fine arts painter, but those classes are great in K-12 schools. Those examples, and STEM, make truly excellent hobbies, but awful jobs, at least for most of the participants. I may not know the right answer, but I know STEM is the wrong answer. I'll still love my kids anyway, no matter if they become unemployed programmers or unemployed musicians, but I hope they can do better financially with their lives both for themselves and the grandkids, by being quided out of "hobby" jobs like STEM and music and art and into something with a profitable future.
kneejerk reaction: like what? I haven't thought a lot about this, but I tend to equate STEM with 'profitable future'. What other industries/disciplines are you thinking of?
There's a large number of extremely wealthy and extremely powerful people working publicly as hard as they can against that belief, and the government has been purchased to be on their side. Very few things unite everyone in power both in .biz and .gov quite as well as the destruction of STEM as a middle class or better lifestyle. My advice is be very careful when going up against a united powerful opposition like that.
Like I wrote, I may not know the right answer, but its not very hard to figure out STEM is, or is soon going to be, the wrong answer.
That's quite a claim there--would you mind elaborating on your reasoning?
Perhaps it's just due to my current existence in a very productive city, but STEM (and vocational training) seem to be both very much in demand and rewarded.
Alright enough enough I apologize for the somewhat curt answer above stop downvoting me. I'll be more verbose and more polite.
Estimate a ratio of "we need more STEM" vs "we need less STEM" in .biz, .gov, mainstream media, etc. Does anyone other than internal "tech" sites ever discuss how the pool is too big and getting too large and maybe we need licensing and unionization and apprenticeships or some way to shrink it? Lets say maybe 100 to 1 ratio? Are there any paid PR groups or lobbying groups at all on the side of the STEM worker? Any? Not even one? How bout on the other side? Oh, dozens you say working to increase the supply and drop the cost (aka our salary).
A continuous stream of one unified voice from .gov, .biz, and .edu that we need more STEM grads, more STEM immigrants, more STEM is what "we" need or else. Yet... talk to people who aren't paid PR shills and its all poor working conditions, more grads than jobs, ageism, underemployment/overeducation. Sure you'll get a few quisling types who think that supporting those trying to destroy them will somehow personally save them, although historically that never seems to work out. And there's maybe 3 or 4 cities with a high cost of living and a shortage of techies... at least right now... at least supposedly. A tiny subfield with real demand as opposed to PR demand like petroleum engineering has explosive salary growth rates... supposedly we're told the demand is even higher for code slingers, well, OK, show me the increasing salaries and the unemployment rate approaching zero. Oh that's not happening nationwide without lies, damned lies, and statistics?
Well someones lying then, or at least not telling the whole truth. Do you think the guy who stands to make a higher profit could be lying to you? Nah, Management and PR are transparent and clean as glass... How about the .gov guy purchased by the .biz guy, has a politician ever lied to you? Hmm. How bout that .edu guy who's salary more or less depends on convincing kids to enter his field, does he have any conflict of interest, or at best well intentioned delusion? Yet a VERY few lone voices in the wilderness, with no economic interest (or not much anyway) suggest maybe the emperor really does have no clothes, but they must be making it up because their reward for it is ... nothing at all? A better life for their kids? +5 of HN karma? Seems a pretty small reward at best for a lot of work.
So that's my interpretation of the players on the field. There's the completely unorganized STEM workers, and absolutely everyone else united against them with a common cause, identical PR campaign, for fairly rational similar economic reasons. I wonder which side will win?
Now compare our response to other fields involving labor forces and import/export and immigration and .gov policies. We seem to be failing ourselves in the PR war compared to ... well compared to pretty much every other field of human endeavor other than maybe the pot growers, congressmen, and sex workers. And there's a substantial overlap there at that. Actually they probably do a better job of self promotion than we do.
-the desire to agree with your point in principle:
yes, there is probably a conspiracy of some sort to push these wages down and ignore the reality that these careers can have a huge downside, your wages will at best stagnate, and the number of college grads increase each year
-the desire to respond to your point in practice:
it seems generally hard to hire computer programmers, they seem to make quite a bit, even if they aren't super-exceptional, and the wages and unemployment statistics for these sorts of jobs seems better than most other career paths
To your point about demand: there already exists (in some fields at least) certs you need to legally do certain types of work. To the best of my knowledge, only a certified PE can sign off on a bridge design, structural analysis, etc.
To your point about unemployment and the glut of STEM grads:
There's two things going on here: whether or not we want STEM grads, and whether or not we want to employ them.
I posit that yes, we want STEM grads. Unless you want to go into academia and focus on the humanities (and in turn deal with the circlejerking that goes on there, or at least appears to go on there; there is a credible case to be made that this is true) STEM is a baseline training you must have to not end up in the service industry. You learn to create things--real, tangible things that progress the race--or you're ultimately fucked.
We can't with a straight face recommend that our kids become English majors or medieval studies majors in this economy--I'd encourage my kid to take those courses on the side (you always need breadth!) but not to forsake an employable skill set. There will always be time for reading, for books, for learning and arguing and doing all those things that make the humanities wonderful and rewarding; picking up an education in hard sciences or engineering is hard, and should be attempted because it doesn't lend itself to being a hobby.
So, no, I think the push for "we need a larger pool of nominally-capable STEM grads" is totally reasonable.
The other question, though, is do we employ them?
The difference between a competent engineer and an awesome one (substitute coder, developer, or whatever) is huge. It makes sense that an innovating company is going to want the best of the best, and that thus we expect the employment percentages to reflect that. As for the blub programmers, there are many companies that are past innovation and thus can use ass-in-chair devs to maintain their COBOLS and SQL queries. The existence of the large STEM pool helps the long-tail of companies that need those okay devs.
I think it's a really complicated subject, and there is a lot to explore.
I'm more concerned, honestly, with the seeming derpiness of our brethren in regards to politicizing their self-interest: shit like the DMCA, state taxes on net commerce, etc. all seem to fly because the tech industry (rivaling if not exceeding energy, healthcare, and finance in importance to the US economy) doesn't protect its interests. For fuck's sake, it's like we're still the stereotypical 20th century nerd picked on in school and letting ourselves get bullied by the status quo. I'm more worried about us growing a collective spine than getting screwed by a .biz/.gov/.edu conspiracy.
>"I tend to equate STEM with 'profitable future'."
There's a large number of extremely wealthy and extremely powerful people working publicly as hard as they can against that belief, and the government has been purchased to be on their side.
This is the part I would like to hear more about. It is not addressed in the article or other comments.
if my hypothetical children needed guidance, I'd probably advice on accounting. Huge industry that ain't going anywhere, lots of work at the low end, lots of pay at the high end, still applicable if you change job later, generally respected culturally.
What about accounting makes it inherently less outsourceable than programming? In a world where STEM is not a practical career, presumably because it's all done in low-wage countries overseas, how is accounting still being done in-house?
Strange as it sounds, fraud prosecution. If a software dev lies or the product is buggy nothing really happens to anyone, but at least in theory a fraudulent or incompetent accountant could go to jail, and that's not happening in Outsourceland, so fundamentally at least some of it has to be done locally.
Most of the lowest level of data entry and paper shuffling has long since been disposed of via automation, so already mostly only decision makers remain.
Well, I think this is shortsighted. H1-B is 'bad' because it's increasing the number of workers competing for the same pool of STEM jobs. Steering your kids towards accounting increases the number of workers competing for the same pool of accounting jobs.
Except, I think STEM associates a lot more with 'growth industry' than accounting.
I would disagree with the first paragraph in that a large number of .gov, .biz, and .edu personnel have a unified voice encouraging kids out of all other fields and into STEM. So the pool of grads is smaller in accounting therefore its a better job market for them to enter. My two kids are not going to tip the demographics such that accounting is now flooded.
I do agree with the second paragraph in that accounting is more employable. If there's a web 2.0 crash or something, a tax accountant at a dotcom can more or less transfer into tax accountant job at an oil company. On the other hand a NAS storage engineer is pretty screwed via pigeonholing if he wants to get hired as a petroleum engineer. Much larger job pool in accounting.
When I was in school for a B.S., I settled on accounting for this very reason. There was already talk about massive outsourcing of IT and tech jobs in the late 90's. I was already working in the tech field before I graduated so experience was not an issue. Today it is easy to contribute to open source as well.
I figured worst case is I got laid off and picked up a job as an account. If someone was going to outsource accounting, they would have done it by now.
On the plus side, I've never had anyone complain about my lack of an CS or MIT degree and I'm not stumped by "business decisions" like other engineers are. Somethings actually make sense when you understand the difference between capital expense and normal expense.
I think it's likely that me or my programmer children are going to obsolete your accountant children long before they reach retirement age.
Not entirely, of course. But enough that one software-equipped accountant will do the work of 100 of today's accountants, utterly destroying the bulk of the industry.
LOL all that happened in my grandpa and dads generation. My grandpa actually made the cut, although many of his coworkers didn't. Everyone who was doin it by hand got downsized a long time ago.
Now a days its all "strong AI" work, like how do I reconcile my GAAP training and accounting industry practice and that new federal tax code and the SEC report and this companies industry practices WRT how to account for (insert weirdness here) and/or my boss told me not to lie or break the law but to make the numbers "look" like such and such WRT a zillion more or less acceptable ways to record and report this situation ... When the lawyers, stock analysts/journalists, and politicians and political system are all replaced by strong AI, then accountants will be next to go. Could happen, maybe, but it'll be our grandkids problem at worst.
Also from what I've heard from coworkers they already spend most of their time doing what amounts to financial systems analysis to find the bugs in existing code... more code would just mean even more debugging time and more work, not less. Better code, not more, might help, but...
> As a vocation choice STEM is as likely to be as unrewarding as trying to become a rock star, a pro NBA player,
You could always point your kids towards economics - they'd spot the flaw in the above pretty quickly: a lot of STEM stuff is not zero-sum. If more people work on building more stuff, it's probably a net gain for the world. The NBA, on the other hand, by definition, can only have one champion per year, and only have N teams per year.
The problem is my kids live here, where none of the benefits accrue. We could immigrate to India?
I do agree that in a very cold hearted sense, "the world" is better off with my kid in a homeless shelter and 100 people in India finally getting enough rice to eat, vs my kid being rich and 100 people in India starving to death. But once you're a parent, its very hard to be objective enough to doom your kids.
Even worse is the "probably" part, if it just results in a civilization wide increase in wheel spinning and finger pointing and delays. Then almost everyone loses.
The point of the article was only half the grads can get jobs in STEM right now. Then you factor in the usual ageism so those with jobs in tech only really get half a career at best, maybe less, of course other STEM fields aren't as discriminatory as tech. Then factor in the intense desire by .gov and .biz to drive down wages by increasing H1B. Then factor in the median (median not mean) american inflation adjusted income has been in decline for about two generations in a mostly consumer based economy (oh oh). A rising economy might not lift all boats but a sinking one doesn't help much either. Then factor in an intense push to increase the STEM labor supply in K12 by STEM school initiatives and so forth. If the odds of employment in the field are 50:50 now, I would estimate in a decade or two it seems reasonable to be worse than 25% employment. They could very well be in the top 25% of their class, but that sounds like risky odds to me.
If you were aiming at underemployment vs unemployment I do somewhat agree with you. There are already issues with receptionists and admin assistant jobs requiring advanced education, and seemingly all the waitresses I've met have a bachelors degree in "something". Anecdotally in the 70s when aerospace engineers with PHDs were driving taxicabs, I suppose a masters would at least guarantee a school bus driver job, making the education and training hugely wasteful because it has nothing to do with the job, but at least the employee gets to eat and may or may not have healthcare insurance. From that point of view I do agree with you that having a STEM degree means maybe they'll at least be able to get a job stocking shelves at the food store or something, and the kids without STEM will be unemployed completely.
I dislike that this kind of discussion lumps everything in STEM as one big amorphous blob. STEM covers a lot of really diverse fields which, big surprise, means that some fields within it are doing well while others, not so much.
> As a vocation choice STEM is as likely to be as unrewarding as trying to become a rock star, a pro NBA player, or a fine arts painter
Baloney. :-) If we total up the number of people who support a middle-class or better lifestyle solely with income from activities as "a rock star, a pro NBA player, or a fine arts painter" I think we'd see multiple of orders of magnitude fewer than those doing the same in STEM fields.
For example: "as of 2009, GlaxoSmithKline employs an estimated 99,913 people around the world, and 12,800 of these employees work in GSK’s research teams to discover new medicines" http://www.numberof.net/number-of-gsk-employees/
Compared to: "Each team may have 15 players on their roster, 12 of which may dress for each game. Since there are 30 teams in the league, at any one time there is a maximum of 450 players on NBA rosters" http://wiki.answers.com/Q/What_is_the_total_number_of_player...
I can't begin to understand how you could make a comparison between a STEM career and music, art, or professional sports. I have worked, directly, for decades as both a professional musician and as a user interface designer, a web programmer, a graphic designer, and an internet marketer. I am a far more competent musician than any of the other skills. My resume in music is in the top 1/100th of a percent. I have been doing music far longer, and with more devotion.
But I can far more easily pay my rent doing any of the other things listed. I can make mediocre user interfaces all day long and cover my mortgage with a week's salary. While doing web marketing on the side. And learn python in my spare time. If I want a world class musician to come to my studio and play, I can probably get them to do it as a favor, or for a small fee. If I want someone to do some coding for me, no amount of money seems to be sufficient. It makes my brain explode when people in computer science try to compare their lifestyle to that of a musician's. I have lived both. They are completely, utterly, unlike each other.
Let me quote one of your other posts completely out of context: "And I live in NYC"
The other 98% of us in tech do not live there, and most certainly do not have employment opportunities like you describe. Looking at the cost of living there, vs here, I kinda wonder about your claim of the mortgage being 25% of takehome, that doesn't add up unless you're in a really bad part of town or make an amazing amount of money. I live in what is locally about a 90th percentile income house, which in NYC would be what, like 5 million bucks? So that must be quite an income to pay that mortgage.
I will tip my hat in your direction WRT music, there's making a living, and there's making life worth living, so thanks for making music in whatever small way you're doin it.
However you just have to realize that if you don't live in Manhattan or SV that being "into" tech is a heck of a lot more like your music experience than like your tech experience. I've done extremely well and I'm incredibly lucky and/or arrogant depending on how I feel at the time of comment, but I'm well aware than for every one of me there's like 10 equally skilled guys sitting in a call center or pulling cat-5 cable or resetting passwords all day or even worse sitting at home, or working as a bartender or carpenter or truck driver or something. Nothing wrong with being a carpenter, something wrong with having a BSCS and your best offer is framing houses or driving a truck. I was just lucky, unlike the two people I'm talking about.
I live in a modestly-sized Brooklyn apartment which I bought before the real estate bubble. Not in a 90th percentile house. So I can afford to play music.
For perspective: I am not making music in a small way, I am an extremely fortunate musician who has worked with legends and toured the world many times, I have played Lolapalooza and the Sydney Opera house, I cowrote one of the most talked about records in the past few years and I have released a bunch of music solo and with my own bands as well.
It is still easier for me to make a buck pushing pixels. I don't know, maybe I am a genius at computers and absolutely suck at music. I consider that possibility at least 3 times a week.
But mostly, it just seems like one is a lot easier than the other. I talk to guys all the time who are the elite of the elite world class musicians, and they have to really hustle to make ends meet.
> Could it be that schools aren't teaching their students the right stuff, that despite their fancy credentials, today's grads lack the programming chops or logical prowess needed to succeed at a Google or Microsoft? Not so much.
Having done interviews at Google, and given a lot of very low scores to people with impressive degrees, I'm inclined to say yes. The author thinks that this would cause wages to rise, but the argument there looks pretty sketchy.
Given that there's not an actual college major titled "Google SWE II", I'm not sure what sort of standards you're expecting out of people.
(What I understand to be) Google's favorite tools - C++, Java, algo/data structure theory - don't exactly describe a holistic CS/SE/MIS curriculum. I'm sure a specifically designed trade school curriculum could train intelligent people up to ace valley hiring tests in two years or less.
Anyone who's gone through a holistic CS curriculum should be able to fairly easily pass the Google/Facebook/MS/Palantir-esque interview process (for new grad positions) with flying colours. The typical algorithmic questions they give are things likely seen verbatim in second year maths and algorithm/data-structure courses, while the system design stuff is fairly pedestrian. Specific knowledge of any language was unnecessary, and they really honed in on CS fundamentals.
I do think they probably miss out on some smart people who scraped by in classes to pursue personal interests and could easily learn the material, but given the state of most new graduates it's probably a fair trade-off.
(Disclaimer: I interned at Google after my Freshman year. I'm an English Lit. major and completely self-taught; I did not think the interviews were particularly difficult)
I did a master's in CS from a school not known for CS and I'm pretty sure I'd fail Google's interviews unless I could put in a few weeks of focused preparation. Meanwhile I'm happily employed in Memphis and Google seems to have a recruiting pipeline in place that works for them.
I think countries that want more immigrants could learn something from Canada.
In one of the recent reforms, it started to favor those who can fit into the country better -- those who have spent several years studying or working here can get immigration visa much easier and faster, without needing any sponsors.
This ensures a few things:
1, it reduces the chance of some highly educated immigrants failed to adapt to local job market and ended up doing manual labors, or consuming social assistance.
2, it gives the market more power to influence who should get in the country.
3, companies cannot hold foreign workers hostage, because after a couple years, the workers can fast-track through immigration visa without them.
They also have(had?) this interesting track-to-residency by piggy-backing on the American H1-B visa [1]. This gives them a great filter for skilled laborers.
How many times is this going to be reposted to HackerNews? How many times are we going to bring up the same issues with this interpretation?
Like, for example: the assumption that every STEM graduate wants to work in STEM fields, and that the failure of a STEM grad to find work in a STEM field is a failure of the STEM field instead of a personal decision of the STEM grad to pursue whatever career they want.
So every issue only gets one post at HN and then it's done forever?
Since this is an issue which is actively being reformed right now, it seems to me that posting current (same day), informational posts about it is totally valid.
There are no new developments, just more news outlets using (subjectively) bad interpretations of existing ideas/data.
Look at a site like http://www.memeorandum.com -- for any one news story, a dozen news outlets report on it (discussion section of links).
That's what's going on here: a new outlet decides to report on the same information that someone already scooped and we already discussed, and then we start the dog and pony show up here again and repeat all of our discussions with the same information we had 3 days ago, and 5 days ago, etc, when the other articles came out.
We had some brilliant people make some brilliant comments last time around, will we achieve that quality on the repeat post? Is it worthwhile to redo the effort?
Last time around certainly wasn't the first time around for this issue. So if HN was in the habit of retiring subjects, there wouldn't have been any of those brilliant comments you referred to.
And yet you're going to use those comments to argue for the retirement of the subject?
As someone who has been working as a software developer for five years since graduating, the claims made by this article are completely contrary to my personal experience. Finding good developers is hard. We spend months trying to hire for positions, sometimes interviewing dozens of people, before we find someone. And we pay well, use modern technologies, have a great group of existing developers, and don't expect anyone to work more than 40 hours a week.
If you are a GOOD developer, the opportunities for you are endless. And the bar for being a "good" developer is NOT very high relative to the range of abilities found among all software developers. Even horribly incompetent developers do not seem to have much trouble finding work (they do have trouble finding work at this company... usually).
I think the reason why roughly one third of "computer and information science" graduates aren't working in their field is because they themselves chose not to work in this field. The work isn't for everyone. I know quite a few people who majored in CS, were able to grind through it to get their degree, but can't stand the thought of doing this for a career. Their motivations for going into the field out of high school vary, and many are misguided, but how can you really hold a 17 year old to making a 40 year life decision?
We need more good developers. If we were allowed to hire more international developers, I can tell you we would not hire one crap developer "because they are cheap." A crap developer does not just do less quality work than a good developer, they do NEGATIVE work that costs the company more than the salary difference between them and a good developer.
From a self concerned strategic standpoint, the U.S. should use the opportunity of immigration reform to steal good developers from other countries. We are a country of immigrants, and immigration will always be important to us. Let's use it to capture the best and brightest from the rest of the world. That is how we stay on top.
The above commenter has nailed it: "If you pay well enough, finding good developers isn't that hard."
The incentives here are incredibly obvious to spot. Facebook/Google can either pay a star developer 600k/yr for the duration of his stay, or bring a foreign indentured developer and train him for 60k/yr. The choice here may not be obvious, but the reality is that both of these strategies are employed.
Most top tech companies have executives which are paid 10 to 100x the base developer salary, because they manage a hive of indentured foreign workers who can do the menial dev work. These executives essentially become "Architects". This is the best case scenario, in the worst case, the architects are also trained or outsourced.
The economics of this situation are very simple to understand, and explain why most companies employ the dual strategy to significantly reduce their costs. Green card holders have the option of negotiating for more compensation as they gain experience, but foreign workers without status do not have this option. As such, they are a far better bargain over the long run, assuming both are of equal ability as fresh new grads.
The issue with the H1-B is that those workers are then close to trapped in a specific company at specific terms. It would almost certainly be better to allow employers to sponsor immigrants for a green card, or a 6-year residency card or something of that ilk, because then the employee can leave a bad working environment/move to where they are better suited. Additionally, it is problematic that the government is encouraging developers to come and put people out of work. Fundamentally, that's what tech jobs are supposed to do: by making things more efficient, you have fewer people making more money.
Funnily enough, immigration into the US has traditionally been to fill lower-class working roles. The slave trade was the first and most obvious example of this, but we also have Chinese, Irish and southern European immigrants in the 19th century. If immigration is what made our country an economic powerhouse (and at the very least, the slave trade was one of the primary contributors to our capitalist development), then we should be encouraging all immigrants, not just those who can be immediately identified as "strategically important."
"and at the very least, the slave trade was one of the primary contributors to our capitalist development"
You're going to get the amateur historians all wound up with talk like that.
A better explanation was the Whitney cotton gin enabled mechanized processing about a century before the Rust mechanized harvester was invented, so you had explosive growth in a couple strategies for providing human cotton pickers ranging from ownership pre civil war to indentured servitude / peasanthood after the civil war. The gin wasn't enough to kick industrialization into high gear, although I'm sure it helped a tiny irrelevant bit. By the time they (the people) were made obsolete by the Rust Harvester, and shipped up north to the factories, we already had the worlds biggest factories to ship them to... so much for that argument. The south has never amounted to anything from an industrial standpoint until very recently and even that's a bit of a stretch.
Or if you were alluding to the earlier triangle of unhappiness (whatever it was called, triangle of something miserable anyway) then we had pretty much maxed out molasses/rum/human transportation well before the industrial revolution. The limiter was like how much land can you cultivate in the Caribbean and how many slaves can you ship there, they didn't have industrialization in the new england rum distillation industry as a limiter to growth at that time so there was no pressure for improvement. Distillation is not much of a motivator for industrialization anyway. Every couple years I alternate between brewing/distilling doesn't get enough credit for industrialization and thinking they already get too much credit.
A pretty good argument overall, other than getting the relevance of slaves in capitalism all wrong.
If your anecdote contradicts statistics about a very large group, do you think your location and company are a typical representation of the entire country? Based on anecdotal report you probably either work in NYC in finance or Bay Area in tech and therefore you'd probably find it easier to import a "foreigner" from Ohio rather than the other side of the world. There is nothing wrong with perhaps 5% of a populating having opportunities (err, uh, kinda), as long as that is not being used to promote policy for the 95% of the population who don't have similar opportunities.
This article makes the fundamental mistake almost all other articles of its topic do: it assumes that software development is a monolithic entity, when it is instead a collection of extremely dissimilar camps.
Part of this is the fault of government - in almost all statistics the $200K systems architect at Google is rolled into the same column as the $45K coder pounding out VB6 apps for the company intranet.
This article is even worse than most, since it lacks any real data on programmers, and instead uses data for all STEM fields. This is a little like measuring the average height of people in Texas using data from all over the world. It's just lazy.
The more accurate title is: "top level developers in extreme shortage, mid level developers less so, USA swimming with underemployed low level developers"
And this reflects the reality on the ground. You have companies like Google, Facebook, Microsoft, et al, who are desperately trying to bring in foreign labor at the $150-200K levels (and beyond, I'm starting to see comp packages towards $300K), showering them with lavish perks that the rest of the tech industry hasn't even heard of, much less the rest of America.
Then you have the flip side, with companies like Infosys and WiPro bringing in cheapo labor at $50K a pop and renting them out at exorbitant rates, using the terms of the H-1B to hamper and exploit their employees knowing they have little recourse. You also have domestic low-skill IT workers who, despite exploding demand, have not seen their wages rise significantly.
Anyone who talks about tech immigration in the US who doesn't acknowledge these two sides is either woefully uninformed or has a vested agenda. The reality is that we need to expand immigration in the former category and hit the brakes on the latter, but this also doesn't fit nicely into the "immigration is purely a means for exploitation" narrative that some people are trying to spin.
Schools are very good at producing crappy programmers, and not very good at producing top-notch programmers. This is not a surprise, nor is it unique to America. The "look at all of these unemployed STEM graduates" argument is useless without also looking at whether or not said STEM graduates actually qualify for the jobs they seek. Simply shoving a shiny, rolled-up piece of paper at someone doesn't automatically make them competent.
"The more accurate title is: "top level developers in extreme shortage,"
Vs the article
"134,780 H1-B visas that were approved in 2012."
A good analogy to the debate is we're talking about a shortage of, and reasonable desire to import any legendary epic level multi-platinum award winning rock star, but in actual practice we're importing anyone who's ever touched a guitar in order to keep domestic wages low by pushing unemployment higher than it should be. They are two separate issues.
No, in actual practice we're doing both. Like I said before, anyone who portrays the current H-1B issue as purely one-sided is either underinformed or is pushing an agenda.
134,780 H-1B visas were approved in 2012, what is the distribution of salaries? The fact that the US let 134,780 people into the country last year says absolutely nothing about how many of these people are cheap, barely-qualified foreign labor, and how many are the multi-platinum award winning rock stars. It's quite obvious to even a lay observer that both categories of hiring are occurring in large amounts in this pool, but almost no one is willing to address the balance.
Painting the entire H-1B pool with a single brush is, to be blunt, extremely ignorant of how it actually is in reality.
And seeing the state of the industry, a simple mean would be an inaccurate picture also, given the extremely lopsided distribution (i.e., lots of people making $200K, lots of people making $60K). What would be far more useful is an actual, comprehensive look at the distribution of H-1B visas. The total count is meaningless except in the populist "raaaah our jerbs!" way.
"almost no one is willing to address the balance."
Ah I think I see our minor disagreement. My belief is the vast majority of the eighth of a million per year are NOT elite rock star caliber based on some crude estimates about graduation rates and so forth. I don't believe we have the educational capacity, world wide, to graduate 250 million computer science grads every 20 years outside the USA such that the elite top 1% from each graduating class year eventually H1Bs over into the USA. Even if we really did have 250 million outside the USA CS grads every 20 years, why would a perfect 100% of the 1% come here?
The percentage of elite hires almost by definition must be so low in that eighth of a million, so as to be a rounding error approx zero. That doesn't mean Mr Anecdote doesn't exist or they're evil or imply any political ridiculousness, it just means that elite level coders are such a tiny fraction of the population that shoving them into the debate sideways is intentionally derailing the real debate about the vast majority of people involved.
Beyond discussing the present and past, if we imploded the H1B system from an eighth of a million to perhaps two thousand, almost certainly the two thousand who actually survive the process would almost certainly be the elite 1% supercoders, so even pretty far out "solutions" would have no effect on supercoders, making it even less relevant to debate supercoders.
Another interesting way to put it, is most countries allow anyone in if they post enough money. I don't know what the USA charges, but $1M would be more than any other country I've ever heard of. So for a mere $2B, if H1B were utterly eliminated, you could still let all the supercoders in under the wealthy people rule at minimal cost. After all, if you're willing to pay $350K/yr for a supercoder, posting $1M for a wealthy person immigration is only about three years total cost.
Talking about the tiny population of supercoders is simply a distraction.
"The reality is that we need to expand immigration in the former category and hit the brakes on the latter, but this also doesn't fit nicely into the "immigration is purely a means for exploitation" narrative that some people are trying to spin."
The reality that we need to attract more top talent, and the reality that companies are lobbying for more cheap labor are not mutually exclusive.
That said, the shortage of top developers could be attributed to any number of things, including:
* There is a limited number of top performers in all fields. This is natural, and cranking out more college grads won't change anything.
* Top performing students are choosing other fields, perhaps ones that pay better (finance, medical, consulting, basically any field with a higher glass ceiling)
* Or they choose jobs with better perceived job security. You don't constantly hear about outsourcing, indentured employment, and 10-years-to-irrelevance in most fields.
* The students lack the pre-requisite education to excel in CS (this probably isn't a huge problem among the top performers, but you can't avoid the fact that the elementary education system generally sucks and many prospects probably fall in the cracks).
* Companies (and by extension, our law makers) are taking a short-term outlook by prioritizing the immigration of lower-tier and middle-tier coders?
Agreed that the articles reasoning is weak surrounding the "takin' o'r jerbs!" arguments; the cost of a lousy developer is insurmountable. However, the comparison with H-1B and indentured servitude is what is all to accurate in my personal experience. It's stomach churning to watch an individual, often a friend, be squeezed into an uncomfortable situation by an employer because of the conditions of their visa. H-1B visa's tip too much of the balance in employer/employee negotiations to the employer's favor.
I know quite a few people who majored in CS, were able to grind through it to get their degree, but can't stand the thought of doing this for a career. Their motivations for going into the field out of high school vary, and many are misguided, but how can you really hold a 17 year old to making a 40 year life decision?
17 is just a year away from being able to get married or join the army. Those seem like a bit bigger deal, especially since you can switch majors before graduating (for example my first roommate, who switched from CS to... something to do with business I think).
The article just assumes as clear and given
that the immigrants have better skills, but
there is no explanation for just how that
could be. The technical education system
in Taiwan and India is much better than in
the US? Tough to believe.
Not necessary, but the top 10% of any of those countries (even third world countries), will be better than the average US dev. (not necessary better than the top 10% of engineers coming out of US).
That means that bringing the top 10% of the rest of the world here, will bring the average up, which means harder technical stuff gets done, which by itself opens up more jobs for the economy.
Any good immigration policy should make sure to filter, and bring in only the best, and making sure that they are not underpaid.
One way to do that is not to tie the visa to an employer, and making sure a engineer with lets say 5 years of experience coming here has a job that pays more than the average of a engineer with 5 years of experience makes, and remove loopholes on this
This will reduce H-1B missuse from the indian/chinese consulting companies, and allow the H-1B holder to switch jobs as they choose and not to be tied down to one employer.
After 3 years of working under this visa, an H-1B holder should be able to get the green card, and have ultimate freedom on their lives.
Making these changes will just both allow best engineers in, and reduce the abuse that may happen due to the current rules on tying an employee to a employer (intenured servitude in the 21st century).
Why should immigration policy filter out immigrants? One of the pushes behind Arizona's economic boom in the 90s and 00s was the influx of immigrant labor (who then bought houses that needed to be built/bought services that needed to be provided, and paid taxes for the government to hire more people to build/do more things).
Immigration policy shouldn't support non-free labor, but it's unclear why we should only be focusing on the "best" immigrants, rather than trying to let in as many people as possible who will help build their communities.
This study was done by a 'non-partisan' group that's heavily backed by unions. Doesn't seem too non-partisan to me when you consider how significantly anti-immigration unions have been over the last century.
The data may be valid, but the interpretation is always the most important... and a union-backed group masquerading as a non-partisan think tank hardly seems unbiased.
It's kind of funny that unions are anti-immigrant: I think this (along with their past tendencies to be anti-black, etc) have hamstrung a lot of them. Immigrant laborers and American-born laborers have a lot more in common than not: they should both be pushing for higher-wages, more job availability, and better working conditions. As such, the unions should be embracing, rather than rejecting, new immigrants, and making sure that laws are passed to protect the immigrants' interests (such as eliminating the H1-B in favor of more green cards, say), because they are essentially the same interests.
Unions are not terribly interested in overall productivity/output. Their goal is to maximize the value to their constituents (either through wages or working conditions). By decreasing/holding stagnant the supply of labor available, they are able to force wages to be higher than they should be. Of course, as economists understand, this causes all sorts of problems.
Unions really aren't that different from corporate lobbyists...
What's more impressive I think is how vehemently anti-immigration (and to your point, anti-black at various times) the Democratic party has historically been (mostly driven by union influence) and how quickly that seems to have been forgotten by most.
Every time I try to hire someone to do any tech work for me, I am convinced there is a shortage of tech talent. It is cray hard to hire people, leaving aside price. It is hard to even get people to discuss working for me, before compensation is even discussed.
And I live in NYC, not under a rock. And I'm friendly.
My cousin is a contractor. He says the same thing about drywall guys. My boss when I was stock clerk in high school said the same thing about cashiers.
Hiring people is hard. Most good people already have jobs, so you need to find folks transitioning or starting out. There's a risk either way. The more specialized the skill, the harder it is.
My cousin is a contractor. He says the same thing about drywall guys. My boss when I was stock clerk in high school said the same thing about cashiers.
Hiring people is hard. Most good people already have jobs, so you need to find folks transitioning or starting out. There's a risk either way. The more specialized the skill, the harder it is.
Every time I try to hire someone to do any tech work for me, I am convinced there is a shortage of tech talent. It is crazy hard to hire people, leaving aside price. It is hard to even get people to discuss working for me, before compensation is part of the picture.
And I live in NYC, not under a rock. And I'm friendly.
"Now, let's review some microeconomics. In a free market, it is almost axiomatic that the market always clears. That's a technical term that means that when somebody tries to sell something, if they are willing to accept the market price, they will be able to sell it, and when somebody wants to buy something, if they are willing to pay the market price, they will be able to buy it. It's just a matter of both sides accepting the market price." - Joel Spolsky "
Whaddaya Mean, You Can't Find Programmers?"
Sure, if you can't find developers to work for you at any price than there probably is a shortage of developers in your area. If you could find developers if you paid twice as much as you are offering, then that is a clue that the market price is just higher than you can or are willing to pay.
And if you can double the number of developers by importing them from abroad while keeping the number of jobs constant, the clearing price will inevitably fall to reflect increased supply with constant demand.
There, was that so hard? Yet some people seem to have trouble believing it. It's almost as if people are regurgitating their political beliefs instead of looking at the situation honestly.
I don't think any of us really doubt that Facebook and Google could find (or train!) the talent they need in the U.S. at a price below, say, the $200,000 profit per employee Google brings in [1]. As a developer living and working in the U.S. I'd certainly love it if legislative conditions forced the above companies to hire people like me at a few hundred thousand a year more than my current salary.
The interesting question to me is whether or not there's a valid reason to suppress permanent immigration (not the revolving-door bodyshop kind) of talented developers who would effectively drive down demand for my services. Again, I'd love to see my salary double or triple overnight thanks to favorable legislation, but I don't know that I have a good economic or moral case for that preference.
I have an H-1B and already make more than you, so that doesn't mean that H-1B will prevent you from demanding a high salary.
I have had to switch jobs though and reset the Green Card process though, which is a bit nervewreking.
I don't doubt that companies are trying to get a piece of legislation passed that allows them to pay employees less. Increasing margins, that's what companies do.
I do take issue with the idea that the talent shortage is a myth.
I work for a company willing to pay a six figure starting salary plus good benefits in what's supposed to be a recession and we cannot fill our headcount.
My team has been looking to fill 2 headcount positions for months and it's dry as hell. Our search includes the entire US since working remote is acceptable. Candidates often look good on paper but they can't whiteboard even simple problems.
It seems every company with decent staff has made them happy and no one decent is jumping ship right now especially when trying to recruit from the larger companies.
I'm getting sick of all the hyperbole on this site. I think I'll be uncommenting my hosts file entry to block it for a while.
In an coding interview situation, yes. Whiteboards can still be useful, as always it depends.
I suppose the point is that not everyone responds well to the pressure and on-the-spot character of coding on a whiteboard. As real-world coding is never expected immediately in front of a powerful person, you can be selecting for less relevant qualities.
I took a look at some of your past posts WRT this job search.
Are you looking for a developer who is smart and experienced and can intelligently talk while whiteboarding stuff? Solve problems, figure out solutions, self teach continuously and knows how to use google search with a proven successful track record?
Or are you looking for a Redhat admin who uses mac minis and codes sysadmin stuff in python and uses puppet for systems administration and the play framework under Java?
I'm not looking for work, I'm cool where I'm at. Under criteria #1 I'd be be your dream candidate. Under criteria #2 I, along with 99.999999% of the tech population, would never make it past the HR filter...
Lets see I've only got 15 years experience with Debian of which 11 is a Debian Developer, you and I know I could figure out Redhat almost instantly but HR will filter me out by keyword. I shut off my last mac mini last month although my wife still has one intel one running so that's probably not going to make my resume, you and I know that's not a huge issue but HR will filter me out for not having current mac experience (last booted 2 months ago or so). I mostly code little sysadmin scripts in Perl (CPAN, really) or just shell script and you and I know that a guy who understands Perl, Ruby, C, and a couple other languages will figure out how to use the tab key and a couple google searches later I'll be productive in python, but HR will filter me out. Shockingly enough we both use puppet so we'll get along famously and HR won't filter me out, at least for that, unless they do something stupid like filter on version number, I'm using 2.7 here at work so if you're still using 2.6 I'll get filtered out by HR. I've been fooling around with the Play framework but I've been using Scala, really as a tool to learn Scala, that and project euler puzzles in Scala, so you and I know that someone who knows Play can probably transition from Scala to Java with little effort, but HR will surely filter me out. By criteria #2 in this paragraph I'd be amazed if you find even one fully qualified applicant in the entire world, as you claim is happening.
At my current job while talking to tech people I can say that any middle to high end LAMP jack of all trades guy with some DBA and some systems analyst background could do the majority of it, and/or figure out the rest on their own if they are smart and have google handy, just like I did. But you know HR would describe my job as an insane laundry list that virtually no human being in the world other than myself actually simultaneously knows.
Or you might have pay issues. I don't live in a sand state so I don't make much compared to SV or Manhattan, but depending on if you use suburb, county, or state income I'm making somewhere around 90th to 95th percentile family income and expect to continue to be rewarded at a similar level. I talked to an employer in Mountain View who offered substantially more money, unfortunately not enough as that would literally mean moving my family from a (small) landed estate in the 2nd wealthiest suburb in the region to, unfortunately, something like chef boyardee every day in a cardboard box under an overpass in silicon valley. So its possible you might have salary issues. If no one applies maybe you're offering $15K for a $150K job. There's a local network admin position that hasn't been filled for years advertising $60K for a CCIE, which means they're paying a H1B $50K/yr and using the non-response to the ad to "prove" they have to import. That doesn't mean there's a shortage of network administrators in the area.
My hiatus from HN didn't last as long as I thought :)
I don't think there's any correlation between my past posts and the candidate search. The most important thing I'm looking for is that they think this stuff is cool and they are motivated. Most people can learn any role with a good attitude.
As an example, my background is Systems Administration though I learned Java within the past 2 years because I wanted to contribute to an internal Java project. I'm not the best dev on the team but I've made substantial contributions after picking up the language. I try to be flexible and always be learning.
I agree that HR and recruiters are awful and that it's mostly based on keywords. I remember having CentOS on a resume and they turned me down because I didn't have RedHat experience. Actually, one time they said my SCI clearance wasn't good because they needed SECRET clearly not understanding the clearance levels.
All I want is someone who loves tech and is willing to dig in. I don't care about programming languages, version control experience, distribution preference, etc. The specifics can all be learned on the job but you can't teach good attitude at least not after 18.
I don't believe money is the problem. I make more than 150 working from home here in Texas and since the positions could work from home too, they could live in any state they wish.
As a working coder whose interests are not served by increasing US supply of coders through immigration I have a financial motivation in this meme spreading. I oppose increasing immigration because coding is one of the few remaining pathways to a solid middle class life in the US, and I don't want that to change.
That said, quality hackers can feel very secure in 2013 and for the foreseeable future.
The point the article makes about the ample number of programmers graduating US universities is belied by the essential truth of FizzBuzz.
It is not graduates that are in short supply, it is high IQ individuals that can solve problems with computers. That is not going to change.
As a consulting coder I find the demand for custom apps to be incredible. Almost everyone who asks me what I do for a living follows up by saying they want something built.
Most are filtered out because they don't have the budget, but the demand (willing and able) is incredible.
There are just not that many people with the tenacity and analytical thinking to deal with the realities of building the kind of software the world needs.
My feelings here are best articulated by David Mamet through the character Levene in the play Glengarry Glen Ross:
"You can't learn that in an office. Eh? He's right. You have to learn it on the streets. You can't buy that. You have to live it."
I know that in every profession, each passionate practitioner thinks that no cheap hire can possibly replace them. And yet I think this case is especially true for the developer of custom solutions. If you believe that the majority of time spent on software is in its post-release maintenance and iteration phase, then hiring mediocre developers to build the product will only result in massively increased product lifetime costs. And throwing more mediocre developers at it won't fix the underlying issues.
It's hard to think of other building-type professions where one person can have so much sway over a company's initial success. And no, this is not because programmers are inherently more vital than civil engineers or doctors...it's because programmers have so few limits and regulations to deal with...as has been said on HN many times, just about anyone can spin up a Heroku dyno, load up incredibly powerful FOSS, and attempt a worthwhile product with little cost beside time and effort. Whereas a doctor, it doesn't matter how brilliant you are, you're going to have to jump through a lot of hoops and pay a lot of dues before you can fully develop your revolutionary treatment.
This article makes a big mistake in conflating software development with STEM in general. It shows a stock photo of a guy looking through a microsope (btw why is he looking through the lens if the microscope is plugged into a monitor? Seems redundant...), when the focus of the article is Microsoft, Google, and Facebook wanting to raise the H1-B visa cap so they can bring in more cheap coders from India.
Is there a shortage of STEM graduates in the U.S.? Absolutely not. We graduate far more STEM students (especially in research-oriented sciences like biology, chemistry, physics) than we have jobs for. These research jobs are mostly funded by government grants, and the government is cutting back due to unrelated political issues with the budget, of which the root cause is mostly failures in the finance sector.
Is there a shortage of programmers in the U.S.? Perhaps. There is massive, and growing, demand in all sectors for software developers, and our universities aren't graduating them faster than demand growth, and as a result software dev salaries are rising (or at least not falling).
But programming is not STEM, and these jobs are not scientific research jobs. They are mostly jobs building commercial software products or automating business processes. These companies have figured out that they can squeeze a little more profit out of their business model by bringing in Indians who will write code for less money and can't job-hop because they're indentured by their visa status. So when they whine about a "talent shortage," they really just mean "American programmers are too expensive" because the relatively low supply/demand ratio means they still have to actually pay them a livable FTE salary and benefits--unlike most other job categories where they can and do hire commodity temp labor. (There are several entire companies dedicated to temp/contract staffing for administrative and QA positions at Microsoft.)
These companies will pay lip service to the concept of improving the US education system to crank out more highly-skilled STEM graduates, make our country more competitive, etc. But really, it's just whining about microeconomic factors that hinder their constant efforts to trim their HR budgets. They just want cheaper coders, period.
> There is massive, and growing, demand in all sectors for software developers, and our universities aren't graduating them faster than demand growth, and as a result software dev salaries are rising (or at least not falling).
This is a direct contradiction to what's claimed in the article, namely that dev salaries are not rising to the extent that would be expected if there were a true shortage.
Yeah, I don't have data on hand to support this, but I also doubt that software dev salaries are really rising fast enough to indicate an actual shortage, or at least a new or growing shortage.
I think the problem employers see is not that software dev salaries are rising, just that they are high compared to other job descriptions, and have been for years. Starting salaries for an entry-level software developer (with a bachelor's in CS) are roughly double the starting salaries for non-programmer entry-level positions that require a bachelor's degree--and employers don't like that.
True. It would be interesting if they could break out salary growth for top developers vs. average developers. The common sentiment here seems to be that there's a shortage of highly talented developers. If this is true, then their salaries may in fact be rising at a higher pace.
"Starting salaries for an entry-level software developer (with a bachelor's in CS) are roughly double the starting salaries for non-programmer entry-level positions that require a bachelor's degree--and employers don't like that."
That's also true, but it's also interesting to consider from the perspective of a talented student considering CS. If he believes everything he reads, (a) he'll start with a decent salary but probably hit a glass ceiling relatively quickly (a much lower ceiling than, say, a doctor or management consultant or trader), (b) his skill set is in constant danger of becoming outdated due to the unusually high pace of skill turnover, at which point he'll be replaced by an H-1B holder or new CS grad, (c) he'll be expected to move to Silicon Valley (or NYC, apparently) where the cost of living will negate his higher salary. If any of these things actually come to pass, the relatively high starting salary he made the first few years out of school won't be much consolation.
That's a good point. I have difficulty reconciling two opposing feelings: I feel like the US is not producing enough developers/engineers, and I feel like the salaries do not reflect the shortage.
I have been working as a developer (and also an analyst) in the DC area for 6 years. The talent pool around here is very shallow. The companies for which I have worked are constantly looking to hire programmers. It is very difficult to find qualified applicants. Roughly half of developers at my current company are on H1-B visas. I think H1-B is both a form of indentured servitude and somewhat necessary (at least in the DC area). I wish there were a better way to employ immigrants, so that they could more easily job-hop or go out on their own.
OTOH, I think the salaries have not reflected this shortage. Maybe I am just a poor negotiator.
Perhaps Boston, Austin and other hot beds are different (i.e. deeper talent pools, more opportunistic employers). But I see my employers struggle to find developers, and poor salaries blamed on the economy.
If the salaries haven't reflected the shortage, it's not a shortage. It's just a bunch of people unsuccessfully trying to buy something below market price.
To throw some numbers at this question about salaries. Here is the Standard Offer for a college hire Level 59 Microsoft SDE (Developer) to Seattle over the years as I've observed them.
2005-2006: 70k
2007-2008: 80k
2009-2010: 85/90k (there was a macro recession here)
2011-2012: 100k/105k
2013: 105k--110k (tbd)
In 6 years that's a 50% increase. What other industry has as much salary growth for front-line or entry-level people? I believe in a shortage. The most likely cause is this VC-infused hiring bubble going on that may burst and put a lot of people back on the market.
What's tragic is that Microsoft people who started in 2006 and had 70% careers are often making similar money as the entry-level folks. Combine that with a toxic environment and stagnant products, and it's pretty easy to understand why great people leave the company. It's also pretty easy to understand why Microsoft wants to import H1Bs that often are terrified of getting deported back and will do anything to keep their jobs.
Two things that make me suspect this information is anecdotal rather than from a hiring manager (though I could be wrong):
1) I left MSFT around 2006, but the offers I made to (admittedly, mostly blue chip) candidates in 2002-2004 were closer to 80k and not even at the top end of the L59 level band. I'm not sure those early year numbers are quite spot on.
2) The initial offers are set for the middle of the L59 compensation range/band. As those bands went up, so did all of the others - I guarantee the L59 band is not above the L60 band. If you got hired in 2006, you're at least L62 by six years later (or you would have been managed out, in any non-disfunctional org). Even if you'd been camping and never made L63 (which is a big bump), you would get raises as the midpoint for the band moved over the years. Otherwise, it raises very serious issues with your group's HR generalist about why you have a L62 who's being paid outside (below or above) the acceptable range around the salary band and the manager would have been encouraged to either motivate or manage out the employee, if they really didn't deserve raises to take them back into the correct compensation range.
Microsoft is disfunctional about many things, but the HR generalists were pretty good at tracking and running numbers and asking very hard questions about people who were over/under-compensated or stagnating at a low level (sub-L63).
I don't know what all that Microsoft-specific talk means, but you can confirm his numbers by checking the H1-B wage data from MS. I don't recall what the numbers are, but I recall it being fairly close to those supplied in recent years.
The company changed significantly since then. Bill left. There was a layoff (well, a couple, but the first was a black swan nonetheless). There is a new review system and new rules about comp.
It's not the same place you remember. I really liked the MSFT around 2006, too :)
> What other industry has as much salary growth for front-line or entry-level people? I believe in a shortage.
From 2005 to 2008, first year analyst/associate salaries at Wall Street banks, consulting firms, and law firms jumped 30% or more. In neither case was there a real shortage of people across the industry. Instead, it was just a matter of a few top firms bidding up salaries for the top young graduates in response to a temporary boom. Certainly nobody was calling for increased immigration to address any perceived "talent shortage."
This is exactly what is happening in Silicon Valley right now. You're seeing a spike in salaries for the few top people at the few top employers as the result of a temporary boom in the sector. You're not seeing a long-term trend of the industry needing more CS graduates than our domestic institutions can provide.
I was hired by Microsoft as a fresh grad in 2005 for 84000 year. 84000 in 2005 according to CPI calculator (http://data.bls.gov/cgi-bin/cpicalc.pl) is $100,117.42 today. Add to that that two years ago Microsoft reduced stock grants and put more money into base salary and actual total compensation increase for fresh grads is negligible.
I think Microsoft is sort of a special case. Fifteen years ago they could attract the best and the brightest with below-market salaries, both because they dominated the software and computer industries (so your stock options were worth a lot, and your work would be on a computer in every office and every home), and because it was a fantastic place to work.
Because they're not rising. Or rather more accurately, because only one segment of the industry is rising while the rest stay stagnant.
The offers being thrown around by Facebook, Google, et al, aren't anything to scoff at, and as another poster pointed out already, have gone up substantially in a just a few short years (that 50% number is accurate for new grads, it's higher for those with experience).
But the bulk of programmers in the country don't work at Facebook, or Google, or Microsoft. Nor are they forging the bleeding edge future of consumer/enterprise tech. They're doing the unglamorous, not often discussed IT grunt work in the back office of some corporate headquarters.
Their salaries are stagnant, and they are stagnant regardless of H-1B numbers specifically because the supply-demand curve in that leve of the industry sucks. And because our statistics put the $45K VB6 coder in the same category as the $200K+ Google engineer, the rise in one segment of the industry is largely hidden.
There is a danger to making decisions based on averages.
It's strange to me how every time the tech immigration debate comes up Facebook, Google, Microsoft, and co. are beaten to a pulp. They're the ones actually importing people at above market rates, they're the ones handing out $110K offers to new grads and $150-200K offers to even intermediate level coders. They're not the boogeyman under your bed.
Whereas actual exploitative employers like Infosys are barely mentioned. In fact, none of the infamous programming sweatshops are even named in this article. How is that the actual bad actors are facing none of the media scrutiny while the only good (or neutral) actors get all the blame?
That's an interesting point. So we can differentiate between top-talent coders who are in high demand from top companies, and the bulk of programmers working for far less at companies like Infosys, Wipro, etc.
But who are Facebook, Google, Microsoft (not to mention, Infosys, Wipro, etc.) trying to hire through the H-1B program? Top talent? Average coders? Why doesn't Facebook, Google, Microsoft, etc., first recruit from the masses of underpaid Infosys developers? This would force the "bad actors" to improve as well.
It's definitely possible that the blue-chip companies are missing an opportunity to develop talent out of that ecosystem, but it's also not their responsibility to do so. Most of us who are senior engineers at whichever high-flying company were, at one point, just working on some boring-ass webapp.
I don't know about Infosys, but we have a TCS (Tata Consultancy Services) branch here in Uruguay, and it is very common for junior developers to do a few years there, and then quickly realize they've "outgrown" the company and get recruited somewhere else or start their own company - and those "child" companies recruit the cream of the remaining crop, leaving the worse/less motivated employees at the mother company.
TCS does try to keep some of the better ones around, but from the outside I cannot know how succesful they are.
It's also interesting that everyone agrees that the only thing in short supply is the highest quality programmers, but immigration policy is focused on increasing the total number of immigrants and not just the highest quality ones. Under our current strategy, we'll get a similarly small proportion of top quality programmers along with 97% who are basically there to keep down operating costs for MSFT (or Infosys, Wipro etc - arguably "bad actors" from the perspective of how Silicon Valley likes to do business).
If we were serious about alleviating the shortage of top quality hires, we'd have a way to increase the quota of "the best" technical talent and not the current blanket approach, which really favors major employers trying to save costs. Maybe we let google design a technical test for anyone who wants to work here in a technical role. :)
I think Facebook is sincere in their desire for quality talent, but since their CEO happens to be one of the youngest billionaires in the world, who has only worked at one company which he founded as a pup, he is equally inexperienced in "the real world" (eg, how many other companies operate and what they use H1B for) and probably a very poor choice for a leader on immigration reform.
Because the masses of underpaid Infosys developers are really bad. I used to work at a name-brand, large corporation known for hiring top-end talent, and did a lot of interviewing while there.
Inevitably the people who are looking to jump ship from Infosys or other low-end consultancy are woefully underqualified for even entry-level positions. I've actually interviewed people from these shops who cannot write Hello World in a language of their own choosing, I've also had people who didn't know what a tree data structure was. I'm unsure how Infosys et al can farm these guys out for such high hourly rates, it's surely criminal.
Sniping from Infosys and Wipro isn't worth it for top companies because there's hardly anyone there worth sniping. They do try sometimes though, since inevitably there is a diamond in there just waiting to get the hell out of dodge. There is effectively zero intersection between the types of developers Google wants, and the types of developers Infosys wants.
As for who Google/Microsoft/etc are trying to hire... I wouldn't call it "top talent" exactly. The H-1B pool in these companies isn't a parade of who's whos of the software industry, though some of them are certainly top-1% coders. It's more like "very good coders" - people who know the tech, learn fast, have solid fundamentals, and get shit done - which is more than can be said for the majority of the talent pool. Simply eyeballing it, I'd say that Facebook/Google/etc are targeting the top 5-10 percentile of coders.
Back in days when I was looking for a job, Infosys was the dream company to work for in India for a lot of top talent. They would hire only the toppers from top 10 colleges in India and that too with a proper puzzles test like all top US companies. So they hire people based only on academic credentials and then train them for 6 months in a "Infosys University".
I think the perception in US about the unqualified Indian engineers is because you might have seen engineers mostly in their budding years(1-3 years). As with everything else, those people do learn a thing or two as they gain more experience.
I came from India(never worked in Big Bodyshop like Infosys) and have been in US for 5 years now. I have seen really a lot of really dumb people and some really good people on both countries.
If this is the case, it seems that Facebook, Google and Microsoft should be campaigning to have the H1-B quota allocated to whoever is willing to pay the highest salary. That seems like it would be much easier to sell to Congress and it would have the nice side effect of pricing sweatshops like Infosys out of the H1-B market.
It appears to be a binocular microscope, but not a stereo microscope. A stereo microscope has two separate optical paths to the specimen, one for each eye.
A non-stereo binocular microscope has one optical path from the specimen to the eyepiece assembly, and then uses a prism to split that so that it can be sent two eyepieces. This increases comfort and reduces eyestrain compared to a single eyepiece microscope.
That's a problem with the definition of "STEM." It's a categorical grouping that doesn't reflect any real relationship. Building web applications is not even remotely related to writing research papers about microbes or subatomic particles. It's a completely different job market. When people say "there is a shortage of STEM graduates" they usually just mean CS graduates. But the journalists writing this are too non-technical to know the difference, so they try to refute this by pointing to statistics that show the US has plenty of STEM graduates. Too bad they're mostly biologists and not programmers!
> btw why is he looking through the lens if the microscope is plugged into a monitor? Seems redundant...
Actually, this is pretty common, especially if you are doing fluorescence microscopy (complete derail from your main point, sorry):
- The optics leading to the eye-piece is usually superior to the quality of the camera. You'll have a cleaner, crisper picture looking through the eyepiece
- Most cameras tend to have a refresh rate which is laggy.
- Eyepiece optics tend to have a wider field of view, making it a lot easier to find interesting areas to focus on
- Especially for fluorescence, using the eyepiece helps block out background light, letting you focus on faint details. Some details are just really hard to make out on the computer screen, without fiddling with contrast/brightness settings
- You may have the computer settings at a particular level where "browsing" the field is impossible. E.g. your "picture taking mode" is set to long exposures, or very quick exposures with high contrast. These settings make it difficult to actually use the computer for anything except taking the picture.
- You are taking pictures in fluorescence, but selecting/focusing with bright-field.
It's obvious companies want to increase H1-B for hiring top talent at lower salaries.
An amazing programmer in India or China probably makes 1/10th of what he would make in America, but they don't know this. They'll be recruited to America on H1-B but they won't contend their salary, they'll be happy making 2x or 3x their previous salary, even if it's 45k/year. Their ability to negotiate salary will be further hindered by a strong possibility of poor-English skills, therefore inability to communicate well.
I feel like the key difference between STEM and software jobs is that STEM jobs are typically niche jobs, but software applies to all fields. Every company can benefit from a good software engineer so there's huge demand for it and I don't see it ending any time soon.
> As shown in the EPI graph below, in 2009 less than two thirds of employed computer science grads were working in the IT sector a year after graduation.
How horrifying!
Now present the relevant statistics for history majors, economics majors, or English majors.
Well, English/history/&c. majors are usually not presented as vocational training, as it seems that CS is these days, so it's not entirely a useful comparison.
The article makes the mistake of assuming that everyone who graduates with a computer science degree can actually work as a professional programmer.
Cheating and copying were extremely widespread when I did my undergraduate and even graduate level computer science work at a top-20 engineering school. Maybe 10% of students were actually people I could consider hiring.
This goes for both American and foreign students, I don't make the false claim that Americans are not as smart as foreigners or don't work as hard. Dishonesty and dishonor was the norm, and in my experience, most of the people who actually did their own work and had a knack for engineering went on to do very well.
Speaking as someone who has interviewed quite a lot of people, I would say we have an ample supply of kids who started programming in college and successfully graduated with a 4-year degree, or even a masters. But we have a huge shortage on people who can actually write code and be hireable.
Which totally makes sense, and I'm unsure why students don't think this one through. It's like saying, "I want to be a career musician", spending 4 years learning music theory, and then expecting a job playing the piano with an orchestra.
If you want to make great music, you've gotta spend a lot of time playing the piano.
When someone says "I can't find enough qualified people for X", the reader should always append "for what I am willing to pay."
Miraculously, there never seems to be a shortage of qualified Wall Street traders, university administrators, or any number of other highly paid professions.
The important takeaway that is lost/neglected both in the article and the comments is that the bulk of H1-B visa is allotted to cheap body shop entry level developers. A lot of fussing over high end Google / Microsoft positions obscures this truth that is evident from perusing the actual H1-B statistics. I've posted here before, but within a short commute from my home in Arizona, I can tally thousands of jobs displaced by the combination of H1-B / offshore (and this is not an either/or but a both/and strategy). Does anyone contest that this is countervailing effect on new vocational entries?
And the truth that median/average salaries have not raised significantly exposes that indeed, to call it a shortage is myth. I suppose it depends upon the local market but here I see developer positions (PHP web development) being filled at $7.50 - $15 per hour, hourly rates bested by those not even possessing a college degree. Now, before somebody spouts off some PHP bashing and that those job slots merit only that pay level, consider that those old school / mainframe programming jobs that were supplanted by NIV / offshore coders paid 2-3X this mark for a less comprehensive skill set.
I can summarize the problem with the data in one sentence: a degree in computer science has almost no correlation with your usefulness as a programmer. So a glut of people with degrees does not imply that there is no skill shortage.
Really good programmers, like musicians, almost invariably start practicing as children. By high school, they know enough to be dangerous. By college, they're operating on a qualitatively different level than their peers who are trying programming for the first time. (Hence the widely-reported bimodal distribution of student performance in introductory college CS classes.)
Can someone starting at age 18 still become a great programmer? Almost certainly. But they need to put in the vast amount of times and intense effort that it takes, and that gets harder to accomodate the older you get.
133 comments
[ 3.4 ms ] story [ 201 ms ] thread"Roughly twice as many American undergraduates earn degrees in science, technology, engineering, and math disciplines than go on to work in those fields."
Maybe if my kids grade school gets their way, we can boost that to four times, or even more. Those numbers are almost as bad as recent law school grad stats.
Needless to say as a life long STEM guy I'm strongly encouraging my kids to avoid the STEM field at all costs. I'm not annoyed at my kids school for focusing on STEM; its a very good educational technique and not any worse than other educational fads. As a vocation choice STEM is as likely to be as unrewarding as trying to become a rock star, a pro NBA player, or a fine arts painter, but those classes are great in K-12 schools. Those examples, and STEM, make truly excellent hobbies, but awful jobs, at least for most of the participants. I may not know the right answer, but I know STEM is the wrong answer. I'll still love my kids anyway, no matter if they become unemployed programmers or unemployed musicians, but I hope they can do better financially with their lives both for themselves and the grandkids, by being quided out of "hobby" jobs like STEM and music and art and into something with a profitable future.
There's a large number of extremely wealthy and extremely powerful people working publicly as hard as they can against that belief, and the government has been purchased to be on their side. Very few things unite everyone in power both in .biz and .gov quite as well as the destruction of STEM as a middle class or better lifestyle. My advice is be very careful when going up against a united powerful opposition like that.
Like I wrote, I may not know the right answer, but its not very hard to figure out STEM is, or is soon going to be, the wrong answer.
Perhaps it's just due to my current existence in a very productive city, but STEM (and vocational training) seem to be both very much in demand and rewarded.
Estimate a ratio of "we need more STEM" vs "we need less STEM" in .biz, .gov, mainstream media, etc. Does anyone other than internal "tech" sites ever discuss how the pool is too big and getting too large and maybe we need licensing and unionization and apprenticeships or some way to shrink it? Lets say maybe 100 to 1 ratio? Are there any paid PR groups or lobbying groups at all on the side of the STEM worker? Any? Not even one? How bout on the other side? Oh, dozens you say working to increase the supply and drop the cost (aka our salary).
A continuous stream of one unified voice from .gov, .biz, and .edu that we need more STEM grads, more STEM immigrants, more STEM is what "we" need or else. Yet... talk to people who aren't paid PR shills and its all poor working conditions, more grads than jobs, ageism, underemployment/overeducation. Sure you'll get a few quisling types who think that supporting those trying to destroy them will somehow personally save them, although historically that never seems to work out. And there's maybe 3 or 4 cities with a high cost of living and a shortage of techies... at least right now... at least supposedly. A tiny subfield with real demand as opposed to PR demand like petroleum engineering has explosive salary growth rates... supposedly we're told the demand is even higher for code slingers, well, OK, show me the increasing salaries and the unemployment rate approaching zero. Oh that's not happening nationwide without lies, damned lies, and statistics?
Well someones lying then, or at least not telling the whole truth. Do you think the guy who stands to make a higher profit could be lying to you? Nah, Management and PR are transparent and clean as glass... How about the .gov guy purchased by the .biz guy, has a politician ever lied to you? Hmm. How bout that .edu guy who's salary more or less depends on convincing kids to enter his field, does he have any conflict of interest, or at best well intentioned delusion? Yet a VERY few lone voices in the wilderness, with no economic interest (or not much anyway) suggest maybe the emperor really does have no clothes, but they must be making it up because their reward for it is ... nothing at all? A better life for their kids? +5 of HN karma? Seems a pretty small reward at best for a lot of work.
So that's my interpretation of the players on the field. There's the completely unorganized STEM workers, and absolutely everyone else united against them with a common cause, identical PR campaign, for fairly rational similar economic reasons. I wonder which side will win?
Now compare our response to other fields involving labor forces and import/export and immigration and .gov policies. We seem to be failing ourselves in the PR war compared to ... well compared to pretty much every other field of human endeavor other than maybe the pot growers, congressmen, and sex workers. And there's a substantial overlap there at that. Actually they probably do a better job of self promotion than we do.
-the desire to agree with your point in principle: yes, there is probably a conspiracy of some sort to push these wages down and ignore the reality that these careers can have a huge downside, your wages will at best stagnate, and the number of college grads increase each year
-the desire to respond to your point in practice: it seems generally hard to hire computer programmers, they seem to make quite a bit, even if they aren't super-exceptional, and the wages and unemployment statistics for these sorts of jobs seems better than most other career paths
To your point about unemployment and the glut of STEM grads:
There's two things going on here: whether or not we want STEM grads, and whether or not we want to employ them.
I posit that yes, we want STEM grads. Unless you want to go into academia and focus on the humanities (and in turn deal with the circlejerking that goes on there, or at least appears to go on there; there is a credible case to be made that this is true) STEM is a baseline training you must have to not end up in the service industry. You learn to create things--real, tangible things that progress the race--or you're ultimately fucked.
We can't with a straight face recommend that our kids become English majors or medieval studies majors in this economy--I'd encourage my kid to take those courses on the side (you always need breadth!) but not to forsake an employable skill set. There will always be time for reading, for books, for learning and arguing and doing all those things that make the humanities wonderful and rewarding; picking up an education in hard sciences or engineering is hard, and should be attempted because it doesn't lend itself to being a hobby.
So, no, I think the push for "we need a larger pool of nominally-capable STEM grads" is totally reasonable.
The other question, though, is do we employ them?
The difference between a competent engineer and an awesome one (substitute coder, developer, or whatever) is huge. It makes sense that an innovating company is going to want the best of the best, and that thus we expect the employment percentages to reflect that. As for the blub programmers, there are many companies that are past innovation and thus can use ass-in-chair devs to maintain their COBOLS and SQL queries. The existence of the large STEM pool helps the long-tail of companies that need those okay devs.
I think it's a really complicated subject, and there is a lot to explore.
I'm more concerned, honestly, with the seeming derpiness of our brethren in regards to politicizing their self-interest: shit like the DMCA, state taxes on net commerce, etc. all seem to fly because the tech industry (rivaling if not exceeding energy, healthcare, and finance in importance to the US economy) doesn't protect its interests. For fuck's sake, it's like we're still the stereotypical 20th century nerd picked on in school and letting ourselves get bullied by the status quo. I'm more worried about us growing a collective spine than getting screwed by a .biz/.gov/.edu conspiracy.
This is the part I would like to hear more about. It is not addressed in the article or other comments.
Most of the lowest level of data entry and paper shuffling has long since been disposed of via automation, so already mostly only decision makers remain.
Its not a bad idea.
Except, I think STEM associates a lot more with 'growth industry' than accounting.
I do agree with the second paragraph in that accounting is more employable. If there's a web 2.0 crash or something, a tax accountant at a dotcom can more or less transfer into tax accountant job at an oil company. On the other hand a NAS storage engineer is pretty screwed via pigeonholing if he wants to get hired as a petroleum engineer. Much larger job pool in accounting.
I figured worst case is I got laid off and picked up a job as an account. If someone was going to outsource accounting, they would have done it by now.
On the plus side, I've never had anyone complain about my lack of an CS or MIT degree and I'm not stumped by "business decisions" like other engineers are. Somethings actually make sense when you understand the difference between capital expense and normal expense.
Not entirely, of course. But enough that one software-equipped accountant will do the work of 100 of today's accountants, utterly destroying the bulk of the industry.
Now a days its all "strong AI" work, like how do I reconcile my GAAP training and accounting industry practice and that new federal tax code and the SEC report and this companies industry practices WRT how to account for (insert weirdness here) and/or my boss told me not to lie or break the law but to make the numbers "look" like such and such WRT a zillion more or less acceptable ways to record and report this situation ... When the lawyers, stock analysts/journalists, and politicians and political system are all replaced by strong AI, then accountants will be next to go. Could happen, maybe, but it'll be our grandkids problem at worst.
Also from what I've heard from coworkers they already spend most of their time doing what amounts to financial systems analysis to find the bugs in existing code... more code would just mean even more debugging time and more work, not less. Better code, not more, might help, but...
You could always point your kids towards economics - they'd spot the flaw in the above pretty quickly: a lot of STEM stuff is not zero-sum. If more people work on building more stuff, it's probably a net gain for the world. The NBA, on the other hand, by definition, can only have one champion per year, and only have N teams per year.
The problem is my kids live here, where none of the benefits accrue. We could immigrate to India?
I do agree that in a very cold hearted sense, "the world" is better off with my kid in a homeless shelter and 100 people in India finally getting enough rice to eat, vs my kid being rich and 100 people in India starving to death. But once you're a parent, its very hard to be objective enough to doom your kids.
Even worse is the "probably" part, if it just results in a civilization wide increase in wheel spinning and finger pointing and delays. Then almost everyone loses.
If you were aiming at underemployment vs unemployment I do somewhat agree with you. There are already issues with receptionists and admin assistant jobs requiring advanced education, and seemingly all the waitresses I've met have a bachelors degree in "something". Anecdotally in the 70s when aerospace engineers with PHDs were driving taxicabs, I suppose a masters would at least guarantee a school bus driver job, making the education and training hugely wasteful because it has nothing to do with the job, but at least the employee gets to eat and may or may not have healthcare insurance. From that point of view I do agree with you that having a STEM degree means maybe they'll at least be able to get a job stocking shelves at the food store or something, and the kids without STEM will be unemployed completely.
Baloney. :-) If we total up the number of people who support a middle-class or better lifestyle solely with income from activities as "a rock star, a pro NBA player, or a fine arts painter" I think we'd see multiple of orders of magnitude fewer than those doing the same in STEM fields.
For example: "as of 2009, GlaxoSmithKline employs an estimated 99,913 people around the world, and 12,800 of these employees work in GSK’s research teams to discover new medicines" http://www.numberof.net/number-of-gsk-employees/
Compared to: "Each team may have 15 players on their roster, 12 of which may dress for each game. Since there are 30 teams in the league, at any one time there is a maximum of 450 players on NBA rosters" http://wiki.answers.com/Q/What_is_the_total_number_of_player...
But I can far more easily pay my rent doing any of the other things listed. I can make mediocre user interfaces all day long and cover my mortgage with a week's salary. While doing web marketing on the side. And learn python in my spare time. If I want a world class musician to come to my studio and play, I can probably get them to do it as a favor, or for a small fee. If I want someone to do some coding for me, no amount of money seems to be sufficient. It makes my brain explode when people in computer science try to compare their lifestyle to that of a musician's. I have lived both. They are completely, utterly, unlike each other.
The other 98% of us in tech do not live there, and most certainly do not have employment opportunities like you describe. Looking at the cost of living there, vs here, I kinda wonder about your claim of the mortgage being 25% of takehome, that doesn't add up unless you're in a really bad part of town or make an amazing amount of money. I live in what is locally about a 90th percentile income house, which in NYC would be what, like 5 million bucks? So that must be quite an income to pay that mortgage.
I will tip my hat in your direction WRT music, there's making a living, and there's making life worth living, so thanks for making music in whatever small way you're doin it.
However you just have to realize that if you don't live in Manhattan or SV that being "into" tech is a heck of a lot more like your music experience than like your tech experience. I've done extremely well and I'm incredibly lucky and/or arrogant depending on how I feel at the time of comment, but I'm well aware than for every one of me there's like 10 equally skilled guys sitting in a call center or pulling cat-5 cable or resetting passwords all day or even worse sitting at home, or working as a bartender or carpenter or truck driver or something. Nothing wrong with being a carpenter, something wrong with having a BSCS and your best offer is framing houses or driving a truck. I was just lucky, unlike the two people I'm talking about.
For perspective: I am not making music in a small way, I am an extremely fortunate musician who has worked with legends and toured the world many times, I have played Lolapalooza and the Sydney Opera house, I cowrote one of the most talked about records in the past few years and I have released a bunch of music solo and with my own bands as well.
It is still easier for me to make a buck pushing pixels. I don't know, maybe I am a genius at computers and absolutely suck at music. I consider that possibility at least 3 times a week.
But mostly, it just seems like one is a lot easier than the other. I talk to guys all the time who are the elite of the elite world class musicians, and they have to really hustle to make ends meet.
YMMV.
Having done interviews at Google, and given a lot of very low scores to people with impressive degrees, I'm inclined to say yes. The author thinks that this would cause wages to rise, but the argument there looks pretty sketchy.
(What I understand to be) Google's favorite tools - C++, Java, algo/data structure theory - don't exactly describe a holistic CS/SE/MIS curriculum. I'm sure a specifically designed trade school curriculum could train intelligent people up to ace valley hiring tests in two years or less.
I do think they probably miss out on some smart people who scraped by in classes to pursue personal interests and could easily learn the material, but given the state of most new graduates it's probably a fair trade-off.
(Disclaimer: I interned at Google after my Freshman year. I'm an English Lit. major and completely self-taught; I did not think the interviews were particularly difficult)
I did a master's in CS from a school not known for CS and I'm pretty sure I'd fail Google's interviews unless I could put in a few weeks of focused preparation. Meanwhile I'm happily employed in Memphis and Google seems to have a recruiting pipeline in place that works for them.
In one of the recent reforms, it started to favor those who can fit into the country better -- those who have spent several years studying or working here can get immigration visa much easier and faster, without needing any sponsors.
This ensures a few things:
1, it reduces the chance of some highly educated immigrants failed to adapt to local job market and ended up doing manual labors, or consuming social assistance.
2, it gives the market more power to influence who should get in the country.
3, companies cannot hold foreign workers hostage, because after a couple years, the workers can fast-track through immigration visa without them.
[1] http://www.albertacanada.com/immigration/immigrating/ainp-sr...
Like, for example: the assumption that every STEM graduate wants to work in STEM fields, and that the failure of a STEM grad to find work in a STEM field is a failure of the STEM field instead of a personal decision of the STEM grad to pursue whatever career they want.
Another great reason to flag articles that are primarily political in nature, although I have to admit this one is fairly close to a lot of us.
Since this is an issue which is actively being reformed right now, it seems to me that posting current (same day), informational posts about it is totally valid.
Look at a site like http://www.memeorandum.com -- for any one news story, a dozen news outlets report on it (discussion section of links).
That's what's going on here: a new outlet decides to report on the same information that someone already scooped and we already discussed, and then we start the dog and pony show up here again and repeat all of our discussions with the same information we had 3 days ago, and 5 days ago, etc, when the other articles came out.
We had some brilliant people make some brilliant comments last time around, will we achieve that quality on the repeat post? Is it worthwhile to redo the effort?
Last time around certainly wasn't the first time around for this issue. So if HN was in the habit of retiring subjects, there wouldn't have been any of those brilliant comments you referred to.
And yet you're going to use those comments to argue for the retirement of the subject?
If you are a GOOD developer, the opportunities for you are endless. And the bar for being a "good" developer is NOT very high relative to the range of abilities found among all software developers. Even horribly incompetent developers do not seem to have much trouble finding work (they do have trouble finding work at this company... usually).
I think the reason why roughly one third of "computer and information science" graduates aren't working in their field is because they themselves chose not to work in this field. The work isn't for everyone. I know quite a few people who majored in CS, were able to grind through it to get their degree, but can't stand the thought of doing this for a career. Their motivations for going into the field out of high school vary, and many are misguided, but how can you really hold a 17 year old to making a 40 year life decision?
We need more good developers. If we were allowed to hire more international developers, I can tell you we would not hire one crap developer "because they are cheap." A crap developer does not just do less quality work than a good developer, they do NEGATIVE work that costs the company more than the salary difference between them and a good developer.
From a self concerned strategic standpoint, the U.S. should use the opportunity of immigration reform to steal good developers from other countries. We are a country of immigrants, and immigration will always be important to us. Let's use it to capture the best and brightest from the rest of the world. That is how we stay on top.
Many "good" programmers I know would very likely jump ship at their current job for 600k/year. You've just got to find a better middle ground.
The incentives here are incredibly obvious to spot. Facebook/Google can either pay a star developer 600k/yr for the duration of his stay, or bring a foreign indentured developer and train him for 60k/yr. The choice here may not be obvious, but the reality is that both of these strategies are employed.
Most top tech companies have executives which are paid 10 to 100x the base developer salary, because they manage a hive of indentured foreign workers who can do the menial dev work. These executives essentially become "Architects". This is the best case scenario, in the worst case, the architects are also trained or outsourced.
The economics of this situation are very simple to understand, and explain why most companies employ the dual strategy to significantly reduce their costs. Green card holders have the option of negotiating for more compensation as they gain experience, but foreign workers without status do not have this option. As such, they are a far better bargain over the long run, assuming both are of equal ability as fresh new grads.
Funnily enough, immigration into the US has traditionally been to fill lower-class working roles. The slave trade was the first and most obvious example of this, but we also have Chinese, Irish and southern European immigrants in the 19th century. If immigration is what made our country an economic powerhouse (and at the very least, the slave trade was one of the primary contributors to our capitalist development), then we should be encouraging all immigrants, not just those who can be immediately identified as "strategically important."
You're going to get the amateur historians all wound up with talk like that.
A better explanation was the Whitney cotton gin enabled mechanized processing about a century before the Rust mechanized harvester was invented, so you had explosive growth in a couple strategies for providing human cotton pickers ranging from ownership pre civil war to indentured servitude / peasanthood after the civil war. The gin wasn't enough to kick industrialization into high gear, although I'm sure it helped a tiny irrelevant bit. By the time they (the people) were made obsolete by the Rust Harvester, and shipped up north to the factories, we already had the worlds biggest factories to ship them to... so much for that argument. The south has never amounted to anything from an industrial standpoint until very recently and even that's a bit of a stretch.
Or if you were alluding to the earlier triangle of unhappiness (whatever it was called, triangle of something miserable anyway) then we had pretty much maxed out molasses/rum/human transportation well before the industrial revolution. The limiter was like how much land can you cultivate in the Caribbean and how many slaves can you ship there, they didn't have industrialization in the new england rum distillation industry as a limiter to growth at that time so there was no pressure for improvement. Distillation is not much of a motivator for industrialization anyway. Every couple years I alternate between brewing/distilling doesn't get enough credit for industrialization and thinking they already get too much credit.
A pretty good argument overall, other than getting the relevance of slaves in capitalism all wrong.
Part of this is the fault of government - in almost all statistics the $200K systems architect at Google is rolled into the same column as the $45K coder pounding out VB6 apps for the company intranet.
This article is even worse than most, since it lacks any real data on programmers, and instead uses data for all STEM fields. This is a little like measuring the average height of people in Texas using data from all over the world. It's just lazy.
The more accurate title is: "top level developers in extreme shortage, mid level developers less so, USA swimming with underemployed low level developers"
And this reflects the reality on the ground. You have companies like Google, Facebook, Microsoft, et al, who are desperately trying to bring in foreign labor at the $150-200K levels (and beyond, I'm starting to see comp packages towards $300K), showering them with lavish perks that the rest of the tech industry hasn't even heard of, much less the rest of America.
Then you have the flip side, with companies like Infosys and WiPro bringing in cheapo labor at $50K a pop and renting them out at exorbitant rates, using the terms of the H-1B to hamper and exploit their employees knowing they have little recourse. You also have domestic low-skill IT workers who, despite exploding demand, have not seen their wages rise significantly.
Anyone who talks about tech immigration in the US who doesn't acknowledge these two sides is either woefully uninformed or has a vested agenda. The reality is that we need to expand immigration in the former category and hit the brakes on the latter, but this also doesn't fit nicely into the "immigration is purely a means for exploitation" narrative that some people are trying to spin.
Schools are very good at producing crappy programmers, and not very good at producing top-notch programmers. This is not a surprise, nor is it unique to America. The "look at all of these unemployed STEM graduates" argument is useless without also looking at whether or not said STEM graduates actually qualify for the jobs they seek. Simply shoving a shiny, rolled-up piece of paper at someone doesn't automatically make them competent.
Vs the article
"134,780 H1-B visas that were approved in 2012."
A good analogy to the debate is we're talking about a shortage of, and reasonable desire to import any legendary epic level multi-platinum award winning rock star, but in actual practice we're importing anyone who's ever touched a guitar in order to keep domestic wages low by pushing unemployment higher than it should be. They are two separate issues.
134,780 H-1B visas were approved in 2012, what is the distribution of salaries? The fact that the US let 134,780 people into the country last year says absolutely nothing about how many of these people are cheap, barely-qualified foreign labor, and how many are the multi-platinum award winning rock stars. It's quite obvious to even a lay observer that both categories of hiring are occurring in large amounts in this pool, but almost no one is willing to address the balance.
Painting the entire H-1B pool with a single brush is, to be blunt, extremely ignorant of how it actually is in reality.
And seeing the state of the industry, a simple mean would be an inaccurate picture also, given the extremely lopsided distribution (i.e., lots of people making $200K, lots of people making $60K). What would be far more useful is an actual, comprehensive look at the distribution of H-1B visas. The total count is meaningless except in the populist "raaaah our jerbs!" way.
Ah I think I see our minor disagreement. My belief is the vast majority of the eighth of a million per year are NOT elite rock star caliber based on some crude estimates about graduation rates and so forth. I don't believe we have the educational capacity, world wide, to graduate 250 million computer science grads every 20 years outside the USA such that the elite top 1% from each graduating class year eventually H1Bs over into the USA. Even if we really did have 250 million outside the USA CS grads every 20 years, why would a perfect 100% of the 1% come here?
The percentage of elite hires almost by definition must be so low in that eighth of a million, so as to be a rounding error approx zero. That doesn't mean Mr Anecdote doesn't exist or they're evil or imply any political ridiculousness, it just means that elite level coders are such a tiny fraction of the population that shoving them into the debate sideways is intentionally derailing the real debate about the vast majority of people involved.
Beyond discussing the present and past, if we imploded the H1B system from an eighth of a million to perhaps two thousand, almost certainly the two thousand who actually survive the process would almost certainly be the elite 1% supercoders, so even pretty far out "solutions" would have no effect on supercoders, making it even less relevant to debate supercoders.
Another interesting way to put it, is most countries allow anyone in if they post enough money. I don't know what the USA charges, but $1M would be more than any other country I've ever heard of. So for a mere $2B, if H1B were utterly eliminated, you could still let all the supercoders in under the wealthy people rule at minimal cost. After all, if you're willing to pay $350K/yr for a supercoder, posting $1M for a wealthy person immigration is only about three years total cost.
Talking about the tiny population of supercoders is simply a distraction.
Probably none. The actual rock star level people can get O visas, which don't have a quota.
The reality that we need to attract more top talent, and the reality that companies are lobbying for more cheap labor are not mutually exclusive.
That said, the shortage of top developers could be attributed to any number of things, including:
* There is a limited number of top performers in all fields. This is natural, and cranking out more college grads won't change anything.
* Top performing students are choosing other fields, perhaps ones that pay better (finance, medical, consulting, basically any field with a higher glass ceiling)
* Or they choose jobs with better perceived job security. You don't constantly hear about outsourcing, indentured employment, and 10-years-to-irrelevance in most fields.
* The students lack the pre-requisite education to excel in CS (this probably isn't a huge problem among the top performers, but you can't avoid the fact that the elementary education system generally sucks and many prospects probably fall in the cracks).
* Companies (and by extension, our law makers) are taking a short-term outlook by prioritizing the immigration of lower-tier and middle-tier coders?
17 is just a year away from being able to get married or join the army. Those seem like a bit bigger deal, especially since you can switch majors before graduating (for example my first roommate, who switched from CS to... something to do with business I think).
How do you determine that in the hiring process?
That means that bringing the top 10% of the rest of the world here, will bring the average up, which means harder technical stuff gets done, which by itself opens up more jobs for the economy.
Any good immigration policy should make sure to filter, and bring in only the best, and making sure that they are not underpaid. One way to do that is not to tie the visa to an employer, and making sure a engineer with lets say 5 years of experience coming here has a job that pays more than the average of a engineer with 5 years of experience makes, and remove loopholes on this
This will reduce H-1B missuse from the indian/chinese consulting companies, and allow the H-1B holder to switch jobs as they choose and not to be tied down to one employer.
After 3 years of working under this visa, an H-1B holder should be able to get the green card, and have ultimate freedom on their lives.
Making these changes will just both allow best engineers in, and reduce the abuse that may happen due to the current rules on tying an employee to a employer (intenured servitude in the 21st century).
Immigration policy shouldn't support non-free labor, but it's unclear why we should only be focusing on the "best" immigrants, rather than trying to let in as many people as possible who will help build their communities.
The data may be valid, but the interpretation is always the most important... and a union-backed group masquerading as a non-partisan think tank hardly seems unbiased.
Unions really aren't that different from corporate lobbyists...
What's more impressive I think is how vehemently anti-immigration (and to your point, anti-black at various times) the Democratic party has historically been (mostly driven by union influence) and how quickly that seems to have been forgotten by most.
And I live in NYC, not under a rock. And I'm friendly.
Sure seems like a tech shortage to me.
Hiring people is hard. Most good people already have jobs, so you need to find folks transitioning or starting out. There's a risk either way. The more specialized the skill, the harder it is.
Hiring people is hard. Most good people already have jobs, so you need to find folks transitioning or starting out. There's a risk either way. The more specialized the skill, the harder it is.
Just an anecdote: in the last month or so we've had two candidates not show up to an interview because they've already accepted another job.
And I live in NYC, not under a rock. And I'm friendly.
Sure seems like a tech shortage to me.
http://www.joelonsoftware.com/articles/fog0000000050.html
Sure, if you can't find developers to work for you at any price than there probably is a shortage of developers in your area. If you could find developers if you paid twice as much as you are offering, then that is a clue that the market price is just higher than you can or are willing to pay.
There, was that so hard? Yet some people seem to have trouble believing it. It's almost as if people are regurgitating their political beliefs instead of looking at the situation honestly.
The interesting question to me is whether or not there's a valid reason to suppress permanent immigration (not the revolving-door bodyshop kind) of talented developers who would effectively drive down demand for my services. Again, I'd love to see my salary double or triple overnight thanks to favorable legislation, but I don't know that I have a good economic or moral case for that preference.
[1] http://www.wolframalpha.com/input/?i=net+income+per+employee...
(I've seen people fell off the H-1B train and had to go home, so be careful)
What the hell do you do that justifies that >150K USD, especially if you aren't a founder? Are you a founder? What's going on?
I'm genuinely curious.
I do take issue with the idea that the talent shortage is a myth.
I work for a company willing to pay a six figure starting salary plus good benefits in what's supposed to be a recession and we cannot fill our headcount.
My team has been looking to fill 2 headcount positions for months and it's dry as hell. Our search includes the entire US since working remote is acceptable. Candidates often look good on paper but they can't whiteboard even simple problems.
It seems every company with decent staff has made them happy and no one decent is jumping ship right now especially when trying to recruit from the larger companies.
I'm getting sick of all the hyperbole on this site. I think I'll be uncommenting my hosts file entry to block it for a while.
Not sure how accurate that statement is, but as quality software is not written on whiteboards under pressure you may be looking at the wrong things.
There's a guy here that frequently brings up the work-sample test, and some data exists confirming it to be a indicator.
I suppose the point is that not everyone responds well to the pressure and on-the-spot character of coding on a whiteboard. As real-world coding is never expected immediately in front of a powerful person, you can be selecting for less relevant qualities.
Are you looking for a developer who is smart and experienced and can intelligently talk while whiteboarding stuff? Solve problems, figure out solutions, self teach continuously and knows how to use google search with a proven successful track record?
Or are you looking for a Redhat admin who uses mac minis and codes sysadmin stuff in python and uses puppet for systems administration and the play framework under Java?
I'm not looking for work, I'm cool where I'm at. Under criteria #1 I'd be be your dream candidate. Under criteria #2 I, along with 99.999999% of the tech population, would never make it past the HR filter...
Lets see I've only got 15 years experience with Debian of which 11 is a Debian Developer, you and I know I could figure out Redhat almost instantly but HR will filter me out by keyword. I shut off my last mac mini last month although my wife still has one intel one running so that's probably not going to make my resume, you and I know that's not a huge issue but HR will filter me out for not having current mac experience (last booted 2 months ago or so). I mostly code little sysadmin scripts in Perl (CPAN, really) or just shell script and you and I know that a guy who understands Perl, Ruby, C, and a couple other languages will figure out how to use the tab key and a couple google searches later I'll be productive in python, but HR will filter me out. Shockingly enough we both use puppet so we'll get along famously and HR won't filter me out, at least for that, unless they do something stupid like filter on version number, I'm using 2.7 here at work so if you're still using 2.6 I'll get filtered out by HR. I've been fooling around with the Play framework but I've been using Scala, really as a tool to learn Scala, that and project euler puzzles in Scala, so you and I know that someone who knows Play can probably transition from Scala to Java with little effort, but HR will surely filter me out. By criteria #2 in this paragraph I'd be amazed if you find even one fully qualified applicant in the entire world, as you claim is happening.
At my current job while talking to tech people I can say that any middle to high end LAMP jack of all trades guy with some DBA and some systems analyst background could do the majority of it, and/or figure out the rest on their own if they are smart and have google handy, just like I did. But you know HR would describe my job as an insane laundry list that virtually no human being in the world other than myself actually simultaneously knows.
Or you might have pay issues. I don't live in a sand state so I don't make much compared to SV or Manhattan, but depending on if you use suburb, county, or state income I'm making somewhere around 90th to 95th percentile family income and expect to continue to be rewarded at a similar level. I talked to an employer in Mountain View who offered substantially more money, unfortunately not enough as that would literally mean moving my family from a (small) landed estate in the 2nd wealthiest suburb in the region to, unfortunately, something like chef boyardee every day in a cardboard box under an overpass in silicon valley. So its possible you might have salary issues. If no one applies maybe you're offering $15K for a $150K job. There's a local network admin position that hasn't been filled for years advertising $60K for a CCIE, which means they're paying a H1B $50K/yr and using the non-response to the ad to "prove" they have to import. That doesn't mean there's a shortage of network administrators in the area.
I don't think there's any correlation between my past posts and the candidate search. The most important thing I'm looking for is that they think this stuff is cool and they are motivated. Most people can learn any role with a good attitude.
As an example, my background is Systems Administration though I learned Java within the past 2 years because I wanted to contribute to an internal Java project. I'm not the best dev on the team but I've made substantial contributions after picking up the language. I try to be flexible and always be learning.
I agree that HR and recruiters are awful and that it's mostly based on keywords. I remember having CentOS on a resume and they turned me down because I didn't have RedHat experience. Actually, one time they said my SCI clearance wasn't good because they needed SECRET clearly not understanding the clearance levels.
All I want is someone who loves tech and is willing to dig in. I don't care about programming languages, version control experience, distribution preference, etc. The specifics can all be learned on the job but you can't teach good attitude at least not after 18.
I don't believe money is the problem. I make more than 150 working from home here in Texas and since the positions could work from home too, they could live in any state they wish.
That said, quality hackers can feel very secure in 2013 and for the foreseeable future.
The point the article makes about the ample number of programmers graduating US universities is belied by the essential truth of FizzBuzz.
It is not graduates that are in short supply, it is high IQ individuals that can solve problems with computers. That is not going to change.
As a consulting coder I find the demand for custom apps to be incredible. Almost everyone who asks me what I do for a living follows up by saying they want something built.
Most are filtered out because they don't have the budget, but the demand (willing and able) is incredible.
There are just not that many people with the tenacity and analytical thinking to deal with the realities of building the kind of software the world needs.
My feelings here are best articulated by David Mamet through the character Levene in the play Glengarry Glen Ross:
"You can't learn that in an office. Eh? He's right. You have to learn it on the streets. You can't buy that. You have to live it."
It's hard to think of other building-type professions where one person can have so much sway over a company's initial success. And no, this is not because programmers are inherently more vital than civil engineers or doctors...it's because programmers have so few limits and regulations to deal with...as has been said on HN many times, just about anyone can spin up a Heroku dyno, load up incredibly powerful FOSS, and attempt a worthwhile product with little cost beside time and effort. Whereas a doctor, it doesn't matter how brilliant you are, you're going to have to jump through a lot of hoops and pay a lot of dues before you can fully develop your revolutionary treatment.
Is there a shortage of STEM graduates in the U.S.? Absolutely not. We graduate far more STEM students (especially in research-oriented sciences like biology, chemistry, physics) than we have jobs for. These research jobs are mostly funded by government grants, and the government is cutting back due to unrelated political issues with the budget, of which the root cause is mostly failures in the finance sector.
Is there a shortage of programmers in the U.S.? Perhaps. There is massive, and growing, demand in all sectors for software developers, and our universities aren't graduating them faster than demand growth, and as a result software dev salaries are rising (or at least not falling).
But programming is not STEM, and these jobs are not scientific research jobs. They are mostly jobs building commercial software products or automating business processes. These companies have figured out that they can squeeze a little more profit out of their business model by bringing in Indians who will write code for less money and can't job-hop because they're indentured by their visa status. So when they whine about a "talent shortage," they really just mean "American programmers are too expensive" because the relatively low supply/demand ratio means they still have to actually pay them a livable FTE salary and benefits--unlike most other job categories where they can and do hire commodity temp labor. (There are several entire companies dedicated to temp/contract staffing for administrative and QA positions at Microsoft.)
These companies will pay lip service to the concept of improving the US education system to crank out more highly-skilled STEM graduates, make our country more competitive, etc. But really, it's just whining about microeconomic factors that hinder their constant efforts to trim their HR budgets. They just want cheaper coders, period.
This is a direct contradiction to what's claimed in the article, namely that dev salaries are not rising to the extent that would be expected if there were a true shortage.
I think the problem employers see is not that software dev salaries are rising, just that they are high compared to other job descriptions, and have been for years. Starting salaries for an entry-level software developer (with a bachelor's in CS) are roughly double the starting salaries for non-programmer entry-level positions that require a bachelor's degree--and employers don't like that.
"Starting salaries for an entry-level software developer (with a bachelor's in CS) are roughly double the starting salaries for non-programmer entry-level positions that require a bachelor's degree--and employers don't like that."
That's also true, but it's also interesting to consider from the perspective of a talented student considering CS. If he believes everything he reads, (a) he'll start with a decent salary but probably hit a glass ceiling relatively quickly (a much lower ceiling than, say, a doctor or management consultant or trader), (b) his skill set is in constant danger of becoming outdated due to the unusually high pace of skill turnover, at which point he'll be replaced by an H-1B holder or new CS grad, (c) he'll be expected to move to Silicon Valley (or NYC, apparently) where the cost of living will negate his higher salary. If any of these things actually come to pass, the relatively high starting salary he made the first few years out of school won't be much consolation.
I have been working as a developer (and also an analyst) in the DC area for 6 years. The talent pool around here is very shallow. The companies for which I have worked are constantly looking to hire programmers. It is very difficult to find qualified applicants. Roughly half of developers at my current company are on H1-B visas. I think H1-B is both a form of indentured servitude and somewhat necessary (at least in the DC area). I wish there were a better way to employ immigrants, so that they could more easily job-hop or go out on their own.
OTOH, I think the salaries have not reflected this shortage. Maybe I am just a poor negotiator.
Perhaps Boston, Austin and other hot beds are different (i.e. deeper talent pools, more opportunistic employers). But I see my employers struggle to find developers, and poor salaries blamed on the economy.
What's tragic is that Microsoft people who started in 2006 and had 70% careers are often making similar money as the entry-level folks. Combine that with a toxic environment and stagnant products, and it's pretty easy to understand why great people leave the company. It's also pretty easy to understand why Microsoft wants to import H1Bs that often are terrified of getting deported back and will do anything to keep their jobs.
1) I left MSFT around 2006, but the offers I made to (admittedly, mostly blue chip) candidates in 2002-2004 were closer to 80k and not even at the top end of the L59 level band. I'm not sure those early year numbers are quite spot on.
2) The initial offers are set for the middle of the L59 compensation range/band. As those bands went up, so did all of the others - I guarantee the L59 band is not above the L60 band. If you got hired in 2006, you're at least L62 by six years later (or you would have been managed out, in any non-disfunctional org). Even if you'd been camping and never made L63 (which is a big bump), you would get raises as the midpoint for the band moved over the years. Otherwise, it raises very serious issues with your group's HR generalist about why you have a L62 who's being paid outside (below or above) the acceptable range around the salary band and the manager would have been encouraged to either motivate or manage out the employee, if they really didn't deserve raises to take them back into the correct compensation range.
Microsoft is disfunctional about many things, but the HR generalists were pretty good at tracking and running numbers and asking very hard questions about people who were over/under-compensated or stagnating at a low level (sub-L63).
The company changed significantly since then. Bill left. There was a layoff (well, a couple, but the first was a black swan nonetheless). There is a new review system and new rules about comp.
It's not the same place you remember. I really liked the MSFT around 2006, too :)
From 2005 to 2008, first year analyst/associate salaries at Wall Street banks, consulting firms, and law firms jumped 30% or more. In neither case was there a real shortage of people across the industry. Instead, it was just a matter of a few top firms bidding up salaries for the top young graduates in response to a temporary boom. Certainly nobody was calling for increased immigration to address any perceived "talent shortage."
This is exactly what is happening in Silicon Valley right now. You're seeing a spike in salaries for the few top people at the few top employers as the result of a temporary boom in the sector. You're not seeing a long-term trend of the industry needing more CS graduates than our domestic institutions can provide.
The offers being thrown around by Facebook, Google, et al, aren't anything to scoff at, and as another poster pointed out already, have gone up substantially in a just a few short years (that 50% number is accurate for new grads, it's higher for those with experience).
But the bulk of programmers in the country don't work at Facebook, or Google, or Microsoft. Nor are they forging the bleeding edge future of consumer/enterprise tech. They're doing the unglamorous, not often discussed IT grunt work in the back office of some corporate headquarters.
Their salaries are stagnant, and they are stagnant regardless of H-1B numbers specifically because the supply-demand curve in that leve of the industry sucks. And because our statistics put the $45K VB6 coder in the same category as the $200K+ Google engineer, the rise in one segment of the industry is largely hidden.
There is a danger to making decisions based on averages.
It's strange to me how every time the tech immigration debate comes up Facebook, Google, Microsoft, and co. are beaten to a pulp. They're the ones actually importing people at above market rates, they're the ones handing out $110K offers to new grads and $150-200K offers to even intermediate level coders. They're not the boogeyman under your bed.
Whereas actual exploitative employers like Infosys are barely mentioned. In fact, none of the infamous programming sweatshops are even named in this article. How is that the actual bad actors are facing none of the media scrutiny while the only good (or neutral) actors get all the blame?
But who are Facebook, Google, Microsoft (not to mention, Infosys, Wipro, etc.) trying to hire through the H-1B program? Top talent? Average coders? Why doesn't Facebook, Google, Microsoft, etc., first recruit from the masses of underpaid Infosys developers? This would force the "bad actors" to improve as well.
That's the reason they're generally not trying to recruit from the masses of underpaid infosys developers.
TCS does try to keep some of the better ones around, but from the outside I cannot know how succesful they are.
If we were serious about alleviating the shortage of top quality hires, we'd have a way to increase the quota of "the best" technical talent and not the current blanket approach, which really favors major employers trying to save costs. Maybe we let google design a technical test for anyone who wants to work here in a technical role. :)
I think Facebook is sincere in their desire for quality talent, but since their CEO happens to be one of the youngest billionaires in the world, who has only worked at one company which he founded as a pup, he is equally inexperienced in "the real world" (eg, how many other companies operate and what they use H1B for) and probably a very poor choice for a leader on immigration reform.
Inevitably the people who are looking to jump ship from Infosys or other low-end consultancy are woefully underqualified for even entry-level positions. I've actually interviewed people from these shops who cannot write Hello World in a language of their own choosing, I've also had people who didn't know what a tree data structure was. I'm unsure how Infosys et al can farm these guys out for such high hourly rates, it's surely criminal.
Sniping from Infosys and Wipro isn't worth it for top companies because there's hardly anyone there worth sniping. They do try sometimes though, since inevitably there is a diamond in there just waiting to get the hell out of dodge. There is effectively zero intersection between the types of developers Google wants, and the types of developers Infosys wants.
As for who Google/Microsoft/etc are trying to hire... I wouldn't call it "top talent" exactly. The H-1B pool in these companies isn't a parade of who's whos of the software industry, though some of them are certainly top-1% coders. It's more like "very good coders" - people who know the tech, learn fast, have solid fundamentals, and get shit done - which is more than can be said for the majority of the talent pool. Simply eyeballing it, I'd say that Facebook/Google/etc are targeting the top 5-10 percentile of coders.
I think the perception in US about the unqualified Indian engineers is because you might have seen engineers mostly in their budding years(1-3 years). As with everything else, those people do learn a thing or two as they gain more experience.
I came from India(never worked in Big Bodyshop like Infosys) and have been in US for 5 years now. I have seen really a lot of really dumb people and some really good people on both countries.
Check out the puzzles book that Infosys uses to hire people in India. http://books.google.com/books?id=F-idu9oxkdgC&printsec=f...
Must be one of those newfangled stereographic retina-resolution microscopes.
A non-stereo binocular microscope has one optical path from the specimen to the eyepiece assembly, and then uses a prism to split that so that it can be sent two eyepieces. This increases comfort and reduces eyestrain compared to a single eyepiece microscope.
STEM stands for 'Science Technology Engineering Mathematics'. Programming is part of the middle 'TE' bit plus a little of the 'M'.
Actually, this is pretty common, especially if you are doing fluorescence microscopy (complete derail from your main point, sorry):
- The optics leading to the eye-piece is usually superior to the quality of the camera. You'll have a cleaner, crisper picture looking through the eyepiece
- Most cameras tend to have a refresh rate which is laggy.
- Eyepiece optics tend to have a wider field of view, making it a lot easier to find interesting areas to focus on
- Especially for fluorescence, using the eyepiece helps block out background light, letting you focus on faint details. Some details are just really hard to make out on the computer screen, without fiddling with contrast/brightness settings
- You may have the computer settings at a particular level where "browsing" the field is impossible. E.g. your "picture taking mode" is set to long exposures, or very quick exposures with high contrast. These settings make it difficult to actually use the computer for anything except taking the picture.
- You are taking pictures in fluorescence, but selecting/focusing with bright-field.
EDIT: sadly, I can also verify that there are no jobs in science :(
An amazing programmer in India or China probably makes 1/10th of what he would make in America, but they don't know this. They'll be recruited to America on H1-B but they won't contend their salary, they'll be happy making 2x or 3x their previous salary, even if it's 45k/year. Their ability to negotiate salary will be further hindered by a strong possibility of poor-English skills, therefore inability to communicate well.
How horrifying!
Now present the relevant statistics for history majors, economics majors, or English majors.
Cheating and copying were extremely widespread when I did my undergraduate and even graduate level computer science work at a top-20 engineering school. Maybe 10% of students were actually people I could consider hiring.
This goes for both American and foreign students, I don't make the false claim that Americans are not as smart as foreigners or don't work as hard. Dishonesty and dishonor was the norm, and in my experience, most of the people who actually did their own work and had a knack for engineering went on to do very well.
If you want to make great music, you've gotta spend a lot of time playing the piano.
MONEY. Financial aid is available for classes, but not for self learning. Classes take a large percentage of your (would be) self learning time.
Miraculously, there never seems to be a shortage of qualified Wall Street traders, university administrators, or any number of other highly paid professions.
And the truth that median/average salaries have not raised significantly exposes that indeed, to call it a shortage is myth. I suppose it depends upon the local market but here I see developer positions (PHP web development) being filled at $7.50 - $15 per hour, hourly rates bested by those not even possessing a college degree. Now, before somebody spouts off some PHP bashing and that those job slots merit only that pay level, consider that those old school / mainframe programming jobs that were supplanted by NIV / offshore coders paid 2-3X this mark for a less comprehensive skill set.
Really good programmers, like musicians, almost invariably start practicing as children. By high school, they know enough to be dangerous. By college, they're operating on a qualitatively different level than their peers who are trying programming for the first time. (Hence the widely-reported bimodal distribution of student performance in introductory college CS classes.)
Can someone starting at age 18 still become a great programmer? Almost certainly. But they need to put in the vast amount of times and intense effort that it takes, and that gets harder to accomodate the older you get.