
Tech Companies Want You to Believe America Has a Skills Gap - known
https://www.bloomberg.com/opinion/articles/2020-08-04/big-tech-wants-you-to-believe-america-has-a-skills-gap
======
strikelaserclaw
I've worked with H1 software engineers in the past, their skills ranged from
highly capable to not very capable (same distribution i found among American
software engineers), but one thing that stood out to me was how hard they
worked for their average to below average wages due to the fact that they
feared getting laid off and being sent back to their home countries. I knew a
guy who was at the beck and call of our then manager almost 24/7, this
definitely creates unhealthy expectations in the labor market in general.

~~~
net2net2net
I can't stand the abuse of H1Bs. While I may have personal feelings on labor
from immigration, these people are still people.

In a similar flavor I never liked it when I worked at $BIGCO and people
treated you differently if you were an employee v a contractor. It wasn't a
privacy or trust-level thing - it was just social status stupidity.

~~~
h1bthrow
As a F-1 OPT holder who is starting at a job with $200k base and almost double
that in TC, I hate the claim that H1B is abusive. Can you tell me how I am
being abused by my employer, who has helped me through every step of the way?

No, I don’t think H-1B is abusive, it’s an opportunity for hardworking people
to prove themselves just as, or more capable than the locals. I don’t think
you’re truly concerned about my wellbeing, I think you’d just rather have my
job.

~~~
wool_gather
You've misread something here. They didn't say it was inherently abusive, they
said they hate seeing people abused _because of_ it.

~~~
h1bthrow
I don’t think having to work hard is abusive. Investment bankers famously work
70, 80 hour weeks voluntarily. Why can’t software engineers work a bit more
than 40 hours a week if they wanted to? The ‘low pay’ that people claim is
well above market average in most of the world, and above the median US
income. People are mostly happy to have the opportunity to work here.

I think that complaints of abuse are thinly veiled xenophobia. You pretend to
be helping us, but you just want to protect your own overly inflated salaries
from market forces.

~~~
ashayh
Wow :) You should save this comment and revisit it when you are 35ish. This
attitude is exactly what companies want. It's Apple charging $1000 for a
phone, and makes (say) $300 profit but you willingly hand over $1500 to them.
Would you do that?

~~~
h1bthrow
I've worked very hard to get to where I am, so working hard isn't difficult
for me. I chose to work here because it provides the best life for me, not
because anyone forced me to. Would you rather take this choice away from me?

~~~
ashayh
No one is talking about taking that choice away from you.

What you think is "best for you" changes for a lot of people over time.
Meanwhile, using my iphone analogy again, you are merely raising the cost of a
phone for those who "just want a phone". ie, you are raising the expectations
for employers who will expect more people to work for 40+ hours, while getting
paid for 40.

If you are from a country with a long waiting time for a US green card, you
should really look at a moving to another developed country, or marrying a
local.

------
Gunax
I've done my share of interviews, and I don't believe there is one.

Yes, 80% of the recent grads we interview are unhirable. By unhirable I mean
can't answer things like:

-how to reverse a string

-how to remove an element from a linked list

-time complexity of hashsets vs linear searching.

But we do have applicants who do those things (the other 20%). And we have
plenty of them. So many that we end up filtering many out for other reasons.

These prestigious companies try to put out an aura that they only hire the top
1%, but then claim there's a skill gap... Seems contradictory to me.

Google has a culture that reportedly claims that they would rather not hire 10
good candidates than hire 1 bad one... So how can you claim there is a skill
gap when you're rejecting so many qualified people who _almost_ passed your
test?

~~~
avgDev
I am a full-stack dev, I write enterprise applications. Using SQL, DB2, .Net
MVC5/Core. Reversing a string is trivial but honestly I have not used linked
list in a while, and I probably would have a hard time answering that
question. I can do the job, I can quickly debug and find errors.

This is what sucks about software, you can have many years of experience and
fail a question about a linked list, if you have not utilized it in a while. I
solve business problems, read documentation that is my age to work with legacy
systems, etc. I keep up to date with the web dev area I'm working in but this
is much different than college data structure and algo knowledge.

~~~
salamander014
The solution to removing an element from a linked list is so simple I Googled
it because I thought I was missing something. Anyone who cannot remove an
element from a linked list simply does not understand what a linked list is.

And that's OK, but in order for companies to make progress, they use questions
like these to make sure they are hiring people that are knowledgeable and
capable of solving certain kinds of problems. The other thing is, people that
can answer these simpler kinds of programming problems correct are more likely
to write clean code, make better decisions, and be an asset to a team. It is
just an easy way to weed out bad candidates. That doesn't mean all candidates
who can't answer the question are bad, but likely that all bad candidates
cannot answer the question; there's a big distinction there.

Unfortunately a lot of people with good experience get left behind. But the
other problem is just because somebody has good experience doesn't mean they
are the right fit for the position. And that's just life.

------
zadkey
There's a lot of things going on with this article.

There is a skill's gap, but it's not the skill's gap that the article thinks
it is. This article confuses different things. This article incorrectly
equates computer science graduates as people able to fill open positions at
tech companies in IT positions.

For example, when I graduated college, I had an academic background in Java.
So when I graduated, I started looking for Java developer positions. To my
surprise, in the job market at that time, there were about 30 senior level
positions per entry level position that companies were hiring for.

At that time I would have said the skills gap was that people wanted senior
level engineers but weren't wiling to train their mid levels and hire entry
level or junior engineers to back-fill internally promoted employees. And of
course my academic work did not include enterprise java stuff either. Or more
succinctly, there gap was between what experience level was available in the
market vs what experience level companies wanted.

Now later in my career, as a .Net developer, the skills gap I see is a
different one. I see a skills gap between academic computer science and what
actual software engineers use. And not just the programming languages people
use more commonly in the industry like C++ vs C# etc.

Never in my college was there any Full-Stack development approach to anything.
Everything was done in isolation. Here's a few courses how front-end web
development works. Here's a few courses how a back-end language works. Here's
a few courses on how a database works. Never in academia did we put it all
together. And let's not talk about useful discreet math turned out to be.

Bottom line is neither academia nor companies that hire you seem very willing
to train you in real-world skills. Universities would prefer to maintain
academic purity and hiring companies would prefer someone who already knows
whatever language or frameworks or development approach they are already
using.

So I wouldn't say the skill gap is non-existent like the article suggests. And
I wouldn't say that more computer science graduates would fix the skill gap. I
also wouldn't say more H1B visas would provide a permanent solution for the
skill gap. None of these address the underlying problem. Something else needs
to happen to fix this kind of skill gap.

I'm updating this to reflect something I agree with in other comments. There
is also is a gap in practical coding skills.

~~~
mixmastamyk
Yes, the gap from trying to hire CS grads for SW Engineer positions is one of
the oldest facets of the problem.

------
qppo
Anecdotally I believe tech companies, because the numbers and proportions
listed by the article do not line up with job applications that I've seen.

Imo there are a lot of overlapping problems, but none of them are a conspiracy
alluded to by the title. A big one is that companies are bad at segmenting
work between engineers and technicians (or whatever term you want to apply
there) and if they don't make the distinction they'll have the same hiring
requirements, or worse - treat the segmentation as a division of seniority and
not skill set.

I'd like to see us start investing more in associates degrees for CS and value
the graduates like we do other tradesmen.

------
carlosdp
Anyone who's interviewed software engineers for a tech company knows there's a
skills gap, and it's very real

~~~
zadkey
I've asked in an interview for people to implement a multiply function using
just addition, and a surprising number of candidates struggled with that one.

Of course if they struggled with that one, there was likely no way the would
get the question where we asked them to write a function that takes an integer
and return an integer that is the result of each of it's digits being squared.

~~~
quacked
What's the elegant mathematical way to do this? I learned engineering school
programming (read: programming with no standards or formal theory whatsoever)
and the only thing that's coming to mind is
num2str/split/multiply/concatenate/str2num, but that seems too easy for a real
programming interview.

~~~
pmiller2
If you want to be tricky about it, you can do it in one line in Python. Let d
be your original integer. Then

    
    
        [(d%10**(n+1) - d%10**n) / 10**n for n in reversed(xrange(int(log10(d)+1)))]
    

will be a list containing the base 10 digits of d as integers.

Technically, you need to do

    
    
        from math import log10
    

to make this work, but you can fit that on the same line with a little hacking
around using __import__, such as this quick and very dirty attempt:

    
    
        [ [(d%10**(n+1) - d%10**n) / 10**n for n in reversed(xrange(int(log10(d)+1)))] for log10 in [__import__("math", fromlist=["log10"]).log10]][0]
    

Edit:

Just to carry this a little further, if we interpret "a new integer that's the
result of each of the original integer's digits squared" as doing something
like this:

    
    
        129 -> 1481
    

( _i.e._ 9 gets replaced with 81), then we can do it in one line like this:

    
    
         int(''.join([str(x**2) for x in [(d%10**(n+1) - d%10**n) / 10**n for n in reversed(xrange(int(log10(d)+1)))]]))

~~~
quacked
Ooh, nice.

------
goatinaboat
The US and UK both produce more STEM graduates than there are jobs for at all
levels, whether BSc or PhD. Computing hoovers many of them up, but not all.

------
giorgioz
I'm a software engineer from Italy and went to work for Intel with an H1B visa
back in 2012. The process of getting a H1B visa used to be quite complicated
and long even before Trump started dismantle it piece by piece. My salary was
perfectly in the range of salaries from other US workers with comparable
education and skills. I know that because I had plenty of opportunities and
offers to switch company.

FAANGS strongly compete for software engineer talent and if one of them (ex
company X) would start offering lower salaries the others would likely poach
as many employees as they can from company X.

I do suspect though that outside of competitive technology driven companies
like FAANGS there is plenty of companies that indeed don't care much about
technology and innovation and just want to cut the budget. This is especially
true for consulting.

The USA will loose its edge with the loss of the influx of young talented
skilled professionals.

------
ta1548177231
Throwaway because I know I'll get downvoted into oblivion.

Many jobs require an IQ > 1SD above the mean. This means there are about 16%
of pop (if I recall my stats correct) who could possibly do the job, and
everyone else could not even if we gave them a free education on the job
training or any other benefit.

I believe STEM+Medical as a whole is suffering from this issue. One benefit is
low/nocode solutions are pushing some of these challenges into the mainstream
audiences.

~~~
qes
It sounds a bit elitist but I think there's truth to what you're saying.

I've seen it clearly in both directions from me - code I've written that I
could easily pick out 10 peers I've worked with and be certain that they would
not be able to solve the problem within the constraints, period - and I've
also seen work others have done and be certain that I could not have
independently done similar, certainly not within any span of time that's worth
considering.

I've also seen companies crumble and fail from only having "average"
developers where no one could tackle the difficult problems that inevitably
come up.

------
known
[https://en.wikipedia.org/wiki/Rent-
seeking](https://en.wikipedia.org/wiki/Rent-seeking) companies need H1Bs aka
[https://en.wikipedia.org/wiki/Wage_slaves](https://en.wikipedia.org/wiki/Wage_slaves)
to cut costs and to generate profits

------
president
In a previous company (large fortune 500 tech co) where all our QA engineers
were doing manual GUI testing, the overwhelming number of them were H1-B visa
holders. I always wondered why we needed to bring in "skilled foreign labor"
when any kid with a high-school diploma could essentially do the job.

~~~
Gunax
Because the job _requires_ a master's degree.

Or alternatively, why hire a local when you can get someone with a master's
degree for the same price?

~~~
rafiki6
Because you can hire someone without a masters degree for much less, and they
have the skills to do the job. By putting over qualified people in roles that
don't use their skills, you have done no one any favors.

------
known
5 million India diaspora is running an Organized mafia in USA
[http://www.petition2congress.com/20324/expel-indian-
american...](http://www.petition2congress.com/20324/expel-indian-americans-
from-usa)

------
supernova87a
Well, whenever someone complains that there's not enough supply of something,
what that usually actually means is that there's not enough supply _for the
price they 're willing to pay_. (Unless the elasticity of supply has hit some
real limits.)

News reporters seem not to be very good about following up on that detail, and
the person will usually not volunteer or wish to draw attention to the $ they
want to pay. Because they want cheap labor.

Now, the price at which you believe the market should be allowed to settle at
before resorting to foreign talent/immigration is for companies to weigh in
on, and Congress / policy makers to decide.

But maybe that process is broken at the moment, so we resort to simplistic 1
line summaries to get what party <x> wants. And aside from any of that,
educating more people in what we want supply of is a good choice, any time.

~~~
maerF0x0
Additionally, if the talent pool exists in another locale, then farming the
work abroad is always an option. But companies want their cake and to eat it
too. Lower like foreign prices AND on prem for supervision + time
synchronization

------
known
[https://archive.vn/mFIF5](https://archive.vn/mFIF5)

