Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is There Really a Coder Shortage?
42 points by GarrisonPrime on July 29, 2019 | hide | past | favorite | 39 comments
I'm considering a career change, but the job market for software development has me confused.

On the one hand, it'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.

WTF? That'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?

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?

If that's the case, encouraging people to go into the field on the pretense of a "hot job market" seems disingenuous. 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. :/




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.


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.


I 100% agree with having passion/interest in the field. Learning and growing as a programmer requires time. Its like becoming a martial artist in that sense. You'll only get better with practice, patience and time.


From the hiring perspective this is further amplified. The more skilled devs are readily hired, the less skilled ones apply and interview for many more positions.


i think you nailed every point. best answer in this thread.


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.


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.


> 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.


> 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.


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.


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/

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.


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.


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.


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).


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.


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.


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.


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


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


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?


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


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


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.


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.


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.


> 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".


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.


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.


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.


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.


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.


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.


Is anyone actually claiming a shortage of experienced developers in London? Or is this just what we developers would like to hear?

IMO there are few, if any, tangible signs of a shortage locally.


It depends who you ask, I guess.

There's a definite shortage outside of London, although few companies seem to want to up their salaries to attract experienced talent. One of the reasons I switched stack was because I would get recruiters emailing every day with new roles, but rarely anything that paid over £45k in Bristol.

In your experience, as a Londoner, is there a demand for experienced devs? I would've thought that big companies would always be looking for developers.


There is always a fair amount of demand, but from the way hiring companies act, one can feel they have many decent candidates to choose from.


> I can get to London by 9 if I get the first train in from Bristol, so travel isn't a huge issue

> a few of them were for companies hiring in my exact stack, while also saying they sponsor visas

So you are looking for a job at a very large company which will be ok with you commuting from Bristol to London and that will also sponsor you to move to America?? Thats an extremely specific company-search, I don't think its fair to say that that is any way representative of what its like for senior developers to find jobs.

Also google maps shows that the train from Bristol to London takes 1 hour 40min, so assuming it takes 30mins to the station on both sides, thats about 5 hours a day spent commuting, and I haven't even looked at the cost either. Even if you get 1-2 days a week working from home thats going to be a lot of travelling, as an employer I would be worried that after 6 months or so you will quit because of long commute times.


Nope, this would be to move to London. I'm in the nice position where I can afford to move/live there, and since most top companies are limited to London it makes sense to go there if I want to maximise my earnings.

So, this would be a developer with ten years experience looking for essentially "any" developer role in London. Easy, right? Apparently not. In the time it's taken me to reply to these messages I've had another rejection from JPMorgan Chase...

As an aside, I've done the commute from Bristol to London a few times for work, and while there are people that do it every day it's a killer, and you'd be lucky to get from Bristol Temple Meads to Liverpool Street at 9am if you get the first train in.


> Nope, this would be to move to London.

Ah ok, that makes a lot more sense then.

> So, this would be a developer with ten years experience looking for essentially "any" developer role in London.

Really? So you have been working in Bristol as a developer for 10 years but can't manage to get a job in London? Thats mad. At what stage to you get rejected? i.e. CV rejected, initial phonecall or in person interview? Do they give you any reasons?


Rejected at the CV stage. Oddly, the only company where I've had anything close to a phone call is Facebook, although they reached out to me rather than vice versa, mainly because my CV had a range of different languages that I had worked with in the last few years.

Initially, I thought it'd be something to do with my CV, but that wouldn't explain why I don't struggle to find work in Bristol - if anything I get hounded on LinkedIn a few times a day by recruiters in the South West.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: