Live data from Hacker News

If software engineering is in demand, why is it so hard to get a job?

betterprogramming.pub

1–10 of 586 posts

Re: If software engineering is in demand, why is it so hard to get a job?

#3
It's hard to get a job because there are a lot of charlatans out there and it's often very hard to get rid of them once hired. Even worse is hiring someone merely mediocre and not actively harmful.

That said of course the modern coding interview is I think only very loosely correlated with quality.

Re: If software engineering is in demand, why is it so hard to get a job?

#4
I've never seen this question posted by anyone who had either a CS degree or any nontrivial amount of experience.

It might be hard to get a FAANG job, but it's not hard to find a $100k legacy code janitor job at any old Fortune 1000 in a flyover state.

Re: If software engineering is in demand, why is it so hard to get a job?

#5
A recent comment from reddit:

This year I became a co-owner of the company that worked at for the past three years. It's a small development and consulting company and we're currently struggling to find new developers. At the same time, my girlfriend is trying to get her foot into this field. Since she's interested in a completely different tech stack than what we use, hiring her through good ol' nepotism is not going to happen. This situation gives me a small glimpse into both sides of the whole equation.

Before I continue, I want to point out that no side is at fault here. It's just market forces at play.

So why don't companies want to hire newcomers? It's simple, really. It's never worth it.

Even newcomers want competitive salaries because bootcamps, popular media, etc. paint the picture of a career in software-development as being extremely well-paid and with great benefits. This picture is absolutely true -- for senior developers. Meanwhile newcomers need to be trained and built-up, often with intensive mentoring from senior staff. In general, there's nothing wrong with that. I had a great mentor and in turn I love mentoring. But once they've gained know-how and experience, they will look for a different company hoping to use their newly acquired commercial experience as leverage to get better compensation. And that's exactly what they should do! Trust no employer that talks about crap like loyalty. Leaving your first job after max 2 years is something I would recommend every new developer. It is what the legendary Andrew Hunt (author of The Pragmatic Programmer) recommends in this podcast episode. If your first employer gives you a hefty competitive raise to keep you, use it as the new base for negotiations and still try to switch because, as Hunt puts it, at the beginning of your career it's crucial for you to expose yourself to different technologies. Maybe you'll start out as a web developer only to find out after your first job switch that you're much happier in embedded systems. Switch jobs often. Forget loyalty.

But what does that mean for employers? Let me explain it with a few of our cases. In the past, we tried hiring newcomers multiple times. In the most recent case, I was the senior responsible for the new hire. I spent up to 16 hours per week on one-on-one training in the first 6 months to get them up to speed in anticipation of a big project. They left us after 14 months for a different job in the middle of said project. I do not blame them, it's the exact right thing to do. For us, this was our third failed attempt of hiring newcomers and it was frustrating and extremely costly.

Since we're a B2B company creating software for IT departments, I asked around to see how our clients approach this whole situation. And the consensus is, "We refuse to train the future employees of our competitors. Hiring newcomers is a waste of resources. Paying the premium to get senior developers is always better." Especially small IT and software departments/businesses cannot afford training people who will just ditch the place within 2 years while big players like the FAANG companies can and have their pick from the very best newcomers.

As a result, entering this field is incredibly difficult and one has to essentially hope a company is dumb or desperate enough to take the gamble of hiring someone trying to get into developing.

So how can this be fixed? Well, I don't think there's a fix. Most newcomers will never find a job and quit trying to enter this field, the lack of senior developers is going to hurt small and mid-sized companies in the long run and many of them will eventually disappear from the market as their current developers are reaching retirement and cannot be replenished. Only newcomers who give the impression that they don't need extensive training will ever have a chance to get hired. As such, my recommendation is portfolio is king.

Re: If software engineering is in demand, why is it so hard to get a job?

#6
I think this article gets close, but glosses over one of the major issues in software dev hiring: the filtering process is all wrong.

Front line recruiters tend to be non-technical, and can't pattern match for good candidates outside of very narrow criteria. (ex: They won't know that a person with strong C# skills will likely be just fine with Java.)

Just getting your resume in front of actual people doing the hiring is hard. My experience is that if you want to make it easier to hiring talented software engineers you need to make it easier to get the right candidates in front of the actual hiring team.

Re: If software engineering is in demand, why is it so hard to get a job?

#7
post #2

everyone wants to underpay the talent and there's only limited amount of talent the price floor for really talented engineers is also high so high in the sense most startups can't afford those 300-400k salaries.

Outside of FAANG, who is paying $300k+ for a standard / non-management dev job?

Re: If software engineering is in demand, why is it so hard to get a job?

#8
post #3

It's hard to get a job because there are a lot of charlatans out there and it's often very hard to get rid of them once hired. Even worse is hiring someone merely mediocre and not actively harmful. That said of course the modern coding interview is I think only very loosely correlated with quality.

I get the feeling that mediocre business should be able to run just fine on mediocre people. So it can't be that bad.

Of course, every business likes to pretend they're the top and can only hire top talent.

Re: If software engineering is in demand, why is it so hard to get a job?

#9
post #3

It's hard to get a job because there are a lot of charlatans out there and it's often very hard to get rid of them once hired. Even worse is hiring someone merely mediocre and not actively harmful. That said of course the modern coding interview is I think only very loosely correlated with quality.

> Even worse is hiring someone merely mediocre and not actively harmful.

What's so bad about... mediocrity? For obvious statistical reasons, most companies, most jobs, and most people are mediocre (or worse).

Re: If software engineering is in demand, why is it so hard to get a job?

#10

I think this article gets close, but glosses over one of the major issues in software dev hiring: the filtering process is all wrong. Front line recruiters tend to be non-technical, and can't pattern match for good candidates outside of very narrow criteria. (ex: They won't know that a person with strong C# skills will likely be just fine with Java.) Just getting your resume in front of actual people doing the hiring…

I think this is part of why getting hired through connections is even more important in this field, and why it's also interesting that so many members of the field look down on that very process.

I agree it's not very meritocratic, but it DOES get people in front of people more qualified to pattern match their qualifications more quickly.

The problem with getting more people in front of the actual hiring team is the "charlatans" other people have mentioned in this thread will effectively waste the (very expensive) time of said team. Using a (less expensive) recruiter as a first stage seems rational until you discover the high rate of false negatives.

I've mulled this problem a lot and I still come up empty on a new, more effective way to solve it.

Post reply on HN