
Ask HN: Is There Really a Coder Shortage? - GarrisonPrime
I&#x27;m considering a career change, but the job market for software development has me confused.<p>On the one hand, it&#x27;s very common to hear about some supposed shortage of programmers. Yet on the other, few companies seem to have more than a couple openings at any point in time. And it seems every CS uni student or bootcamp grad complains about having to send out 300+ applications in hopes of landing 2-3 interviews.<p>WTF? That&#x27;s easily an order of magnitude worse odds than when I applied to medical schools. How can it be that hard to land a job if the market is supposedly desperate for talent?<p>Or is it only _experienced_ coders that are in demand? Are employers just lamenting how the majority of applicants have barely any experience and little depth of knowledge?<p>If that&#x27;s the case, encouraging people to go into the field on the pretense of a &quot;hot job market&quot; seems disingenuous. I don&#x27;t want to spend years of my life and who knows how much money learning a new skillset only to discover I&#x27;ve joined an ocean of low-skilled coders who won&#x27;t have any serious job prospects for 5+ more years. :&#x2F;
======
protonimitate
There seems to be an over saturation of inexperienced/low-skilled applicants.
A lot of people are trying to break into the field right now, which puts
pressure on the entry level job market.

It's possible to get in, but you need to be above-average in both technical
and personal skills. Luckily, in my experience, the average level of both for
the lowest level job seekers are not that high of a barrier to overcome.

>encouraging people to go into the field on the pretense of a "hot job market"
seems disingenuous.

Take anyone who doles out this advice with a grain of salt. They likely stand
to benefit in some way.

>I don't want to spend years of my life and who knows how much money learning
a new skillset only to discover I've joined an ocean of low-skilled coders who
won't have any serious job prospects for 5+ more years.

Be honest with your self about why you want to switch careers. If it's just
for a quick salary bump, there's probably smarter ways to do so. If you really
are interested in the field, then start self-teaching and go from there.
Spending money on boot-camps or a second undergrad degree is a poor investment
right now imo.

I believe that if you have a) decent real-life work experience in any
industry, b) the ability to self teach well, c) patience, and d) realistic
expectations (e.g. not 100k off the bat in a big-n), there's still a good
chance you can break into the field.

~~~
potta_coffee
It took me about 5 years of grinding to get my foot in the door and earn
enough experience to prove myself. It was a lot of hard work but I managed to
do it, and now I'm paid really well and do more interesting work. It
definitely takes time and effort, but it can be done.

------
musicale
There does seem to be a massive shortage of highly skilled labor willing to
work uncompensated overtime in terrible work environments for drastically
below-market wages.

Companies are very eager to do anything to address this shortage, short of
increasing pay, expanding benefits, or improving working conditions.

There is also a shortage of cheap new graduates with many years of specialized
work experience. Companies are willing to do anything in their power to
address this shortage, short of training new or existing employees or hiring
people with more experience.

------
theworld572
Yes there is a huge shortage for good coders. But just completing a coding
bootcamp alone does not qualify you as a coder.

Furthermore many graduates from coding bootcamps are not really good coders -
they are just there for the money. Once you are able to demonstrate that you
are a level or two above the bootcamp-graduate group, then yes it is a very
"hot job market".

So while it may be the case that bootcamp grads have to send out 300
application, for developers with 3+ years of experience it is an entirely
different horizon. Many job postings that ask for 3+ years experience get less
than 10 job applications on job sites. There are very few other industries
where having just 3 years experience puts you on such a high level.

EDIT: The way break into coding as a career, is not only to do a bootcamp but
demonstrate you are capable of coding without having your hand held. A couple
options are: contribute meaningful code to open source projects, do low-wage
freelance projects on sites like upwork.com - you might not make much money
but you'll have demonstrated you're capable of doing real-world commercial
development. Once you get your first job, stay there for about 2 years, after
2 years try applying to other jobs, it will be WAY easier this time round and
if you get offers you can either move to a better pay/company or demand your
current company matches that rate.

EDIT2: Pick a stack and stick with it. It might be stupid but many employers
ask "how many years experience with framework X" do you have? If you change
tech stack a lot in your career it will be harder to be reach a "senior"
level.

------
rvz
> Or is it only _experienced_ coders that are in demand? Are employers just
> lamenting how the majority of applicants have barely any experience and
> little depth of knowledge?

The tech industry projects a 'talent shortage' of senior software engineers
that these companies are unable to find. But instead they get 100+ junior
level applicants which are ignored by them.

The problem is that companies are reluctant to provide training for juniors or
entry level applicants as they prefer to hire one experienced senior developer
just to do the work of 20 junior developers with a $100k salary + stock.
However, most companies are unable to afford this and they simply complain
that there is a 'talent shortage' of these specific developers.

Even if a junior gets to the onsite interview, they are asked to write a
series of algorithm tasks on a whiteboard to prove that they are qualified.
Simply having a 1st class CS degree is not good enough for any candidate. So
the actual 'talent' they are looking for are developers who are at FAANG
companies. If they do find them, they are directly hired (No tech interviews)
which is rare.

> I don't want to spend years of my life and who knows how much money learning
> a new skillset only to discover I've joined an ocean of low-skilled coders
> who won't have any serious job prospects for 5+ more years. :/

The point here is that if you are applying for a junior/graduate or entry
level job, you now need to further differentiate yourself from the other
candidates and programming is simply not enough. If you were to switch careers
into this one, you have to be prepared to show what you have done to convince
the hiring manager to take you on, since they can just either hire a senior or
an internal applicant* to take the role instead.

* Some companies hire candidates internally and prefer them over external ones due to their connections to the company.

~~~
zzzcpan
> The tech industry projects a 'talent shortage' of senior software engineers
> which companies are unable to find.

Why do you assume that? Oversupply of developers applies to senior developers
as well, not to the same degree of course, but enough to have a luxury to
treat them just as badly from first contact, as companies expect to be able to
find somebody else.

~~~
theworld572
Not trying to be harsh but, do we live on the same planet? I'm not even based
in a major tech hub (I'm in Northern England) but in my experience a developer
with 3+ years experience can walk out of one job and into another the same
day. Plus every company I've worked for has had trouble finding good
programmers and I've never once known a developer who had trouble finding
work.

------
sloaken
Typical shortages are really: We cannot find anyone who will do it for minimum
wage ... cry cry cry.

This is usually followed by comments: <country of choice> people are just
unwilling to do this job ... cry cry cry

Both cases are 'For your cheap pay they are not'.

One good question for the western world, why are so few people studying CS
[https://danwang.co/why-so-few-computer-science-
majors/](https://danwang.co/why-so-few-computer-science-majors/)

I suspect it is the working conditions.

Of course I find it interesting I have a dozen head hunters asking me if I am
interested in a job that does not match my skill set. Ok I am a techie, but I
am not a ... All I can figure is these companies have some H1B visa thing
coming up and they need to prove no American will do the job. Last time I was
actively looking was 2009. So they are going back 10 years to prove there
cheating statistics.

I found it 'Fairness for High-Skilled Immigrants Act' is going to import more
techies from India. So they need to prove that a C# back end developer will
not take a javascript job doing web pages.

------
phakding
Problem is finding people who have enough experience and skillset that matches
with that experience. One of the places I worked at, I interviewed 4
candidates, but they couldn't even explain the stuff that they wrote on their
resume or answer basic technical questions, questions related to simple data
structures or questions about their primary programming language.

We literally gave up on the position and after two years the position is still
not filled.

There isn't dearth of candidates, just the competent ones.

------
ziddoap
Which areas of expertise are you looking at? What languages are you looking at
for job openings? Where are you looking geographically?

It's hard to generalize to just geo-agnostic "coders", I think.

> _encouraging people to go into the field on the pretense of a "hot job
> market" seems disingenuous._

FWIW I think this is true no matter the program. By the time it trickles down
to those thinking about enrolling and those people start graduating, the
market becomes saturated from all of the graduates (who were already in the
pipeline) and all of the people who made career shifts to the in-demand X.

~~~
GarrisonPrime
Mostly JS and its bucket of related architectures and connections, since that
seems to have the widest applicability. Also considering C++ and Java since I
already have some experience in those.

My parents are bordering on elderly and need more and more help, so I'm
probably limited to the Rocky Mountain or southwest regions of the US.
Although in this early stage when I'm just trying to get a feel for the
market, I've not been limiting my searches to any specific region (other than
US-based).

------
strikelaserclaw
It is hard to get your foot in the door. I had the same troubles when i
started out 7 years ago. Once you hit a couple years of experience (5 i think
for most), then you get a lot more interviews which you can convert into jobs.
I'm not sure why employers are lamenting, it is the classic "want someone
highly skilled but don't want to pay them enough" paradigm with most
employers.

------
anm89
When I looked for junior jobs in 2013 I had people knocking down my door to
hire me. Back then it just wasnt as trendy to get into development.now that I
have 7 or 8 years of experience it's still not a problem to find new work.

The problem is that opposite of 2013 there are way more people wanting to get
into the industry than people willing to hire juniors.

This leads to a situation where there are simultaneously huge excesses of
generic junior web developers and huge shortfalls of experienced people in
targeted domains.

It is still possible to break though that initial barrier to entry but you
better be ready to fight for it.

------
hitsurume
There is a shortage in qualified senior developers. Right now in Bay Area /
Silicon Valley there is an abundant of junior / bootcamp grads trying to find
work as a developer. I'm personally helping a new college grad and a bootcamp
grad and they both are having problems getting their foot in the door in the
industry. The common theme from these two though is their lack of technical
ability right now. If you enjoy this field and can demonstrate competency and
recall of programming fundamentals (Data Structures and Algorithms), you will
find a job.

------
gaspoweredcat
i think you hit it on the nail, its the "experienced" bit that is the problem,
if you look at a lot of the postings at leat here in the UK they will say
things like "Min 3 years in a similar role"

the problem is no one wants to train anyone, at all, nor are they willing to
take a chance even if its a slight one. people dont hire staff for the long
term these days so they put minimal effort into vetting of applicants and you
can bet that no matter how good you are if you have no former relevant
experience theres an extremely high chance your CV will be binned instantly

------
perseusmandate
This situation to me exemplifies the short-sightedness of millennial parents
shoehorning their 5 year olds into wanting to be programmers because it was a
meal ticket 2 years ago

~~~
reilly3000
I'm a said millennial parent, although my son really took to programming
mostly on his own after I gave him some scratch lessons. He made a simple
social network in php and became pretty popular in his 6th grade class for it.
He's taught himself Java and loves working on games. While I'm encouraged at
his career prospects, I understand the world may change around us and the role
of a developer is certain to not look the same in 10-15 year's time. I think
its a wonderful hobby that is teaching him to be logical, creative, and
resourceful at problem-solving. What's wrong with that?

~~~
logari
Absolutely nothing. Well except Java. (Just kidding, Java is fine!).

~~~
reilly3000
I'm sort of against it, but Notch got the Minecraft generation hooked on it!

------
sp527
As stated by others, the market for good engineers is thin. There's another
driving force worth noting: we are steadily automating and abstracting
ourselves away. Depending on how you look at it, it's either the best (you
know how to put it all together and do work that would have taken 30 engineers
just 5 years ago) or worst (you suck) time to be in software engineering.

------
dba7dba
I agree with your points.

It's like no company wants to train anyone (internal nor external candidate)
and expect you to start working on their production system/code almost
immediately.

Self training and really outstanding portfolio is the way go.

~~~
logari
The problem can be addressed by removing the "employee mindset" from potential
programmers.

If you do it for the money, well, you will neither get very good, nor will you
enjoy the money, assuming you become good enough to get any.

Companies that have rubbish HR practices eventually lose out to firms that
appreciate that the Japanese hiring system: hire someone who has shown
excellence in any field, and they are bound to repeat it.

Simply fishing for talent in existing companies is a failed and flawed
strategy. Yes, you will end up with a senior developer doing 5 juniors' work,
for less than half of their pay--until another firm offers him more money and
he leaves, leaving you out in the open again.

By contrast, hiring a junior and teaching them the ropes on condition of their
not leaving for n years is a better and an all around win strategy.

Another word: I have seen most CS program curriculums and with certain
exceptions, most are not teaching what would make them marketable employees.

For instance, SICP should be a must in any CS program, but in some, it is not.
How can they afford not to teach from the best CS text in the world?

You get a developer with a resume. And a degree. Big deal. How about one with
a remarkable portfolio of projects demonstrating real understanding and
passion?

I doubt if a company would bin the resumes of someone with interesting
projects to their credit. Simply a degree with a few nominal github repos is
not going to cut it.

~~~
theworld572
> The problem can be addressed by removing the "employee mindset" from
> potential programmers.

This is very true and a nice way of explaining it. Also the people who got
hired 5-10 years ago with no college degree are the ones who taught themselves
PHP in high school and built sites with it. Then they taught themselves
Java/Ruby/Python/Javascript etc. Most coders like that think "I want to learn
coding to built X" and they go ahead and do that, employers can see that kind
of initiative and drive.

Which is a very different mindset from "I want to pay $X amount to get trained
to be a web dev because I want a job as a web dev".

~~~
logari
Thank you. There is a well-known sociological theory that things that matter
cannot be gotten directly because you think they matter; rather because you
want them, aside from their importance, then you can get them. Say you want to
date a hot girl. You cannot say: "I want to be your boyfriend, because you are
hot."

You acquire something important because you like it, you want it for intrinsic
reasons.

You will go far in any field if you like it and want to excel in it. The
ugliest man with the right amount of passion and intrinsic liking, and enough
preparation can melt a beautiful girl's heart.

Taken to a logical extreme, someone very good at nothing, is notable, because
he is "very good" first. In other words, the most boring person can also be
interesting because of being "most boring".

The future of CS work increasingly looks like truly passionate programmers
building things (like at YC). Companies have a shortage because of this, in
the main, since the pay and conditions for real programmers is not good
enough, and a real programmer can earn (by building stuff) even without doing
a 9to5.

------
EnderMB
In my current experience, it depends on so many factors that it's hard to say
whether it's simply down to a shortage in experienced developers.

If I wanted to get a senior-level job in my local area, I can do this pretty
easily. I have experience with the .NET framework, so those jobs have been
available to me for years, and usually an interview is a week away from an
initial application, or from one of the many recruitment emails I get. The
same goes for Ruby jobs, since I have been using Ruby for about a year with
public projects I can refer to.

Now, let's move that to larger companies outside of my local area. I've
recently been looking at roles in London for larger companies, since I would
like to move to NYC in the not-so-distant future. If I apply for a role at a
big tech company I'm almost guaranteed to be rejected (FAANG, Twitter, IBM,
Oracle, Adobe). If I apply for a role at a larger multinational company - the
likes of JP Morgan, Bloomberg, Buzzfeed, Deliveroo, WorkDay, any investment
bank based in London, IBM, Squarespace, the list goes on - and I'll be
rejected. In fact, in the last month I can count over thirty rejections. This
is for a developer with ten years experience, albeit at startups and agencies,
but someone that has put time in.

IMO, it boils down to a handful of things:

1\. Companies want to hire developers that match their criteria perfectly. I
can apply for a Java role with recent, but limited, Java experience, and be
rejected. This is because I'm not a Java developer. The same goes for Python,
despite the fact that I've worked with Python and Django on a project last
year. I'd be rejected by most companies because I'm not a Python developer,
despite...you know, knowing enough Python to get up to speed quickly.

2\. Companies would rather interview someone nearby. Bear in mind that I can
get to London by 9 if I get the first train in from Bristol, so travel isn't a
huge issue, but in my experience a lot of companies would rather interview
someone that can interview on-site in a week, and usually someone a few hours
away will want time to arrange something.

3\. Somewhat against the first point, many companies will happily hire a less
experienced person because they are cheaper. If they cannot get someone that
matches the first criteria, they'll get the cheapest person.

4\. Most posts on job boards are bullshit. Out of the thirty rejections this
month, a few of them were for companies hiring in my exact stack, while also
saying they sponsor visas. Those ads are still up on Stack Overflow Jobs, or
have been renewed, but they weren't interested in me - even when my stack and
experience almost perfectly align with theirs.

If you were to ask me a few months ago whether I thought finding another job
as an experienced developer would be hard, I'd say no, because I am in demand
in a reasonably big tech city in my country, but after the last month I'm not
so sure. Many of these roles obviously get filled, so either there's something
about my specific experience that turns people off, or this experienced
developer shortage is down to companies wanting one (or more) of the above
criteria to be met before considering a hire.

~~~
amypinka
If you put a job spec out in London for anything technical you can easily get
1000s of CVs coming back. Location is super easy to filter on.

If you apply for a job, the experience you list should match the tech stack in
the job spec. Don't list roles that aren't relevant (i.e. no .net if it's a
Python role).

I helped hire a DS this week. Their CV was among 20 excellent candidates all
in London with their latest role matching most of the tech stack we're looking
for. All the candidates are in London. This is what you're competing against.

~~~
EnderMB
How is that possible if you have any professional experience? Do I list my CS
degree from a decade ago and only my most recent job? Similarly if I am
applying for a .NET role (which I've got eight years of consecutive experience
in) - do I just focus on those years and have a two year gap in time?

While I appreciate that there's a need to filter candidates, surely it proves
that there is either no shortage of experienced developers out there, or that
companies would rather hire less experienced devs with more relevant
experience? If the latter is true, then companies shouldn't moan about a
shortage in talent when there is obviously demand for more senior roles.

~~~
amypinka
Its fine to leave gaps, the latest role is the most important. The .net work
doesn't add much to a DS role so there isn't much weight in mentioning it and
it shows you spent less than 100% of your focus on DS. If there aren't other
candidates then that's fine but there are 10s of candidates that are more or
less DS-only on paper.

If candidates could see the other applicant's CVs it would kick off an arms
race.

~~~
EnderMB
I'm not sure what you mean by DS, but I would strongly disagree that work in
one stack is irrelevant to work in another.

Two years ago, I took a role in a tech stack I've never used before, and in
less than a month I was productive in Node and Rails. I work with half a dozen
developers that switched from one stack to another, and regularly do so to use
the best tool for the job, and it's not as hard as some companies make it out
to be.

