Finding a Tech Job Is Still a Nightmare
wired.com
wired.com
I am hoping that this message coming from someone with as much Karma as I have will be a signal that I'm not trying to troll- though what I say next will definitely be controversial.
The push for "everyone can code" and the large investment in coding bootcamps (especially focused on diversity to increase the pool as much as possible) and the rise of tools like leetcode (many backed directly and indirectly by big tech companies, especially google) creates a very wide funnel to create as many software engineers as the market will allow.
A large demand can still be a comparatively low demand if your supply is larger.
It's my firm belief that the needs of software engineers hasn't gone down at all; just that we have enough software engineers now that we're not "special" and thus we can be paid like normal administrative staff like project managers and other white collar work.
If you're not technical, it's difficult to formulate the problem succinctly enough that priorities are obvious and non-negotiable to the contractor. Mind you, as long as they have other clients, they have no incentive to work on the most important things first; they'll bill the hours either way. In fact, the longer they can punt the final piece that makes you happy, the more they earn.
So even if we replace my coding skills with HAL2000, I'll just continue up the ladder and help people build software development plans to feed ChatGPT, or its contractors. Writing code is easy; writing code with a purpose is hard.
Getting your foot in the door is hard though. Nobody wants to hire a junior.
If today comparatively more people can make the thing, maybe making the thing is only as important as planning to make the thing.
The grassroot movement would have been 1% of what it has become in size, yet would have achieved far better results in pumping out great enginners.
What have we seen instead? a massive injection of enginners, most of them not belonging to the tech industry altogether. Fooled into it for the compensation bait or to escape a field they probably loved that dried out in demand for labour.
For the most part. At least for a significant part. For sure with a very impactful effect.
A sad diagnosis we can make is, on one side a large number of poorly and insufficiently trained enginneers with hardly any chance to build the necessary foundations to grow, on another side a shrinking ratio of great enginners who are seriously starting to struggle carrying heavier weights, and on the opposite side high up management not even sure to notice spending marginally fewer dollar per head count but significantly more dollar for subpar outcomes.
On a more people wellbeing note, of the many fooled into becoming a fullstack enginner in 12 weeks, not only did they believe it since many indeed got the job, they also got fooled into believing they actually liked that job.
High comp doesn't turn people from zero to hero. Only love or at least genuine interest does.
Companies have less budget to spend on hires. Customers and clients have less to spend on digital.
If the market is as over-supplied as this article claims, is it getting more difficult for companies to plausibly justify hiring H-1B?
One could think that by now, it should be easy for developers to "jump into" a codebase and suggest changes (aka pull requests). Turning the world of developer jobs into a fluid system that adapts instantly to demand and supply.
It works pretty well for Wikipedia, where everyone can jump in and edit articles. And then there is some hierarchical power structure, which assures high quality.
I wonder what the biggest hindrances are for software development to become this way.
Three-tiered interview system, flaky interviewers, flaky candidates, insane job requirements for mundane positions, useless recruiters, fake job ads, "hybrid" work?
It's a bloody mess and it has always been. My best interview was in 2006, at my first junior position, when the guy just asked my experience in Linux, what does "ifconfig" do, what languages I know, and I got a paid internship. They expected me to learn on the job, and I did. Now even the junior position have ridiculous requirements, and with 17 years of experience, I get ignored by a clueless recruiter because out of the 10 techs they use, I forgot to list the exact Linux distro they use on my CV, so I'm probably not good enough for them.
I keep hearing there's more demand (for engineers) than there is supply but I call bullshit. That might be true, but the employers make all the rules so even getting an interview this year felt more like winning the lottery than filling a supply shortage. And the lottery you've just won got you in the Squid Game. Now you gotta fight against 50 other candidates, which might be more desperate than you and gladly work for peanuts, 3 days in the office.
Fuck this. Even finding work as a mercenary^Hconsultant is a bloodbath. The only advice is "ask your network." If your network isn't hiring, it's back to the Squid Game for you.
I reckon even Fortune 500 CEO interviews are easier than the average software engineer gauntlet.
Yeah, 3 days in the office is impossible to beat, they most be really desperate! /s
Now talking seriously, Software Engineering is a great career, probably the best out there. You don't need to work for anybody to make money if the big problem is the job market. You can literally create your job with a few months work. Now is every person capable of it? No, many don't have the grit and discipline. But that is not tech's fault. Is a people's issue. To call it Squid Game to get a 6 figures salary working from home is insanity.
You were either VERY selective/lucky with the code bases you had to work on or never worked on complex, old, legacy code bases.
Just consider the single case of having to construct a new request body for another system, without knowing what's needed. It has 50 fields, which are consumed by more than 10 downstream systems that all want a piece of it. Getting any of those fields wrong will lead to a wrong outcome in at least one of those downstream systems. You have no access to the source code of most of those systems, as it is a "principle of least privilege" company working on sensitive secrets related to, e.g. tax fraud detection and tax calculation, which actually doesn't matter as half of the code is cobol or pl/1 anyways, which you can't read. Looking at the git history, you can see no one who worked on the applications you have access to is with the company anymore. You have to find the current owners of all downstream systems, start a dialogue with them, figure out if their QA or yours will test your new request. Your only chance to get an automated e2e test you can trust is if the 60 year old QA lady who is with the company for 40 years now, who only works 20 hours a week because she has bone cancer writes one for you. Any externally perceivable bug or wrong calculation will lead to the minister of finance personally firing you. Yes, that was the second job of my life.
> I wonder what the biggest hindrances are.
Bad code quality, lack of useful and up to date documentation, high code complexity, high organisational complexity.
> Turning the world of developer jobs into a fluid system that adapts instantly to demand and supply.
Ah yes, the good old wet dream of non-technical agile proponents. Agile little cogs that provide perfect forecasting.
At least for our application, it's hidden/non-explicit dependencies and domain knowledge.
By hidden dependencies I typically mean that process X has to be done before process Y, or similar. Meaning you sometimes can't just rearrange things. A substantial integration test suite could help, but it's a tradeoff. Though often it be tricky to test, as it could depend on customer systems we don't have internal access to.
Domain knowledge is also needed for much of the code. Of course this could be offloaded to a senior, but then those tend to be the limiting factor. For our team, it's been more effective that all the devs have substantial domain knowledge.
Context and complexity. Jumping into a codebase and suggesting changes that add value to the company usually require having context of what the company is doing, who are the users, what's the product used for, etc. Not to mention how a lot of codebases are complex and understanding where and how to do changes is not something you can just do straight away.
Coherence: Wikipedia pages are small and loosely-coupled.
Stability: Wikipedia has no external API. Any page can be renamed and restructured at any time.
The biggest hindrance are people desperately holding to their positions. Whether aware they'll be unable to find another job, got too easy and cozy in the current role, having mortgage or other debts, or some other circumstances. For them you can as well write code in "new message" window of Outlook.
All Wikipedia articles have the same set of general conventions. Most software projects have their own conventions.
Complexity brings greater cost.
The only companies that I ended up in talks with were companies that contacted me and none of those went anywhere (yet) for different reasons. Some of these companies are really cool though.
I am thinking a lot about whether I might just be much worse than I thought (feel free to look at my "Who wants to be hired?" posts in my post history).
i suppose that wired's editors know this, but like many publications, they will gleefully sow fear, doubt, and anxiety into people who don't know any better in order to make a small amount of money.
or more accurately, an individual or small team within an organization is flush with money, because organizations are not monoliths. they are out there, desperately trying to hire people, only finding duds.
i can't really speak to the market in the EU, though, only the united states, where my personal experience lies.
How do you know that? Does the government know that or does it only count those applying for unemployment 'benefits', which i) aren't paid for long and ii) don't even suffice to pay the rent if you live in the S.F. Bay Area. I'd rather think that most who lost their job in the tech industry moved on, i.e. work in a different sector or bide their time in an area of lower cost of living.
It sounds like the disconnect here is that low unemployment (around 2-2.5% last I checked) might be disproportionate in the demographics that it consists of - new grads, etc. So to them the market may look really bad but as a whole there are empirically a ton of jobs.
I disagree. The successful experiments are negative to society just a few years after some startup wins in a niche. The world would be better off without Google, Facebook, Airbnb or Uber now that they already "changed" the market. Every tech dominance becomes society-negative over time.
I personally wouldn't want any job where I didn't feel like I was personally helping push out the Pareto frontier of civilization, though. Everything else feels somehow short-sighted to me.