r/business • u/Some_won • 20d ago
If software engineering is in demand, why is it so hard to get a software engineering job?
https://corgicorporation.medium.com/if-software-engineering-is-in-demand-why-is-it-so-hard-to-get-a-software-engineering-job-c043a964e46373
u/bashogaya 20d ago
Allow me to over-simplify things a bit. Software engineering learning curve is not linear. It is very easy to go from zero to writing basics code. But to make that code easily scalable, reliable and highly responsive is where it’s at. And anyone who is willing to dedicate enough time to learn the above will never ever be without a high paying job.
30
u/bakraofwallstreet 20d ago
Yup. I sometimes write python scripts for work that make my coworkers (who don't know anything about programming) feel like I some kind of a real programmer.
While in reality, any professional programmer would look at my code and probably either laugh or get mad.
5
u/pibbsworth 20d ago
Similar story here. After a few years since off I once got a job that involved writing a lot of plsql. The team (of people doing the same job as me) I went into thought i was some sort of magician, but in reality I’d forgotten most of what i used to know and had to re-learn the basics from the latest oreilly book at the time. It gave me major imposter syndrome
10
u/bobzibub 20d ago
Maybe not. You probably put in the appropriate amount of time and energy in order to get the job done.
12
u/bakraofwallstreet 20d ago
I do work hard at creating those scripts but the more I learn about programming, the more I realize how much of a beginner I am (and the time/effort that would be required for me to skill up). I also tell my coworkers they need to hire a real program if any of the scripts were needed for something the company actually relies on instead of just saving time for us on trivial tasks because I obviously can't write production level code.
7
u/bashogaya 20d ago
Sounds like your brain is ripe to delve deeper into the subjects of system design, security and reliability.
5
u/solarmist 20d ago
Yup. The easy part of programming is writing the code and getting it to work. The hard part is being confident that if you hand it off to someone else it will still work. Handling edge cases, errors, and all the weird ways people want to use your code is hard.
1
u/Keyspam102 19d ago
Yea I wrote a script at my old agency once to do some batch processing of files and people thought I was some sort of computer genius. Like no, I just googled a few lines and fiddled for 2 minutes to get it to work. I cant code at all and couldnt program anything. But anyway it ended up that every computer question would come to me which sucked (and every question could be easily answered by google..) and why now I dont suggest things to people at my new agency.
20
u/jjmac 20d ago
That hashmap example made me viscerally ill. Then to go on about arrays. For that example. And storing counts. That example screams why it's so hard for some people to get SWE jobs.
13
u/raptormeat 20d ago
The blind leading the blind.
5
u/shar_vara 20d ago
This is SO MUCH of the software world. Most people don’t know how to produce halfway decent outcomes. Probably myself included, but at least I’m at the step where I know I’m not a genius lol.
2
u/Echo1525 16d ago
Right, I'm not sure how a hashmap could be used. The point of the story was that it was a bad use of hashmaps. The sentence after, about counts, was just supposed to be about where hashmaps COULD be used. This should have been written about in more detail, though.
Of all the critical comments I received for writing this, I'm surprised I did not see more like this one on the Medium page. The story was embarrassing, but the most angry comment I got was for writing "you can be a backend engineer who works very closely with hardware," which is wrong. You cannot be a backend engineer who works very closely with hardware. You can write code that works very closely with hardware, but that's not backend.
What you wrote about is absolutely a legitimate criticism.
I did not expect this to get nearly as popular as it did. In hindsight, I would have provided a more detailed example, not made the backend mistake, and maybe taken out the "Corgi Corporation" stuff.
1
u/neoform 20d ago
I’m not even sure how a hash map could be used in that example since I assume letters can be repeated throughout the string and you can’t just sum them all together… a4b2a6 should turn up as a10b2…
2
1
1
u/jjmac 19d ago
You would hash "a1" and "a2" and put the counts there. Bonus points for using a second hash map to count the number of a's, b's, etc. To maintain the final order add a linked list.
16
u/areopagitic 20d ago
It's simple, there is a supply / demand mismatch.
There are way too many software engineers for entry level or junior roles. This is why there is a perception that software jobs are so hard to get.
There are far too few software engineers for advanced roles. Companies sometimes have openings for months trying to get a "Senior XX Engineer" simply because there are so few people with that skill set.
4
u/[deleted] 20d ago
[deleted]
5
u/heydrun 20d ago
Private / open source projects can be a good way to showcase skill. The biggest problem I see in most beginners is not neccessarily the skillset but how well they work with others in a team and the degree of independence when it comes to tasks (i.e. do I have to give every single step or do they know the steps and ask about stuff I missed).
1
u/Mick0331 17d ago edited 17d ago
This industry is so predatory that it relies on you yielding to exploitation to get a job. I always laugh when I see companies that refuse to hire entry level employees because of budget, but have insanely expensive offices filled with even more expensive art and furniture. It's not the budget, they exploit people because they want to exploit people. The cupboards aren't bare, they're just sociopaths that only pay people who can leave.
4
u/Josuah 20d ago
Get your foot in the door with a less advanced role.
There are lots of companies (where I am in the San Francisco Bay Area) that are hiring software developers without significant experience, like recent graduates. But those companies are still going to be looking for the best of that bunch.
7
u/Amyndris 20d ago
Generally through internships. It allows the company to "try before you buy". My last company (F500) also partnered with a local college to design a curriculum around the tools and technology they used and those students were slam dunks to get summer internships that oftentimes resulted in fulltime return offers.
7
u/revonrat 20d ago
"try before you buy"
For those who are just starting out, this does not mean unpaid. You should always be paid for your work. Internships included.
3
u/Amyndris 20d ago
Yes, internships at most large tech firms are paid. Usually around ~6-8k a month in the bay area.
1
u/AgentScreech 20d ago
And how do you get internships if you are self taught?
1
u/Amyndris 20d ago
It's a lot more difficult and some large companies don't have entry level roles outside of their University Recruiting path.
Your best bet is either to build experience at a small company or a startup.
8
u/skilliard7 20d ago
Entry level has massive supply of people trying to get into the field because the media told them its an easy way to get rich quick. Supply is much larger than demand.
What there is a shortage of is experienced developers that can actually do their job well.
7
69
u/superanth 20d ago
It doesn’t help when they put on resumes that they want someone with 8 years of experience with a programming language that was invented 3 years earlier.
28
u/LJ_is_best_J 20d ago
My take: shit like that sometimes is to bet against people that don’t know that. You having experience with a 3 year old program would quickly be identified if you point that out in hiring process
But who knows what HR is really thinking lol
52
u/SidTheSperm 20d ago
I’m an engineer (but mechanical, not software), and in my experience it’s mostly:
Hiring manager tells HR they want someone with experience in “xyz”. HR sees it’s a mid-level position, so they post the job app wanting 8 years of experience in “xyz” without knowing anything about “xyz”. It’s an issue of HR being good at HR things, the engineers being good at engineer things, and the two parties not working together effectively.
14
u/LJ_is_best_J 20d ago
That makes a lot of sense
Long way of saying poor communication lol. I know my organization doesn’t do this but work role postings should be reviewed by people in the role to confirm or deny required skills
2
u/SidTheSperm 20d ago
Yeah basically just poor communication lol, just figured I’d explain where/how the miscommunication occurs.
9
u/mediaman2 20d ago
This is exactly it. These things are rarely con-jobs.
HR just doesn't always understand the terminology, and the engineer may agree that "8 years" experience is reasonable (thinking "total developer experience"), but HR thinks they mean 8 years in a particular language, and the mixup gets baked into the job ad.
HR is then trained to look for certain keywords but doesn't understand what they're looking at. Which is also why those automated keyword systems are getting widespread use, because that's basically what HR does anyway.
2
u/ladeedah1988 20d ago
Exactly, certain levels like expert, advanced, etc. have the year experience automatically in the description. At least for me, as a hiring manager, I generally ignore years experience and look at actual skills.
1
1
6
u/Miketequilacoffe 20d ago
As a Part time SEO I feel it, with covid and everyone online they want some one to make traffic with 5 years experience, when in my country 5 years ago, not every company got a ducking page to make SEO possible.
2
u/Ripberger7 20d ago
People may debate me on this, but there seems to be “entry level jobs” which require less than 5 years of experience, followed by jobs which require some working knowledge, which will usually say 5+ years of experience. The number of years you’ve been doing something doesn’t matter quite as much as actually knowing your subject.
The 5 years thing is more of a way of saying “you will not get trained in this position, so if you don’t know what you’re doing you’ll be let go quick”. So that said, I would not hesitate to apply for those 5 year jobs if you feel at all confident about your ability to either perform or learn quickly.
1
1
u/Starfish_Symphony 19d ago
This seems the correct perspective. Unfortunately way too many people claim eight years experience, have an advanced degree from an unverifiable school and dubious communication skills-yet corporate keeps hiring these losers because H1b
1
u/skilliard7 20d ago
It doesn’t help when they put on resumes that they want someone with 8 years of experience with a programming language that was invented 3 years earlier.
usually that means they want 8 years of experience in software development, 3 of which were in the technology. Or sometimes, 8 years in its predecessor.
31
u/Fuzzylogic1977 20d ago
Because it’s a hard job, and good companies are particular about who they hire. I got a software engineering degree at a great university but some of my cohort were absolute rubbish and cheating was rife. I was working full time as a software engineer before I even finished my degree. Some of my alumni, as expected, never got jobs.
12
u/ZestySaltShaker 20d ago
Some people can’t debug. I expect you’re the type of person that can solve problems when faced with a challenge. I also expect that those other alumni weren’t good at solving problems, and that comes out during the interview, what the interview is for, actually.
6
u/MarisOtterBelly 20d ago
I’m 90% certain the reason why my amateur ass has been employed for so long is that I have a natural instinct for figuring out why shit’s broken.
…probably because I spent so long making the same mistakes.
2
u/ZestySaltShaker 20d ago
Lol. You would be surprised the number of folks who don’t learn from their mistakes.
2
u/shar_vara 20d ago
I’ve never thought about this angle, but you can’t memorize your way through debugging or even writing code. Makes sense why sometimes the people in school don’t always do as well in the job market, and why my dumbass who sucked at school is at least halfway competent.
5
u/RecoveringGrocer 20d ago
In my personal experience, landing a good engineering job requires the technical skill to get through the whiteboarding, good communication skills to interview well, and networking/knowing someone at the company. Lots of people have one or two of these, but it often isn’t enough.
Of the three requirements, I’d argue that whiteboarding is actually the easiest to accomplish and prepare for if you have some basic programming knowledge already. Learning to communicate effectively and build relationships with people takes years if you aren’t a very extroverted person.
I landed my current job because I worked well and got along with a colleague a couple of years ago, and he remembered that. I had no idea at the time that he would play such a critical role in my career.
6
u/gc3 20d ago
Why do you need a hash map to im implement that 'compression' algoritm?
All you need are two pointers a char, and an int
2
u/Josuah 20d ago
You don't. The author was using that as an example of how he completely messed up an interview in the past. The bullet point above and the paragraph below the quoted interaction explains this.
It would have been clearer if it was broken out into its own section, since the other portions of that section of text ("The Coding Interview") are more or less standalone statements. And it's not entirely clear why some of them are bullet points and some of them are paragraphs.
5
u/SwagChemist 20d ago
Need experience to work an entry level job, can’t get experience without entry level, and the cycle continues.
6
u/grapegeek 20d ago
Because everyone wants a senior dev with a decade of experience. Nobody wants entry level and don’t want to take the time to get them up to speed. In ye olden days companies used to bring on junior people and train them. Now they don’t want to wait. They are too impatient
2
u/MoonBatsRule 20d ago
There are two reasons for this, I think.
1) Companies are running lean and mean. They try to have exactly enough employees that they need. This means hiring someone with no actual experience takes one of their existing employees and makes him into a tutor or trainer. That new hire reduces overall capacity, initially, perhaps for a year.
2) Most people currently employed at a company have not worked there since college; they know that someone new is going to do a job hop sooner, rather than later. That new college kid is probably going to jump within 5 years.
Taking those things together, a company has to be almost altruistic to hire someone right out of college; they're going to educate someone for another company.
6
u/PrasadBY 20d ago
Always a challenge to get right fit. We interview sometimes close to 100-200 software engineers to be able to hire one. Not like we are expecting some great developers. Even to get a decent developer, we have to go through many fake resumes or lying about experience or claim that they know something when they clearly would not know the basics of it. If anyone truly learns programming regardless of technology and is able to sufficiently demonstrate their skill set, then they can get a job for sure when there is such high demand.
5
u/Blueasman 20d ago
Right fit is a code for hiring on the basis of ‘be like me’ syndrome.
2
u/jimbolauski 20d ago
It's really not. Certain traits work better for certain jobs.
If you need a dev that is going to be out on field tests there are certain qualities that make them more valuable. Being very organized and methodical is a huge plus.
If you need a dev for hardware integration you're going to want to look for someone that you can throw a manual at and they retain all the little details.
1
u/PrasadBY 20d ago edited 20d ago
Not really. That syndrome is only seen in amateur interviewers. The right fit is are you ready to take the person in your team and be responsible for their work. Will they make a positive change in the team or will they suck your energy and time in additional training etc.
3
u/[deleted] 20d ago
[deleted]
1
u/PrasadBY 20d ago
You will be surprised to know that it is for 1 skill and it is mind blowing how much people can lie on their resume. Mostly such interviews are short. Just to let you know the aim of the interview is not to reject somebody but to hire somebody decent who know at-least half of what they claim they know on their resume.
1
u/[deleted] 20d ago
[deleted]
1
u/PrasadBY 20d ago
Pick anything from front end, back end, mainframes, ML/AI, Java, C, C++, C#, Salesforce, Pega, Azure, React, iOS, android etc. The list is endless. Pick anything. There is always demand for IT jobs all over the world.
3
u/[deleted] 20d ago edited 20d ago
[deleted]
1
u/PrasadBY 19d ago
Lol. This is funny. Going by you, having no skill set is better than having at least one skill set. Why don’t we have this too. You put up on your resume that you are a doctor, then Hospital interviews you to realise that you are not an actual doctor, but a doctor on resume. Then you want them to still hire you and train you to be a doctor or surgeon?
So if someone is claiming that they are a chef and applying for that position and don’t know how to turn on stove, you still want them to be hired and trained? Hilarious!!
Will you get treated by so called doctor or actual doctor or eat from so called chef or actual chef?
There are college grads who get hired based on their education and who are trained in particular technology. Why on earth will any company train a employee from scratch paying them salary of an experienced person so that they can leave the company once trained for better pay. Charity??
1
4
u/pbgswd 20d ago
Companies and recruiters expect the candidate to have many years exp in exactly their stack and technology and industry, never want to lift a finger to train, expect it all, etc. Recruiters assert their value in the chain by making a show of rejecting as many people as possible. Why, why, why to all of this? Money, and a cynical, corrupt process.
4
u/Playful-Natural-4626 20d ago
The contractor model has everything to do with this.
1
u/sizl 20d ago
Explain, please
3
u/Playful-Natural-4626 20d ago edited 19d ago
Let say Company X works mostly on government contracts. Their mean required employees over 5 years is 1,000 software engineers.
However, to save money they do not employ 1,000 SE they use contract labor through a service that renews every 3-6 months. Those SE are hired through the labor contracting company at less pay ( think temp services) and no benefits. Thusly, as this employment model becomes the norm mostly lower paid, temp jobs are the only ones available.
This could be balanced by SE demanding better pay, direct employment, benefits, ect.
However, both the direct companies and the labor company often then start outsourcing these contracts to non-citizens.
Moreover, with the labor market for SE being artificially suppressed they are often living job to job in 3-6 month increments and only receiving 30 days of notice if their contracts will be renewed. Thus, causing a false sense of desperation for SEs looking for their next paycheck.
This is something I see with engineering jobs of all spectrums, and it’s a growing trend in most labor markets.
2
2
u/michaelb1 20d ago
Is it hard to get a SWE job though?
2
u/sizl 20d ago
For newbs with a bootcamp certificate, probably
1
u/michaelb1 19d ago
My son graduated from a pretty decent state college last year CompSci, BS. He applied for like 3 jobs and ended up taking a $100k starting salary at a big healthcare software company in Madison WI.
I had been telling him how getting a job is a long and tedious process and be prepared for lots of frustration and low wage. He proved me very wrong.
1
u/sizl 19d ago
He must be charming. The fact is regardless of industry, likeable people get jobs very easily
1
u/michaelb1 19d ago
I mean he is personable and likable but they did put him through the ringer in the hiring process. He had to take live coding exams, go through several rounds of interviews. It seemed like a real pain in the ass but its justified in the end I suppose.
2
u/productboffin 20d ago
As someone who works in software development, we can’t hire fast enough… .Net/PHP, backend, frontend.
Multiple recruiters, posts on LinkedIn, personal references - seats have been hard to fill (skill set, competitive pay, benefits, etc)
Software development is the 2nd highest in demand for career (not sure of source) so not surprising to see the level of Uber-competitiveness affecting both applicant and hiring manager…
2
2
2
u/solarmist 20d ago
The other thing is that interviewing is a crap shoot. Even for great engineers.
Don’t remember how to solve this problem off the cuff? Don’t know dynamic programming like the back of your hand because you’ve never used outside a class room? Or my favorite “Oops, it took me 10 minutes to work out the right approach and I would’ve solved it in another 10 minutes, but time ran out.” Weren’t able to verbally debug your code after you wrote it on the fly? Missed a rare edge case?
Any of these happen to you and you have at least a 50% chance of getting a No hire on that module. And 1 No hire is enough to sink most interviews unless you hit at least one out of the park.
3
u/ahfoo 20d ago
Key point: You were lied to:
https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm
If you read the information from the Bureau of Labor Statistics they suggest that there are not really that many programming jobs to begin with and the employment prospects are set to decline by about ten percent in the coming years.
The STEM lies were spread to try to put the onus on the little guy. Your life sucked because you didn't study math etc. Believing the lies was your mistake.
2
u/Agile-Salamander-812 19d ago
Computer programmers not so much but on the same source you’ve linked to software developers are high growth
0
u/ahfoo 19d ago
Yeah, they break it into many categories which makes it confusing because you have to know specifically what their categories include but also look at the total numbers of employed and ask yourself what percentage of the population this number represents. STEM has been massively oversold as an employment solution. Again, this is because it makes it convenient to blame the citizens and claim that the lack of virtue (math skills) is the reason they can't make money. This justifies the status quo. The poor deserve their poverty because they are lazy while the wealthy are talented and skilled.
1
u/nowrongturns 20d ago
It’s particularly in demand because it’s a hard job. It’s hard to find ppl with the right skills etc. what companies want are good engineers because a bad one is a net negative. So what do they do? They have hard interviews that screen out most ppl and therefore there is still an over supply of jobs.
1
u/thorpeedo22 20d ago
How realistic is it if I were to jump into a 3month boot camp for python and get a decent job from it? I have years of sales experience in IT, but no technical experience.
1
u/forestcall 20d ago
The issue is deeper than you think. When you have been coding for many years you become comfortable with the development process. Mixing extreme coding, scrum and using various subversion tools as well as git are all things that add to the skill base that managers look for even if they don’t realize.
1
u/AgentScreech 20d ago
I did it, so did my wife. We now make 4x what we used to. It can be done.
It's a combination of coding and connections.
If the bootcamp just says, here is python, let's make some projects and build a portfolio, "now you are all set, go get that job!". That's not really going to work
If you go through a bootcamp that has connections with the local companies that are friendly to hiring junior devs, then you will have a much higher success rate. But these are either much rarer or harder to get in to.
If you have a buddy that can mentor and advocate for you as you learn, do practice interviews, that's a huge help. You still need to get in front of hiring managers to get the interview.
Interviewing is it's own skill set. It takes equal amount of practice. You could bomb several before you nail one.
If you are an under representated minority, check out www.adadevelopersacademy.org They are basically the best bootcamp out there and it's free if you get accepted. They recently got a $10M grant to expand their campuses. ATL, NYC, Austin, and others are coming.
1
u/debaasmeister 20d ago
Also they are needed in one place of the world, the supply is on the other side.
1
1
1
u/tooluckyformyowngood 19d ago
Because its the first choice of anyone with the slightest disability and one of the top pics for game lovers. Its not a physically demanding job either so if you can do it for some time, youll be good for a long time. Pick up a trade kiddos
1
u/cholula_is_good 19d ago
It’s an industry where quality of employee makes an enormous difference. Many executives believe in the 10x principle, meaning your best dev is ten times more effective than your average dev. Although there is high demand for more engineers, all companies are fighting over only the best candidates.
-20
u/Albedo_Argyle 20d ago
I dropped out of my cs science class with a few other students and we made our own coding company I thought college was for that lmao you guys actually stayed and got your degrees?
14
u/jgilbs 20d ago
o they post the job app wanting 8 years of experience in “xyz” without knowing anything about “xyz”. It’s an issue of HR being good at HR things, the engineers being good at engineer things, and the two parties not working together effectively.
Ahh yes, the lucrative "coding company" industry. Must be very profitable.
6
194
u/Ranahub 20d ago
It's in demand but it's difficult to find good ones the ones who actually know what they are doing.