Hacker News new | ask | show | jobs
by biocomputation 3188 days ago
I always ask the same question about huge American tech companies. They have almost unfathomable amounts of cash, but complain about the lack of qualified American talent. If there really is a shortage of qualified American talent, then American tech companies should use some of the cash to train American citizens.

H1B and similar really are about labor arbitrage. It's amazing that anyone thinks the best paid jobs in America should go to hundreds of thousands of foreign nationals. (There are hundreds of thousands of H1B workers in America right now doing jobs that Americans are imminently qualified to perform.)

Not to mention, non-profits are exempt from the annual cap on H1B. This includes virtually all hospitals and universities. If Democrats are serious about the middle class, then they really should do something about this.

4 comments

H1B visas are all kinds of broken, but I don't believe there are an excess of qualified American citizens for most software jobs. In fact, it's so hard to get an H1B now that I don't think they're having much effect on "jobs available to Americans" at all.

I've never run a huge tech company, but even when trying to hire 10-50 engineers it's been a real slog trying to find good ones. We built one of the least biased hiring processes imaginable, promoted jobs to largely American audiences, and the pool of applicants was still hugely unqualified. We found ~2 qualified people per ~1000 applications.

American tech companies _do_ train American talent, I'm a product of this. I think you're overestimating how good we are at training software devs, though. It's not a fast process, it's not very scientific, and it doesn't seem to "take" for most people.

What was your training experience like?
Hired as junior dev for super cheap, got a lot of great mentoring at 3 different, then learned enough to keep progressing on my own.

A family member had the first half (mentoring, foundation to learn from) but didn't go anywhere. It's part of why I think it's so hard to train people at what we do. It's not at all clear what set of skills make someone good at software.

>> Hired as junior dev for super cheap, got a lot of great mentoring at 3 different, then learned enough to keep progressing on my own.

Yes, and I'm saying that there should be a similar path for American citizens who want to get into tech. There is more than enough money in tech to hire and train American workers.

We're talking about companies with a combined market value that is more than the GDP of Russia.

I am an American Citizen. As is my brother. We're about as white bread Oklahoma kid as they come. The path is there, it's just really freakin' hard.
It just takes so long before someone realizes software might not be from them.

You can be a great programmer yet a completely terrible developer. But you need the base programming skills and theory first. Then when you get into the real world you realize the slog is crap and you don't enjoy it.

I think there's plenty of room for a code technician type of job which should proliferate in today's environment. Move the good and motivated ones to engineering.

I'm not sure I buy this argument. Each tech job in the Bay Area creates ~4 other jobs[1]. So currently it's a net win for the country to bring someone in to fill a role in that sector. The people who lose out in that case aren't your hypothetical middle-class American, they are tech workers whose salaries go down somewhat because the supply of labour in their sector increased.

Another way of putting that same fact is that tech jobs are paid well above the mean salary, and so they necessarily increase the country's GDP per capita. Bring in more people like this! Give them a green card instead of making it hard for smart people to plant roots in the US! It'll boost our economy and generate more service sector jobs as well.

You could make a case that if you trained up an unemployed coal miner to do the job you'd create another job on top of the 4 that we already created, but it's not clear why you'd go to all that effort to create one job when you could just grant another green card to another tech worker and create 4 jobs; why would a company spend tens or hundreds of thousands of dollars training someone who might work out, when there are plenty of applicants in the world who are ready to do good work now?

As I see it the only coherent argument against more foreign tech workers is a political/sociological one noting that America is becoming increasingly xenophobic (due to concerns about low-skilled immigrants), and increasing immigration (even if it was solely high-skilled) would cause even more political instability than we've seen in the last year. But I don't see an economic argument against it.

[1]: http://www.bayareacouncil.org/community_engagement/new-study...

> They have almost unfathomable amounts of cash, but complain about the lack of qualified American talent. If there really is a shortage of qualified American talent, then American tech companies should use some of the cash to train American citizens.

You believe that anyone can be trained to be an effective programmer. If that's true, then there's some truth to your argument: why not invest in education and training to meet the high demand for programmers?

But I disagree with that premise. I think "ability to be a great programmer" is generally something you're born with, or at least something that's been determined by the time you're ~18. Therefore it makes perfect sense to import programmers to meet the demand. The US population is just not big enough to meet the demand for programmers and it would be insane/damaging to the economy to refuse to employ non-Americans.

I think the reason for H1B workers is supply and demand. The demand for developers far, far exceeds the supply.

> But I disagree with that premise. I think "ability to be a great programmer" is generally something you're born with, or at least something that's been determined by the time you're ~18.

That's your opinion, but it's far from a majority one. It flies in the face with the continuous education/MOOCs/coder bootcamp industries and the "anyone can be a coder" mantra of the current age. Either you're right, or all of those programs and institutions are hucksters.

Not to mention, "great programmer" is hyperbolic when many many coding jobs these days are really just about fixing broken JavaScript and gluing together APIs. Software has eaten the world, and Sturgeon's law applies to software as much as anything else.

>You believe that anyone can be trained to be an effective programmer. If that's true, then there's some truth to your argument: why not invest in education and training to meet the high demand for programmers?

We have. We've had retraining programs for decades, where people in declining industries get retrained as programmers or SAs (plus a bunch of other things).

The problem is nobody will hire them without experience. Some percentage of these people could be at least serviceable programmers, but they pretty much just languish on benefits because it's more convenient for companies to hire H-1B people with experience.

Megan McArdle had a good piece on this related to her retraining as a Netware admin.

My comment should have been clearer. By 'train' I mean train applicants who are somewhat qualified, but not fully qualified.

There are 2+ decades of anecdotes about poorly qualified programmers from India and China arriving here as H1Bs. The poorly trained Americans should be getting these jobs instead.

You can not "train" someone who has no interest and those companies with unfathomable amounts of cash are hiring basically top 2-3% of software engineers world wide. You have to realize that they have offices in Australia, EU, Switzerland, UK etc. So if they need to hire someone and do not have an easy option to bring that someone to the US they will have that person work out of one of their offices in the countries listed above with all the implications as far as which country is now collecting taxes.
My comment should have been clearer. By 'train' I mean train applicants who are somewhat qualified, but not fully qualified.

There are 2+ decades of anecdotes about poorly qualified programmers from India and China arriving here as H1Bs. The poorly trained Americans should be getting these jobs instead.