
I Don't Agree That There Really Is a Tech Worker Shortage - MichaelCrawford
I know lots of engineers who are unable to find work.<p>I do believe the hiring managers who say they can&#x27;t find the workers they need.  What I don&#x27;t believe is that the workers aren&#x27;t out there, hoping to get hired.<p>I speculate that the reasons for the perceived - and ONLY perceived - shortage is that it&#x27;s far more difficult for employers and potential employees to find each other.  Another problem is that us engineers are expected to have real-world, paid experience in whatever technology the hiring company uses, rather than these companies providing on-the-job training.<p>At one time, a college degree and a demonstrable grasp of computing technology was all one needed.  Companies were happy to train.  No longer.<p>What really kills me is that when a new technology is introduced, one is _immediately_ required to know about it before getting a job where that technology will be used.  Consider that Swift, a new programming language that Apple hopes will make it easier to write iOS Apps, has only been available for a few months, yet one cannot get a job writing Swift code, unless one already has PAID Swift experience on one&#x27;s resume.  It&#x27;s not enough to just read a book.  Neither is anyone willing to train.
======
dalke
If you do an HN search for "shortage" you'll see many links, to things like:

[http://math-blog.com/2014/03/10/stem-shortage-claims-and-fac...](http://math-
blog.com/2014/03/10/stem-shortage-claims-and-facebooks-19-billion-acquisition-
of-whatsapp/) \- which points out that it's _not_ "difficult for employers and
potential employees", giving an example of how Facebook decided to not employ
the people who became the founders of WhatsApp, then paid $19 billion for
their company a few years later.

[http://www.theatlantic.com/business/archive/2013/04/the-
myth...](http://www.theatlantic.com/business/archive/2013/04/the-myth-of-
americas-tech-talent-shortage/275319/) \- titled "The Myth of America's Tech-
Talent Shortage: And what it should mean for immigration reform."

If you want the economic details, you might look at at
[http://www.epi.org/files/2013/bp359-guestworkers-high-
skill-...](http://www.epi.org/files/2013/bp359-guestworkers-high-skill-labor-
market-analysis.pdf) , which (among many things) points out that two people
get a STEM degree for each STEM job available.

The general conclusion is that there is no shortage, and that complaints by
various large businesses about a lack of trained people is a strategy to pay
lower wages and spend less on training. This has been known for over a decade.
Eg,
[http://www.cis.org/sites/cis.org/files/articles/2005/back130...](http://www.cis.org/sites/cis.org/files/articles/2005/back1305.html)
concludes """Overwhelmingly, the H-1B program is used to import workers at the
very bottom of the wage scale. The wide gap between wages for U.S. workers and
H-1B workers helps explain why industry demand for H-1B workers is so high and
why the annual visa quotas are being exhausted.

Many in industry have called for an increase in the number of H-1B visas,
citing the early exhaustion of the cap as reflective of widespread need for
skilled workers. However, the fact that very few H-1B workers are earning
salaries as high as U.S. workers in the same profession would seem to refute
that claim, and should make lawmakers wary of increasing the H-1B quota. The
exhaustion of the H-1B quota may reflect employers' interest in lowering labor
costs or widespread fraud rather than an insufficient number of visas."""

HN comments include those of
[https://news.ycombinator.com/item?id=8656028](https://news.ycombinator.com/item?id=8656028)
,
[https://news.ycombinator.com/item?id=7372574](https://news.ycombinator.com/item?id=7372574)
,
[https://news.ycombinator.com/item?id=3689383](https://news.ycombinator.com/item?id=3689383)
,
[https://news.ycombinator.com/item?id=5804016](https://news.ycombinator.com/item?id=5804016)
and more .. again, search HN for "shortage".

~~~
MichaelCrawford
H1Bs are used not only to pay lower wages, but to enable employers to treat
their employees poorly without fear that they will leave.

As a US Citizen, not only can I work for any US employer, I can reside here as
well, even if I don't have a job. If I work for someone who treats me poorly,
or who I regard as unethical, I will resign. One time I just walked right off
the job - I left on a Friday, then never returned, due to an ethical lapse on
the part of my employer. I gave no notice at all.

By contrast, a close friend who was a UK citizen, who worked with me on an
H1B, was treated quite poorly by our employer. He was given a far heavier
load, he was never given any help when he asked for it, in general he was
taken advantage of. Really he was a far more skilled coder than I was at the
time, but I was treated far better than he was.

I myself have no objection to foreign workers. If someone comes to the US
hoping to make a better life for themselves than they are able to do in their
Mother Country, I say more power to them. I know from hard experience that it
totally sucks to be poor.

But I do feel they should be paid as much as a US Citizen would be.

~~~
glesica
A possible solution here is for countries to treat labor the way they have
started to treat capital and goods and services. Start signing reciprocal
free-labor agreements. If country Y is willing to allow anyone who can legally
live and work in country X to legally live and work in country Y, then country
X will do the same for people who can legally live and work in country Y.

In my mind, if companies were serious about this shortage (and not just trying
to hire more people they can abuse as you described) they would be pushing for
far more than a few more H1Bs. But we haven't really seen that, at least that
I know of.

~~~
dalke
Such exists between many countries in the EU. It's not so simple though.

Free movement of labor also requires a correspondence in the national health
care and retirement programs, so for example totalization agreements to
eliminate dual Social Security coverage. The US has such agreements with only
a score or so countries (see
[http://www.ssa.gov/international/agreements_overview.html](http://www.ssa.gov/international/agreements_overview.html)
). It gives an example of a 66% tax rate when such an agreement does not
exist.

As it stands now, there is no such agreement between the US and, say, New
Zealand. A NZ citizen working in the US for 8 years before returning to NZ
would pay US Social Security taxes for those 8 years, but receive no benefits.

~~~
MichaelCrawford
The North American Free Trade Agreement (NAFTA) established such a free labor
market under the TN-1 visa, which is extremely easy to get, however it only
applies to twenty different occupations. It's commonly thought that Computer
Programming or Software Engineering qualify, but they don't - the TN-1
provides for Systems Analysts, who are commonly programmers as well, but
Systems Analysis is really quite a different thing.

Before we were married, my Canadian ex-wife obtained a TN-1 so she could live
with me in California. She has a Biology degree, and so was able to find work
as a Biological Lab Technician, which is one of the twenty on the list.

In general, Canadians, Mexicans and Americans can get a TN-1 if they have a
written offer letter for one of those twenty kinds of jobs and a four-year
college degree. The visa expires in a year, but is renewable. Canadians and
Americans just show up at a port of entry, request the visa, present the offer
letter and their diploma or college transcripts, then pay a fifty dollar fee.
The visa itself is a small card that is stapled onto one of your passport
pages.

For a Mexican to work in the US, they must request the visa at the US embassy
in Mexico City. I don't know what they must do to get a TN-1 for Canada.

For my ex-wife's TN-1, the whole process of applying for her TN-1 only took
ten minutes and cost fifty bucks. By contrast, an H1-B costs thousands of
dollars in attorney fees, one must apply months in advance, and one must
qualify before the cap is over its limit.

It's not well-understood that, in Canada and the US at least, it's completely
legal for foreigners to work without a visa provided they are paid in their
home country. That's how I myself was able to work in Canada. I'm a self-
employed consultant, so I deposited all of my clients' payments in a bank back
in the US, then withdrew Canadian currency from ATM machines in Canada.

I don't have a clue whether this last applies in other countries.

Strictly speaking I overstayed my Canadian tourist visa. I started paying
Canadian taxes after I got a work permit, as I had applied for landed
immigration - what the US calls a Green Card. However, no one actually
objected.

Just being married to a citizen of some other country does NOT automatically
permit one to reside or work there! That fact is also poorly understood.
That's not right, but that's the law in the US, Canada and the UK that I know
of, I expect many other countries as well. One must apply for a visa after
getting married; before one is wed, one can apply for a fiance visa.

~~~
fredophile
I'm a TN-1 visa holder and you've got some misinformation in your post.
Nothing major but some of the details can be important when talking about
working in another country. First you're correct that computer programmer is
not on the list of approved occupations. However, both systems analyst and
software engineer are listed. Most people view software engineer and
programmer as being the same but you have to make sure you use the correct
terms.

The length of the visa is up to three years. It also can't go past when your
passport expires and may be shorter depending on your job offer. It can be
renewed many times (I think up to twenty years but could be wrong).

Application and renewal is normally pretty easy. If you're doing a border
crossing it takes a little time and a $50 fee. If you're doing it through the
mail it takes about 2 months and a larger fee (several hundred dollars).

------
ryanackley
Here is an alternate point of view. I recently went through the process of
hiring a programmer. I probably interviewed 30 candidates. All of them had the
required knowledge and experience listed on their CV's. Guess how many could
write a simple program in the language of their choice? Exactly 3.

Yes, there are many people with the right credentials. In my own personal
experience, many of these people can't do the work. They either don't really
enjoy what they do or they simply aren't smart enough. They got into this
field because of the money.

~~~
SethMurphy
Could you provide an example of your definition of a simple program and the
resources they had to write it?

~~~
nolok
Not parent, but I've sat though way too many interviews where the candidate
failed the "FizzBuzz" test, either through super convoluted code that barely
works or with complete failure to produce the expected results.

And that is while sitting at a desktop computer, full internet access and no
one eyeing behind them.

~~~
wmkn
So you are saying that many people failed to type "FizzBuzz code" in Google? I
do not really buy that.

~~~
nmjohn
How many interviews have you conducted?

If the answer is more than 0, I feel you have gotten lucky in the candidates
you interview or are far more selective on who you actually interview.

If the answer is 0, then you would be incredibly surprised. It isn't quite as
simple as this dialog is making it sound, but essentially, yes, a not-
insignificant number of candidates cannot solve problems with a fizzbuzz level
of difficulty.

It is something that surprised the hell out of me as well. From what I have
seen, there are many people with CS degrees who have written virtually no code
outside of class and never have come up with an original program on their own.
It is incredibly clear that programming is just not something they are
passionate about.

~~~
wmkn
I have done about a dozen or so interviews. I can totally imagine some people
not being able to do a simple fizz buzz from scratch. But when they have full
internet access and no one is watching them. "Solving" fizz buzz is then as
simple as performing a search and copying the results.

I'll probably get down voted because it seems people on HN are incredibly
attached to the FizzBuzz story. Possibly I am totally wrong and I am too
positive about the skills of people with a CS degree. But it seems the crazier
the anecdote (full internet access, coding at home, etc.) the more eager
people are to believe it.

~~~
nolok
I'm the parent who said the story (although parent I answered to was also
using fizzbuzz it seems, which shows just how real it is) . And I totally
understand what you mean, in that before I ran interviews I would probably
never have believed it myself.

Truth is, I think a lot of people in this field are not "bad" or "stupid",
they simply don't care. That's what struck me the first couple of times, not
that they failed fizzbuzz or to understand how simple of a problem it's
supposed to be, but that they don't even copy it.

At first you think it's a couple of bad apples, then you think you're really
bad at choosing interviewee, then you get that no matter what, almost half of
the people you see shouldn't even be working in that field.

Frankly, it might not be politically correct to say that but running
interviews had to be one of the best thing of my career for my self esteem.

------
Htsthbjig
"I know lots of engineers who are unable to find work."

I don't. Probably your definition of "engineer" is different from mine.

"Another problem is that us engineers are expected to have real-world, paid
experience in whatever technology the hiring company uses"

Generalization and obviously not true. I have a company, I don't care about
paid experience, in fact we hired lots of people from open source projects, or
directly from University with no experience at all.

"At one time, a college degree and a demonstrable grasp of computing
technology was all one needed. Companies were happy to train. No longer."

During the dotcom bubble anyone that could click a button was hired. But it
was a bubble.

The better demonstration of grasping computing technology is actually having
done something with a computer.

When computers filled a room it was impossible for people to code on their
own. Now you could find people with college degree AND experience writing
software for others or for their own.

"yet one cannot get a job writing Swift code, unless one already has PAID
Swift experience on one's resume."

This is your belief not reality.

"It's not enough to just read a book."

Of course. Programming is not about reading books. The better programmer is
not the one who reads the most books.

In fact, I consider books obsolete. Everybody in my company has free Lynda
accounts.

~~~
smikhanov
Boy, I really wouldn't want to work for your company

~~~
MichaelCrawford
I must cop to the fact that I myself have a hard time finding work because I
make it plainly apparent that I have a bad attitude about total jackasses.

However, my thesis in this particular topic is not that I myself am unable to
find work, but that a great many of my colleagues cannot, despite being highly
qualified.

I do believe that those who employ coders, cannot find enough qualified staff.
I've been hearing that very same complaint from so many people for so many
years that I really don't buy the argument that they're just trying to drive
our pay scales downwards.

I feel that there is a deeper underlying cause.

------
bigtimber
There is only a shortage of cheap / entry level tech workers. There are plenty
of experienced and over-qualified tech workers, but most short-sighted
employers don't value older employees.

~~~
smikhanov
Correct. I'll steal someone else's comment
([https://news.ycombinator.com/item?id=7761424](https://news.ycombinator.com/item?id=7761424))
that illustrates this and corresponds to the OP's experience:

    
    
      Junior programmer (22): makes $80-100k, 120k in the Bay Area. Easily gets jobs.
    
      Senior programmer (28): 5-10 times as valuable as the junior. Makes $120-140k,
      possibly 150k. Serious stock options possible with the right company. Three-
      month job searches.
    
      Expert programmer (37): 3-5 times as valuable as the senior, so 15-50 times as
      valuable as the junior. Makes $150-200k. Leaves the Bay Area/NYC because he can't
      afford to raise kids there. Has a defined specialty. Job searches take 6-8 months
      because he's overqualified for everything but high-level positions, and those in
      his specialty number in the single-digits nationally.
    
      Master programmer (45): TO;DH.
    
      This industry pays well at the entry-level (if you went to a reputable college,
      live in the right city, know where to look and how to play the game) but doesn't
      have a clue when it comes to rewarding excellence. Getting better tends to
      backfire when this industry (being run by dumbass MBA types) continues to
      insist on structuring itself like a pyramid.
    

The entry level for junior programmers is very low and their pay is
incomparably higher than in any other industry -- even in finance. Beyond
junior stage, it gets harder and harder. If you want to progress further on
the career ladder, you have to aim to be like Chris Lattner, like Brian Goetz,
like Guido van Rossum.

~~~
snewman
(47 year old technical founder here; about to plug my startup so feel free to
skip)

Maybe this is true in general but it's not true everywhere.

We're looking for a few great engineers, are happy to pay what they're worth,
and understand the value of experience -- where experience means "every year I
get better at writing code", not "now I'm an architect and don't have to write
code". If you or anyone you know is interested, check us out at scalyr.com.
Small team, cool tech (e.g. [1]). We are early stage so equity is a
significant portion of compensation, but we can pay a significant cash wage as
well, and we have 1.5+ years of runway.

[1] [http://blog.scalyr.com/2014/05/searching-20-gbsec-systems-
en...](http://blog.scalyr.com/2014/05/searching-20-gbsec-systems-engineering-
before-algorithms/)

~~~
MichaelCrawford
I'd love to work for you, and hope to work for someone like you, but I don't
want to relocate as I moved to Vancouver so I could look after my elderly
mother and her sister, as well as to be closer to my own sister.

However, if you're willing to tell me where you're located, I'd be happy to
link your site from here:

[http://www.warplife.com/jobs/computer/united-
states/californ...](http://www.warplife.com/jobs/computer/united-
states/california/)

The "San Francisco Peninsula" could be San Mateo county, or the northern part
of Santa Clara county. When I possibly can, I link each employer from a
specific city's page.

The above link goes to an Apache index page, as I have not yet provided an
index.html for it. Here's my page for Seattle:

[http://www.warplife.com/jobs/computer/united-
states/washingt...](http://www.warplife.com/jobs/computer/united-
states/washington/king/seattle/)

If you know anyone that has the same outlook on life as you do, that is in our
near Portland, Oregon or Vancouver, Washington, I'd really like to hear about
it.

------
freshflowers
> At one time, a college degree and a demonstrable grasp of computing
> technology was all one needed.

Yep, and that turned out to be a fucking disaster. So we learned how to filter
for _programming_ skills, and the results were utterly depressing. The vast
majority of those "engineers who are unable to find work" couldn't code their
way out of a paper bag.

That applies to the majority of applicants unless we start filtering for
actual proven experience. Trying to find someone inexperienced who's worth
investing in training is a truly depressing exercise most smaller companies
really can't afford.

Is it really that much to ask that an unemployed engineer who wants a job
coding in language X makes a bit of an effort to learn the language by
themselves? Employers really don't expect 'paid' experience in something
that's brand new, but what they do expect is self-motivation. If you're only
willing to learn X when your boss tells you, you're either going to be a pain
to work with or you're covering up for your lack of skill.

You only learn a language really well over _years_. That's your _paid_ on-the-
job-training. All most hiring managers look for is some sign of skill and
motivation.

Not to mention the reality that the "cult of new", as we see it on HN and in
the start-up scene really fucks over most non-startup employers. Most
developers don't stick with any company for more than two or three years
because they want green field projects in the latest sexy language and
framework, not maintain "boring legacy code" (we're talking code no more than
two years old...) in a stack that's just been declared harmful, crap or
whatever by the HN hipster engineering in-crowd.

So you train someone, invest time in someone, allow them to learn from costly
mistakes on real world projects, and just when they are at the peek of their
knowledge and productivity, they fuck off again. Regardless of how well they
get paid and treated.

We bitch a lot about employers not investing in training, but the flip side is
that we have actively contributed to a culture of zero loyalty.

As far as I can tell, there is a real scarcity of actually talented engineers,
but employees and employers are stuck in some destructive loop that just makes
the problem a thousand times worse.

~~~
MichaelCrawford
Actually I strive constantly to learn new languages, toolsets, platforms,
frameworks and protocols completely on my own.

But that doesn't help me get a job. No one has paid me to work with any of
those, see.

If I can somehow get a job through some other means, then yes, all of my self-
study is a huge help to me, to my coworkers and my clients.

What people actually ASK of me, when they think they're looking for "actual
proven experience", is "how many years of experience" I have with a given
technology.

No one EVER asks what I actually did with it, whether I shipped a product as a
result, whether my code actually worked, whether it got good reviews, or sold
well.

If I weren't such a nice guy, I know damn well I could totally fabricate my
resume, and I'd have $250k and an office with a door I could shut in a
heartbeat.

It would actually work really well, because you know - I do invest in my own
training. So I really could do the work, even if my resume were fabricated.

But I'm a nice guy, so I don't fabricate my resume.

------
option_greek
Assuming there is no tech shortage and companies are indeed looking for
cheaper labor, how do we explain these offers (It's placement season in India
and its raining offers). These seem to be well above the average pay for
software developers (considering they are under graduates fresh out of
college). Of course all have to first participate in the H1B lottery for them
to enter US.

[http://indiatoday.intoday.in/education/story/job-offer-of-
rs...](http://indiatoday.intoday.in/education/story/job-offer-of-
rs.-2.03-crore-from-oracle-us-to-iit-bhu-student/1/405389.html)

[http://articles.economictimes.indiatimes.com/2014-12-04/news...](http://articles.economictimes.indiatimes.com/2014-12-04/news/56723158_1_placement-
drive-four-students-higher-studies)

[http://www.hindustantimes.com/business-news/campus-
calling-4...](http://www.hindustantimes.com/business-news/campus-
calling-40-iit-students-get-rs-1-cr-plus-offers/article1-1293332.aspx)

------
skrebbel
Job markets, even in tech, are quite tied to geography. From which area and
perspective are you writing this? Knowing might help us discuss this subject
better.

I live in the Netherlands, where programmer salaries are _way_ lower than in
silicon valley, but I don't know of a single half-competent programmer without
a job.

All the hiring managers are complaining here just as you describe, but the net
effect is that everybody gets hired. Even the mediocre folks (note: I'm not
referring to skill as in "decades of Swift experience" but "competent
engineer, quick learner").

Maybe the exploded salaries of the bay area take away any financial space an
employer might have for on-the-job training? People still have to create more
value than they cost.

(note, I hope this is not the case, because I think programmers are grossly
underpaid here in the Netherlands)

~~~
crdoconnor
>Maybe the exploded salaries of the bay area take away any financial space an
employer might have for on-the-job training?

It's not like employers are keen on training anywhere else in the US either.

American business executives have become culturally short-sighted and the
unwillingness to train is part of that.

~~~
zaqokm
> It's not like employers are keen on training anywhere else in the US either.

Although I do not live in the US, I gather that like many countries I have
lived in is the view is that training is no longer such a large responsibility
of the employer and is rather costly.

However in my travels and work in Asia, there is a concept of bonding in many
countries where an employee is offered a job and training and in return agrees
to work for a company for X amount of time or pays the employer. This reduces
the overhead in regards to the cost of training.

~~~
crdoconnor
This doesn't sound like the Asia that I live in.

~~~
zaqokm
> This doesn't sound like the Asia that I live in.

Well I have seen it in ; Singapore, Malaysia, Philippines, Indonesia. (note:
when I refer to Asia, it is the SEA section)

~~~
crdoconnor
Yup, that's where I live. Maybe you could let my employer know that's what
he's supposed to be like.

~~~
zaqokm
> Yup, that's where I live. Maybe you could let my employer know that's what
> he's supposed to be like.

Hey it's your employer so maybe you should speak to them. It is not an unusual
practice.

~~~
crdoconnor
Trust me it is.

------
pjmlp
Fully agree.

Recently discussing this issue among friends, not one of them could get hired
for specific positions, even though they knew the required technologies.

All got the same excuse, the said technologies were being used in side
projects, not on their main job.

~~~
nmjohn
What companies are you applying to?

I find what you are saying very hard to believe as my own experience has been
the complete opposite. When I was interviewing I got asked about my side
projects more than everything else combined.

~~~
pjmlp
Just standard European middle size corporations, take your pick.

------
lafar6502
I'm afraid there's a shortage of good programmers, with proper education in
computer science, understanding of how the OS and programs interact, knowing
how to use at least one programming language proficiently, fluent in
algorithms and data structures - i mean people who know their tools and know
what they're doing. Instead we've got lots of excited, half-educated but
enthusiastic ctrl-c/ctrl-v specialists, doing whatever they think is
right/necessary and not even realizing how broken their products are (or how
much better they could be if their authors were a bit more knowledgeable)

~~~
andybak
There's a wide spectrum between copy+paste no-hopers and people with a PhD
from MIT who know Knuth and SICP backwards.

I would rather employ a self-taught developer with some experience and
pragmatism born out of real-world experience than I would someone with
impeccable academic credentials.

Forgive me if I sound touchy but I'm self-taught, my knowledge of algorithms
is extremely patchy - but I think I'm a competent developer in the domains to
which I apply myself.

~~~
dalke
I think you mean _only_ impeccable academic credentials. Self-taught
developers do enter MIT graduate school, including after several years of
working in industry. For that matter, Chumby hired Andrew "bunnie" Huang as a
freshly minted MIT PhD in EE.

Or perhaps you mean that the types of problems you work on, like the vast
majority of problems in the world, don't require knowing Knuth and "PCIS", or
a PhD education?

I develop algorithms as part of my work. For example, given 20 molecules, find
the largest substructure which is in at least 15 of them. I opened up v3 of
Knuth's "The Art of Computer Programming" last week because it has several
pages about a topic that I don't understand.

It would take a lot longer to train you to the point where you could be
effective at the task, than a Knuth-knowing MIT grad. Which is quite
reasonable - I'm in a rather obscure corner of the programming world. Though
it's one where Knuth plays a much larger role than SICP.

Forgive me if I sound touchy ;) but I'm self-taught, followed by education,
followed by experience, and feel exactly the same as you.

~~~
MichaelCrawford
Among my gripes is that not only does no one care that I've studied Knuth, it
is uncommon for those who might hire me, to have even heard of Knuth.

Consider that Mark Zuckerberg dropped out of Harvard to start facebook. Now he
has the idea that he knows more about computer programming than I do, despite
the fact that I had been in the industry for six years before he was even
born.

I'm working on an iOS version of Conway's Game of Life. The vast majority of
hiring managers I demonstrate my app to, not only have never heard of Conway's
Life, they don't have a clue about cellular automata - nor do they see the
point of my app.

I find that hard to understand, as Conway's Life is a widely studied
artificial intelligence research tool.

~~~
dalke
It's like this for every single subject. Griping about the ignorance of others
is awfully hard to distinguish from boasting about your superiority.

For the vast majority of problems, knowing Knuth is about as useful as being
able to quote Tacitus, compose a Petrarchan sonnet, describe the Krebs cycle,
or recount the details of Australia's 1882 victory at The Oval.

You would have had the same blank look if you demonstrated your microkernel
operating system, LALR parser, or Needleman–Wunsch-based sequence alignment
tool.

Why should they care? If you can't explain to them why it's important, then
perhaps it actually isn't important for the job.

My previous comment objected to the idea that people should be rejected solely
because they know esoteric knowledge. Your gripe seems to be that uncommon
knowledge makes someone somehow special. You'll get no empathy from me.

------
computerjunkie
_> >> when a new technology is introduced, one is _immediately_ required to
know about it before getting a job where that technology will be used._

Well Said. I too am in a similar position you have explained. I have a
Computer Science college degree (graduated in November) and I have been
applying to junior/graduate level jobs that have inflated expectations of what
a regular graduate should know (especially technologies).

All these claims of tech worker shortages recruiters talk about is hard to
believe. I think there is a communication breakdown with companies and
education centers breakdowns when it comes recruitment.

~~~
freshflowers
Try looking at it from an employer perspective. The fact that you have a CS
degree tells me _absolutely nothing_ about your engineering talent.

So hiring you on that basis alone would be gamble, and _the odds for that
gamble are hysterically bad_. They have better odds taking a year's junior
developer salary straight to the casino.

The number of people claiming to be able to do the job is a multitude of those
actually able to do the job.

If you are actually "in a similar position", it should take you less than two
months to get out of that position. Teach yourself a stack that is in demand,
build a project and put it out there (Github, App store, whatever) and if you
show any talent and skill the odds are you'll be hired within a month.

Just waving your CS degree around isn't going to make anything happen.

Fuck it, you've just graduated in November, you have no proven skills and
you're already whining about not getting hired?

~~~
MichaelCrawford
"(Github, App store..."

Quite commonly I am asked for my Github link, but then regarded as unqualified
because I don't have one.

That's because you can download my source from my own website.

I have some pretty good reason to believe that many of those who want to know
my Github, don't know what Github actually is. That is, not only do they not
inspect anyone's Github source, if pressed, they could not explain the
difference between a github and a hubcap.

Almost universally, one is required to have at least on App in the App Store
or Google Play.

There's no specific requirement as to what the app actually does, whether it
works well, whether it's source code makes sense to anyone, whether it gets
good reviews - just that one just that that special magic ticket into a mobile
development job.

Again, I have good reason to believe that few ever actually so much as look at
the app store or google play pages, let alone download, install and run the
app.

Have you ever heard someone say "I'd like to work with you so we can find a
way that you can drive a brand new car right off the lot. How about I give you
a thousand dollar trade-in on your totally thrashed beater?"

I actually had a Toyota saleswoman say just that to me. The reason I was
shopping for a new car, is that my thousand dollar trade-in was so unreliable
that I was to be fired if I didn't buy a new car Real Soon Now.

Now consider that many recruiters are really good at just that kind of sales.

It's not that they try to sell anything to the candidates. They sell their,
uh, "service" to the hiring managers, by somehow convincing them that its
worth paying them tens of thousand of dollars in commissions for placing just
one coder.

------
kellyfj
I've been in a hiring manager role (tech lead / manager) for almost 14 years
and this has always been true: Lots of knowledge out there - but the ability
to write a basic function cleanly and correctly is rare.

There are tons of people with credentials and good looking resumes but my
experience is that less than 1 in 5 of them can code a Fibonacci function let
alone FizzBuzz. I don't care if it's iterative or recursive as long as it's
right.

I think the core issue is the CS courses emphasize knowledge WAY TOO MUCH over
experience of writing tons of code on a team. In addition, resumes have WAY
too much noise compared to signal - that's why people's networks (and tools
like GitHub) are so important.

I've also been in organizations where teams hired people I passed on (they did
multiple interviews in our org) and those that did not pass the Fibonacci test
not only bombed in their organizations but also hired MORE bad programmers and
they all got RIFfed. Those that pass the Fibonacci test do pretty darn good on
my teams.

Amazing how a simple programming test can be such a solid predictor . . .

I also screen for other things - knowledge, good communication skills and if
they have a good sense of their own abilities. It also blows my mind how super
confident kids walk in expecting to nail an interview - but again can't code a
simple function to save their lives.

But Fibonacci continues to blow my mind - so simple and yet so hard. Just add
two variables in a loop . . .

BTW I have found in general women are generally better programmers than men as
a percentage of those interviewed.

~~~
MichaelCrawford
My father felt very strongly that women were better naval officers than were
men.

He also felt very strongly that the soviets were far better than his fellow
americans. He regarded most military personnel as total slackers.

------
alexggordon
Why is it that there either has to be a shortage or abundance or tech workers?
I think as of now the stream of Tech workers is adequately filling seats.

Tech is one of those fields that ends up a lot like dating. You know there's
people out there that could re-write your whole system overnight--the
"rockstars". Because of this I get the feeling that people are turning down
tons of job applications just because they feel the applicants aren't
"rockstar-y" enough.

I think the experience mentioned here also holds true. Companies want people
that can get the ball rolling, but also underestimate how much training can
help. At my current company, I'm probably at a training, that is beneficial to
myself, at least once a week. I know I'm an outlier, but tying this all
together, I think hiring managers are to the point where they're expecting too
much from applicants, while undershooting the ability of even the mediocre
applicants.

~~~
MichaelCrawford
Rockstars blow their paychecks up their nose, cheat on their wives and
girlfriends with groupies, trash hotel rooms then die young, or perhaps live
to a ripe old age of poverty and destitution.

I have gotten to the point that when someone advertises for a rockstar, I
don't even apply.

Do you know what a bozo filter is? Have a look at mine:

[http://www.warplife.com/mdc/resume/](http://www.warplife.com/mdc/resume/)

At the very top of every single page of my site are links to two essays about
my - quite severe - mental illness, as well as the first chapter of a book
about how engineers get people killed by screwing up on the job.

In the US, it's flatly illegal to discriminate against the mentally ill for
reasons of employment. The specific reason I am a coder and not a physicist is
that I write good code even when I am hallucinating.

If they get past that, then have a look at how a whole bunch of people really
have been killed by clueless engineers - as when an incompetently designed
truss bridge took the lives of one thousand steelworkers back in the day -
perhaps they don't want to hire me because I would hold the entire company to
the same standards I hold myself to.

I haven't always been that way. I've written a whole lot of code I'd rather
that no one ever get to look at. I've written quite a lot of really stupid
programs, just because we all knew they would sell really well.

But I'll be fifty-one years old soon.

I'm concerned about whether anyone will remember me after I'm gone.

They sure aren't going to remember that I did a stellar job writing the test
tools for Apple's MacTCP.

------
mabbo
Not all tech workers are equal.

My company does not care what language you know, or technology you use- we
want people who are smart, capable of working with any technology. And we want
the very best of those people, without lowering the quality bar for the sake
of having people in seats.

We will let people go while we also are hiring for open positions on the same
team if we realize the person isn't s good fit after all. I have little job
security, but I work with only fantastic people. It's a deal I'm happy with.
The pay is nice, and I never feel like the smartest in the room.

There are lots of companies like this. We have to complete with them for those
top tier people. And we frequently find those good people outside of America.

The result? They often come work in our non-USA offices. That's one less job
that would have existed in America, with the salary of it being taxed in
America. It's a loss for the USA.

~~~
ExpiredLink
> _There are lots of companies like this._

They all look for the 3% rock-stars, reject the 97% and complain about tech
worker shortage. What a silly 'strategy'!

------
bobosha
One thing that continues to amaze me about the people claiming there is no
tech worker shortage, their typical argument - "if only the tech industry paid
enough...."

That is a self-contradictory proposition if ever there is one. What is that
this supposed talented programmer wannabes do, if they are in a position not
to take a 100K+ salary?

More importantly, if indeed there is such talent and you know how to run a
company profitably paying this supposed talent the salary you assume...then
why aren't you doing it?

You have a perfect arbitrage opportunity, and by your own admission - FB,
Google, MS etc. are all "greedy" and only care about their bottom-line. So if
you can demonstrate that hiring "American" programmers at 200K+ salaries and
deliver high-quality code (better than those crappy Indian outfits), all the
luck to you!

Why aren't you all doing it? Be the change you want.

~~~
MichaelCrawford
All the headhunters tell me I should be asking for $65.00 per hour.

------
netcan
Shortage is a tricky political term. Reality doesn't work like that. X
positions and Y candidates. It depends on the quality of candidates and
salary. Better programmers, and companies can hire more. Higher salaries and
more people will become programmers.

That said, 2 counter points.

First point is the speed the profession has been expanding. Programming is and
has been (barring the dotcom bubble burst) an area of fast growing demand. In
many tech fields that aren't so fast growing, "experienced" means 10+ years.
There are more working professionals with over 20 years experience than those
under 5. The distribution of experience levels you will find among mining
engineers is the normal one, not the one you find among software engineers
where 36 year olds with 15 years of experience are the grizzled vets.
Technical jobs for people with under 2-3 experience is always tricky.

Google, Facebook, etc are new companies. They're full of software developers.
10-25 years ago they didn't exists and neither did those jobs. Its hard to
believe that in this environment there wouldn't be a shortage.

Second point is that the problems you mention are a cost of doing business,
part of reality. Whether the shortage could theoretically be solved by
improved job-candidate matching is not really relevant unless it can be solved
practically. Same for on-the-job training. A company that needs to hire really
fast, is small, etc. can't train on the job very easily. On the job training
is also less compatible with the shorter cycles in today's world. People
average shorter stints at companies. The "shortage" makes job hopping more
viable and beneficial. Startups have very short horizons for which they are
trying to solve problems. Etc.

If you take some of the relatively established and unchanging professions like
Law or medicine, they have a long and well established way of apprenticing
young professionals. That gets built up over generations when things stay the
same. In a fast paced world like software, it's not as easy.

Anyway my point is that saying there is not shortage because it could
theoretically be relived by optimisations that there is very little way of
doing... it's semantics.

~~~
MichaelCrawford
"needs to hire really fast".

When I was but a wee pollywog, it was pointed out to me that most open
positions are never advertised in any way. Instead, when a position opens up,
the hiring manager looks at the pile of resumes that are already on file.

For that specific reason, I applied to companies based on whether I'd like to
work there, rather than whether they had any openings. One such company
interviewed me immediately, but waited two years to actually hire me. That job
actually worked out really well.

I don't actually know but have reason to believe that that's not commonly the
case anymore. That is, my impression is that companies don't solicit resumes
unless they have a specific opening.

From time to time I find a "Jobs" website that specifically says "We are not
accepting applications at this time" or "We have no open positions".

By contrast, some others will say "We are always looking for great people,
please send us your resume".

One might at first think that it's not a big deal for a position to be
unfilled for a period of time. But consider that a company typically expects
an employee to be worth twice their pay.

That is, if a software engineer is paid $100,000.00 per year, then to be
considered truly qualified for their job, they must write $200,000.00 worth of
software during that same year.

That's not $100,000.00 of pure profit. Actually that's the breakeven point -
that is, writing $200,000.01 worth of code in a year would yield one cent of
profit!

There are considerations of office space leasing, all manner of other costs
like the equipment and software the employee requires, telephone, internet,
electricity.

That "twice your salary" figure isn't specific to coders, my understanding is
that that's regarded as the rule of thumb for the value of every employee, in
every line of work.

------
ninjakeyboard
There is no shortage of work. There is a drought of talented engineers though.
Most of them are terrible.

~~~
justincormack
You are just repeating this. How do you know there is actually a shortage,
rather than a lack of a process for finding them? Or a lack of ways for them
to find the good employers? A non functioning market is rather hard to
distinguish from inability to find what you want.

~~~
bobosha
I can speak for myself, I co-founded and run a tech company in Cambridge MA.

We are looking for machine-vision programmers and the ones who have experience
in thsi space are all either snapped up by amazon, fb and google or doing
their own startup.

Our choices were to either hire a freshly minted PhD in AI from MIT (H1b) or
from the legion of the resume-padded "locals" with made up skill-sets, who
expect a job, just because their highness graced our interview and deigned to
come to our office. Not to mention that they wouldn't pass a basic programming
test.

Believe me, I would MUCH rather hire an American than jump through the visa
hoops, it costs thousands of dollars upfront, with no certainty of outcome,
plus the hire is only with us for 3 years! After 3 years, we lose a trained
person

~~~
MichaelCrawford
I know all about 2-D image processing but not about pattern recognition.

I've done some algorithmically complex stuff, like Live Picture, which was a
combination vector/bitmap graphic editor, which enabled one to do prepress
graphic work for magazines and product packaging, by compositing 200 MB bitmap
graphics on a 32 MB 68040 Macintosh.

Unfortunately, Adobe's marketing people were far better than ours. Our program
was far superior to Photoshop, but no one could figure out how to actually
sell it.

Given that, could you use me?

I'd rather not relocate, but if I did relocate, Cambridge would be a top
choice for me. I've been there a few times, and once lived in mid-coast Maine.

------
MichaelCrawford
I seem to have struck a chord with this post. A lot more comments than I
expected, and sixty points added to my karma.

Thank you for helping me reach an important decision. For some time now I've
been puzzling over the idea of offering a consulting service in which I would
screen resumes for a fee. After a chat with a friend who is a manager with an
eCommerce startup, I've decided to pursue it.

I didn't have a clue as to how to get started. He suggested I do it for free
for a little while, to build my reputation. That's what I'm going to do.

I expect it would help to register a domain for this specific service, rather
than use the rather eccentric website I presently have. I don't know yet what
the domain will be. I need to catch some ZZZs, so I'll deal with it tomorrow.

I mentioned this in one of my comments below. Someone pointed out that
background check services already do this. Actually I would be quite different
from a background check, in that I would screen resumes _before_ the
interviews, so you don't have to interview clearly unqualified candidates.

Also I'd be looking into their technical qualifications, not their criminal
record or record histories.

This is just what headhunters are supposed to do. It's not that they couldn't
screen resumes - but they don't.

\-- Mike

------
MichaelCrawford
From time to time I'll see a job posted on Craigslist or the like that says
"We only want applicants with Computer Science degrees from Berkeley, MIT or
Stanford".

I myself have a Physics degree from the University of California Santa Cruz -
"Uncle Charlie's Summer Camp".

Despite that, I quite commonly find that I'm a better, or more productive
coder than colleagues with CS degrees from those schools.

Just because you have a degree, it doesn't mean that you have a clue.

And just because your degree is from a school that no one has ever heard of,
it doesn't mean that you're ignorant.

