― George Carlin
Companies like Google are not known for hiring morons.
It is a self-aggrandizing dumb comparison, and should be dismissed as such. It reads as a desperate attempt to rationalize away these layoffs as something that only applies to others.
Mean (what most people call "averaging"), median, mode.
https://www.merriam-webster.com/dictionary/average https://en.wikipedia.org/wiki/Average
I actually don't hold that opinion because I think a lot of these people are actually pretty smart!
They just aren't oriented to be tech experts. They are really talented at some other thing in life, but ended up in tech chasing the salaries.
1. memorizing some 50-200 or so domain-specific general patterns which problem solutions will tend to follow, so you can solve an arbitrary leetcode medium in under 20 minutes time — a skill that has almost nothing to do with the plumbing and product work most tech-workers engage in on a day to day basis, and
2. Speak at length and extemporaneously on arbitrary from-scratch system design problems — a skill which, while sometimes important, is a skill which most engineers that aren’t working at a startup won’t usually exercise more than once or twice a year, as the ratio of work on “systems already designed” to “systems needing new designs” will overwhelmingly skew towards pre-existence.
When your hiring process and day job are so thoroughly dissociated and unrelated to each other, it’s not a surprise current workers who aren’t actively studying for a job change couldn’t pass it.
Ultimately, if hiring managers offered these roles because work was needed but no longer is, would you blame them for adjusting their approach?
My previous two companies didn't do a great job with onboarding and I think it can be so varied and not very helpful many times.
It also implies some weird logic that if you were into tech before, you’re better than someone who was born 10 years later and is into tech now. And implications that if you’re not devoted to your employers industry your work output is meaningfully worse, which maybe is true but maybe not.
> It also implies some weird logic that if you were into tech before, you’re better than someone who was born 10 years later and is into tech now.
This was not what I was trying to say. The amount of people who work in tech is far, far higher now than it was 20 years ago. It just brought more "average" people in who don't really push the boundaries of what is possible. Lots of apps that move strings in and out of databases, very little real innovation going on from smart people.
It's definitely got worse over the last ~10 years, but the pandemic era hiring from 2020-2021 took it to new level of bad at many companies. Anyone who had done some basic coding was getting hired at a great salary in 2021, and these individuals are still around today – some now calling themselves "senior developers".
But I completely agree with what you're saying here about about it no longer being nerds working in tech. A nerd who isn't the best coding will still engage with me about technical details, be keen to learn new things, and care about their work. A lot of the new guys I work with today are just doing the bare minimum and they think you're an idiot for caring.
...and with a salary boost to match.
Now in the UK salaries have flatlined and the number of jobs is way down, and this no longer seems to be a problem.
What I suspect is that tech companies have many more workers than needed, because most software simply doesn’t need many people to build and maintain. I remember massive tech companies running on teams of <100 people, and even today, I hear of many critical departments with only around a dozen or less.
Google search, Github, AWS, Outlook, Facebook, Uber, IntelliJ. These are software behemoths, but at their core they’re rather simple, and a single developer could make an MVP of any in a few weeks, and with adequate testers and resources, something scalable and stable that could be used by professionals in a few months. And that’s creating it from scratch (well, existing libraries), though maintaining everything maybe doesn’t require much less, it surely doesn’t require more. I understand the big products have more, at least name recognition, and I understand that a big product needs more than programmers (asset creation, marketing, QA, tech support, accounting, etc.) But the software development side isn’t very big, especially if you already have the software.
Let me guess, they could write Dropbox in a weekend too.
I, for one, had the same complaint then. The dotcom boom pulled in lots of people not interested in tech, just in paychecks.
> Maybe the nerds from 2 generations ago could have built all this technology 10x over… except they didn’t
Fantasy math aside, the nerds don't really decide what tech to build. There was no mass of nerds 25 years ago arguing over NNTP about who could build the best ad platform for the newly-emerging World Wide Web. That's a suit thing.
I don't disagree that companies greatly over-hired, but I don't think the largest portion there has been bootcamp/cert/junior SWEs.
I will politely decline any opportunity that requires me to do multiple code and architecture tests and several other lengthy meetings, usually spread out over the course of months, because it’s not worth my time to jump through so many hoops. It signals to me that there is already a tendency to implement process for the sake of process.
What will really sell me on a company is a more in depth conversation with the leadership and the team where we learn more about what we value and how we like to operate. And that’s how I would interview anyone who was referred by someone I trust.
In a productive day as a solo dev, hitting keys on my keyboard is the easiest part, the hardest part is thinking about a problem in front of my notepad, usually staring out my living room window or while taking a shower.
I'm being a little pedantic, but it's a meaningful distinction because marketing yourself to a HR department is a skill to be worked at for some.
That's a lot of money over the span of even a few years to miss out on.
Lots of companies feel they need weed-out questions because they're swamped with applicants. How does applicant approach a problem? Does applicant describe their thought process figuring it out? Can applicant figure it out?
Did that tell anyone how good the applicant is at the job? No. It just provided some gates for the interviewer to say "no hire."
It's hard to differentiate the applicants' skills so early in their careers - not enough work history to go on. I have no idea why these would be used for senior positions except that "senior" is this year's "junior."
The industry hired more people than the small percent of the population before that were attracted to tech.
The jobs needed to change to accommodate all the new, less-tech-interested people. They became more standardized and less thought-involving. More and more jobs are now about using frameworks and writing glue code instead of solving novel problems.
Even the new techier-than-average people are likely in less techy jobs. And jobs less oriented to making them grow into their best geek selves.
Because the jobs became oriented to hiring neophytes to do the bulk of the work, we also see title compression and a low cap to expected salaries. If someone seems too senior and starts to cost too much, this model allows replacing them with new tabula rasa (bootcamp) workers.
https://www.hpalumni.org/hp_way.htm
It was a dream job because other tech jobs were almost nothing like that.
Most tech jobs featured techies managed by MBA-types and that can be a recipe for passive-aggressiveness.
I say that with sadness and fond memories of ~2013 startup culture.
> It turns out that compared to the dedicated nerds of the previous generation, most new people just don't care that much about tech
Now having experienced almost three generations coming to adulthood, I hard disagree with any such notion of newer generation not being dedicated and smarter. I have lot more respect for the newer generation: what they have been served with and how they are handling it. The changes in last 10 or 20 years have far exceeded any changes I experienced in my first 0-40 years of life. And, imo newer generation has been adapting much better to such changes than the previous generations including my own. This adaption might come across not being "dedicated nerds" to previous generation but with the rapid change taking place, ability to adapt quickly trumps being "dedicated nerd."
Come on, LinkedIn (CVs) tell nothing. Having been somewhere is often made up as great experience even if did not yield much experience, or one wasn't as involved as claimed, and even been somewhere is a lie. It is usually the opposite if I check known colleagues: null performers and phonies have outstanding profiles, the good or super programmer somtimes an awkward or does-not-care profile.
(But yeah, also admitting: Companies usually fire by the wrong metrics and even direct managers, which are bad managers, do not know the real differences of their underlings..)
> notion of newer generation not being dedicated and smarter
Full agree, I don't think it is much new generation vs old, there are the same kind of great peoples.
But computer science really changed and grew. E.g. I strongly remember when I joined university 20 years or so ago how all tutors claimed how big our year is, and that before us everybody knew each other (profs/tutors/students), but now impossible. But still, 80-90% of the students that survived the first semesters just belonged there and would be great coders or computer scientists, with the right skills and ambitions. If you look nowadays, it is different and maybe more similar to other professions, and more 50/50 between those guys, and the other half which is ambitionless and/or just lack the skills, mindset, whatever, and would have better become something else. If you aks those some even freely admit they hate their job, but only drawn by the money.
I don't think you're interpreting these things right, and I'll tell you why.
I know superb software engineers who don't update their online presence and didn't even bothered to update their LinkedIn profile to change their profile photo uploaded over a decade ago. I also know newly graduated software engineers who have a well polished CV complete with profile photo taken by a pro photographer.
The key difference in both cases is that the newly graduated software engineer had to go through recruitment processes very recently, while the superb veters software engineer climbed the corporate ladder and eventually landed a CTO role in the very same company he joined over a decade ago, and during this time he had zero need to even look at job boards.
Most people don't update their CV if they aren't applying for jobs, let alone update profiles in job boards if they are not applying to jobs ads.
Failing to update your profile in a job board does not correlate with expertise. It correlates with the need to seek a new job. Whether you're a lazy incompetent fool or a software engineering wizard, you won't update your LinkedIn profile unless you feel you need to switch jobs.
You explicitly claimed that from your observation "null performers and phonies have outstanding profiles, the good or super programmer somtimes an awkward or does-not-care profile."
The matter of fact is that, contrary to your claim, the amount of care you invest in things like CV and job board profiles is not correlated with competence. It's instead correlated with the need for a career change.
Those who are not looking for a job are far less likely to waste their time curating a profile or online presence they gain nothing from. They're wasting their time. If instead you find yourself looking for a job, whether you're unemployed, about to be fired, or just looking for a better role, you're going to work on marketing yourself to prospective employers. This means updating your CV, updating a job board or two, and perhaps even write a cover letter.
If you're not wasting your time thinking of switching jobs, you don't waste time with the likes of LinkedIn.
It's like a healthy diet: most people only start to become mindful of its importance when they experience any form of health scare.
The average day-to-day work is menial, for example investigating a production issue. That isn't something that people get into as a hobby, that's work in a very unromantic sense. Maybe having good systems background can help in those situations, but it's a little more subtle
I do think though that it works the other way: people who actually care about computers don't care if tech is no longer a money field, they just want to work on computer stuff. And maybe earlier it wasn't as much of a money field. But that doesn't imply that the enthusiasts are better at fulfilling work responsibilities. A lot of work stuff is business specific and not very dependent on systems background
So yeah, I don't think the part about over-hiring is necessarily wrong, but this sort of "I'm better than you" attitude isn't very becoming. Maybe you should give this [0] a read, just to see a different perspective
> The "Law" was first formulated as ten rules in Sandemose's satirical novel A Fugitive Crosses His Tracks
But this mentality has basically vanished from the main cities in the last three decades because marketing is a competitive field, and you need all the tools in the toolbox to not get eaten alive.
I guess most people really benefit from a tool to autogenerate an Erathostenes sieve in Python or a fizzbuzz function in Prolog or yet another React Router boilerplate.
EDIT: a more nuanced version of this comment at https://news.ycombinator.com/item?id=38965283
Also, one can make the argument the other way as well. Tools and infra have gotten good enough that the work doesn’t require the “dedicated nerds”. So let’s get rid of the highest paid engineers as that’s the most impactful to our bottom line. They coincidentally happen to be the nerds. We can always hire them back for less because what else are these nerds going to do in this market.
Not saying that’s the case but demonstrating that it’s pretty easy to string together silly notions we might have to explain reality.
What the GP said was how the bloat accumulated and why the professional quality went down. What you are saying is how they are trimming the bloat. It's not possible to trim by skill alone, because it would leave all teams and products understuffed. But the bloat is there and it is insane.
I don't think it is at all. OP put up a strawman on how the tech world is packed with incompetent new arrivals, but corporations are firing people indiscrimately by blindly cutting branches out of their org tree. Corporate's criteria to fire people is deciding which product they can either slow development, freeze, or even completely eliminate. This has absolutely nothing to do with the skills of whatever employees are covered by the firing rounds. These are pure business decisions which bear no connection with the tech aspect of their services. This is not bloat. In fact, I know for a fact that one FANG was still hiring midway through a round of layoffs and their HR was adamant in not even considering internal transfers for those positions. Are we expected to believe that employees who not only passed last year's hiring bar and received positive performance reviews are bloat, but today's new recruits are competent?
Has it though? In my career I have seen people die on that hill, but only because their entire careers were utterly reliant upon those tools. If you cannot execute without a given set of tools you are in no position of objectivity when it comes to those tools, which results in a lot of catastrophically bad business decisions.
I don't think your take holds water. It reads as a mix between self-aggrandizing and ladder-pulling, typically pinned on the so-called boomer mindset.
For the past 15 years you have seen universities producing graduates that are far better prepared for a cloud world in every single aspect of the business, and these graduates start off working in cloud-related projects. All frameworks that dominate front-end and back-end components were created in the past decade, and leverage the same cloud-based competencies that new graduates learn.
If anything, new graduates are heads and shoulders above veterans, and the only thing that they miss is two decades of work experience. That can be an asset or a liability.
I also add that the bulk of >15year veterans graduated in the 90s and 80s, which was a time when the academic world was still trying to figure out what it was supposed to teach in terms of software engineering, and most universities had basically scrambling to cover relevant topics. The graduates that went through those programs, unlike today's graduates, were woefully unprepared for the reality of software engineering. Two decades ago you could land a job by passing yourself as a "programmer" which meant you knew the syntax of a programming language such as Pascal or Cobol. That's the technical background of your average veteran with >15years of experience.
Therefore, I think you are entirely wrong. If anything, the quality of your average tech worker improved greatly in the last 15 years. Those who arrived in the field actually hit the ground running in today's tech world and often push over and replace much senior team members. Those who enter the field from non-tech fields have the technical chops ro replace both veterans and new graduates. In today's world you need more than claim to know C or Java to actually land a job.
Disclaimer: I'm a veteran with >15years of experience who worked at and was involved in the hiring process of a FANG.
Never and nowhere
Absolutely not. So much more red tape now rquires a ton more headcount. Just think how much time we spend these days to fix dependency hells and patching security issues.
What technology or data structure do you think developers don't understand if they work on React projects?
Isn't it silly to claim any person is suddenly incompetent just because they are assigned to a project which uses a particular framework?
These days, the people who could do the above can instead do it better (and in much less time) with jQuery. However, the people who previously couldn't do it at all in any reasonable amount of time, can now also do it with jQuery... poorly.
There's a middle (the people who would struggle with the low level but are proficient enough to do a good job with jQuery) but they are, in my impression... not a majority.
I believe that's why most sites (especially non-tech e.g. Chase bank and Amex) and many Electron apps (Teams, Evernote, ...) are such bloated, slow, glitchy monstrosities. Well that, combined with what the top comment said about the money
Having written JS full time for 15 years most JS developers are deeply uncomfortable navigating complex data structures of any kind. There is a deep emotional reliance on declarative APIs to do that for them. This is a skill super foundational to programming in any language learned from experience, but in modern JS the reliance on tools fails to foster those very necessary skills.
This is a challenge to describe to software developers who have no experience writing original software, such as without a framework, because they have no frame of reference to consider alternative points of view. People might find it challenging to explain modern astronomy to tribal people living in a jungle, for example, because the necessary intermediate education is absent.
I find this opinion hilarious: Almost 30 years ago the second most popular software product was Windows 95 (Doom was the #1), which couldn't run for a few hours without BSODing. Almost 20 years ago the average tech worker was building atrocities with Visual Basic, MS Access and PHP.
Meanwhile today it was announced that Google decided to lay off several compiler engineers working on LLVM, but sure, please tell me more about those low quality bootcamp kiddos that are ruining everything...
The "new kids on the block" were the ones I saw that decided that statically typed languages suck and dynamic is the way forward, only to discover how static types help and now they are bolting on static types to their dynamic stack.
I'll also say that I am not trying to generalize the newer generation as bad programmers; I have worked with plenty of very smart younger devs. It's just much more harder to come across them now in a sea of mediocre bootcamp devs.
... said the nextjs/vercel/graphql/whateverishotthisweek developer. Ironically, your stack will be outdated next week.
This is a bad-faith argument. If you disagree with what they’re clearly trying to convey, and want to make a case against it, I’d be keen to hear one without cherry-picking some compiler engineering layoffs in a company where the vast majority of others are obviously doing something very different to that.
Try asking a typical Django or React developer today what a cache line even is.
You don't care about how many ticks you need to MOV with indirect addressing when you are developing Django.
Feels like complaining because someone that is not a Django developer doesn't know how proxy model inheritance works.
Are we cool with surgeons not knowing what mitochondria are, or how cells work? All you gotta know is where to put the scalpel, bro. I'm sure it will work out just fine.
I don’t expect my doctor to know the component parts of atoms. Nor do I need them to.
I don’t expect a designer to know how a pixel works.
At some point in the stack we have to draw a line and say this level of detailed knowledge is not generally useful to the majority.
In terms of generic web development today, I would be fine at drawing that line at low level system concerns (memory allocation, cpu cycles, hell even compilation)
It is not possible either now - there is just too much complexity for people to know all layers of a stack. Look at how much more complex just a CPU is. Transistor counts in CPUs have gone up by five or six orders of magnitude since the 8 bit era. We now have all kinds of complex optimisations like out of order execution.
These days, if you're a sysadmin who can program, you're considered some sort of wizard.
More fancy sysadmins who were "modern" would learn Ruby.
The issue with "sysadmin" was that it suffered an inflation treadmill, what used to be a very difficult job where you would need to understand programming, debugging, compilers, OS design, distributed systems and so forth became a title for senior helpdesk staff; who, naturally, did not know those things.
Lots of people here completely missing the point - understanding assembly in the age of infinite cloud computing resources is equivalent to saying a guy who can build a wood hut on his own is more able to get jobs than a modern day construction worker. Even though they have some random or deeper technical knowledge, it doesn’t make them any more employable or relevant
Nowadays... unplug a modern computer from the internet and it's mostly useless.
Want to write a simple document, using a basic word preocessor? You're going to need at least 1GB ram, mate.
VisualBasic allowed writing GUI-enabled applications that would be essentially be standalone, shipped as executable files sized at (usually) less than a megabyte that would mostly "just work". Nowadays most people write GUI app in the form of frame-less web browsers displaying html and running Javascript, requiring more than one cpu core and 2-4 GB of ram to be barely usable.
Yeah I definitely can see how "The quality of your average tech worker has completely nosedived in the last 10-15 years".
As a system engineer... I have worked with some developers that constantly had memory issue ("I need more memory to run my containers, please increase the memory quota in the (kubernetes cluster) namespace") and reasoning about memory was just a non-existant skill. They just had no idea what was using memory in their software. Literally, their ass was mostly saved by the fact that process management nowadays is "good" at restarting software and managing retries on failures. Knowledge about the underlying operating system was also very very basic.
Such people, while surely filled with good intentions, were mostly useless without some random Medium article instructing how to apply some generic fixes, or without some stackoverflow question covering their exact use case.
But wait, it's way worse than this. There also are people that got promoted to managers, don't have a solid technological background (besides the little coding they've been doing before being promoted) and just can't understand the willingness to optimize and "geek out" on performance issues (and the value of such activities).
Oh and don't even get me started on nowadays a "senior developer" is somebody that is good at "delivering value to customers" instead of somebody that knows the ins and outs of the problem domain and has mastery over the technological stack.
Working in tech nowadays is a lot less about tech, it seems.
But I agree that the layoffs probably aren't based on programmer quality. When big companies lay off, they generally select products, and if you are unlucky enough to be working on that product...off you go. Merit-based layoffs are more stealthy and continuous, those are definitely being ramped up now, but probably not in the numbers companies need to cut due to overhiring or hiring in the wrong areas.
Yeah, Windows 95 BSOD'd a lot; however the people developing it were doing it for the very first time, largely with single-digits of megabytes of memory to work with and with a CPU that not only contained bugs[0] but was so slow that every single operation would take milliseconds of wall time[1].
It's not comparable, it's almost to the level that rendering a character on my screen right now consumes more CPU cycles than the entire operating system would have done in a day.
PHP was good, actually, but it's borne of its time- it's easy to use 20:20 vision of history to say it's a bad design when fundamentally:
A) it solved problems
B) it was working with the best of human knowledge in language design at the time
C) it remains one of the most well optimised web languages to this day, even a variant from the era would easily outperform any django webapp, I'd put money on this.
We stand on the shoulders of giants, good abstractions and lessons from these periods are what make our software so robust today. We made it a lot slower though.
[0]: https://en.wikipedia.org/wiki/Pentium_FDIV_bug
[1]: a 60Hz CPU executes an clock tick once every 16ms, Pentium 1 was the most popular CPU when Windows 95 released, and it had a clock speed of 60/66MHz; it was the first to be able to do two instructions per clock, meaning it had a best case scenario of 7.5ms assuming the 66MHz option was available.
BSODs were mostly avoided by using MS-authored drivers.
I was around back then. We didn’t have a magical browser box that you could type a couple of key terms into to get a thousand articles, code samples, philosophical discussions from hundreds of smarter people than you who have already solved your problem a dozen different ways and got to chose, and improve one. You didn’t have hundreds of languages, libraries, and frameworks where you could selectively pick the right tool. Back then you had your problem and you experimented and invented until you solved it generally with the one or two tools that were available at the time.
And with the benefit of nearly 40 years in tech…I can attest to the OP’s opinion that the quality of the average tech worker has nosedived since then.
It would be like if there was a housing boom and residential house framing ramped up base hourly pay to $100/hour with lunches provided and relaxation chambers onsite. You would see a huge influx of people going to it for the money rather than someone who is really into construction, knows load bearing tolerances, code for hurricanes or earthquakes, how to properly frame stairs, etc.
The average tech job requires much less skills though. It's not like we're all working on rockets or the building blocks of the internet. A good 70% of tech jobs today are crud api and basic web/mobile apps
Coast for a year or two, save millions, then rehire back when they need to innovate or update.
Not my experience. I've conducted 300+ interviews at FAANG in the last 15 years and haven't seen a meaningful drop in the hiring bar.
Based on anecdotes, I have another theory. The people that build the systems got old and are unwilling to work the crazy hours. The new folks are hired to work on maintaining these systems, and it's not fun. So overall both quality and speed declined.
> I've conducted 300+ interviews at FAANG in the last 15 years and haven't seen a meaningful drop in the hiring bar.
Are FAANG interviews these days an indicator of anything besides being good at FAANG interviews? Some of the best people I worked with that brought real value would never pass big tech leetcode interview...
FAANGs don't do leetcode. They may ask about data structures knowledge, but even their coding interviews are aimed at evaluating stuff like system design, write readable code, be coachable, and even soft skills.
Google and Netflix had hard questions as well, but they were all novel questions not on leetcode/hackerrank. However, CS algorithms 101 were fundamental to both.
Not just pure tech systems, but businesses and non-tech systems as well. And tech companies have gotten large with a ton of baggage and customers
I'm pretty sure I survive because my tco is probably more on the humble side but I'm far from cheap.
I’d be shocked if you didn’t enter the industry 20-25 years ago.
Initially this sounded right, but then I remembered all the trash that showed up during the dot boom and subsequent booms. It's just hiring booms attract a lot of people who want to make easy money and those people think programing is easy money (it's not). Bootcamps and even CS degrees are just step one of many steps and many people think step one is the only step and don't work to further their craft. Once it becomes evident that an org has way too many of these people, it starts to cull. Unfortunately, large orgs are very bad at "rightsizing," and just "mow the lawn."
The problem with tech is to be good at it, you have to be passionate about it to the point of near obsession. That's a requirement above and beyond just being smart or good at math, or even good at programming. You can fill a room with brilliant but dispassionate people and you won't get much done.
So you're right in a 15 year cycle, but this cycle has happened before and we're now in the the culling part.
> Simultaneously, a huge portion of the world saw tech salaries and wanted in on it so they started taking every quick certification, bootcamp, degree, etc to get into tech.
In 2007-2017 the concept of "startup company" was also heavily romanticized, to the point it was almost toxic. I was in university in 2013 and pretty much anyone wanted to build a startup. More often than not it was non-tech people exploiting tech people into building MVPs. It was painful to see (and in a few cases, to experience).
Don't even get me started on "apps". Every moron on the block had some kind of "idea for an app" and was completely clueless to how the app markets worked (let alone how to actually do that).
Of course, being pretty much all amateurish at best, no single business plan was in sight.
The last 4 years I've gotten comments from co-interviewers of 'you ask the hard questions', 'you are tough'. These are in response to questions such as 'What are your thoughts on composition vs inheritance in object oriented design', 'What are the arguments for Java as a better language than Javascript? How about the other way around?', 'What's a progressive web app, what aspects of React and what react-related libs help with creating one?'. These were all directly relevant to the positions being interviewed, and some of those were for senior engineer positions.
These are questions that I think should be answerable by any senior frontend engineer, and most senior software engineers.
Does it make sense?
Why, I wondered, would they want to enter this strange industry with all our odd characters and personalities? To me it's like, this is a place where you're going to compete to fix or improve something in the Linux kernel in order for Linus to swear at you and publicly humiliate you in an immutable ledger called the LKML. (Welcome to tech!) Even now, I don't really understand how this could have become the most popular major at Harvard.
I think things will sort themselves out in time. A person might start a career with little inherent interest but stumble into something that excites them and excel at it. Or a person might work in technology for a while, decide it's not right for them, and move on to something else. We'll have to see where it goes.
The quality of your average tech worker has completely nosedived in the last 10-15 years.
All these huge companies wanted more products, more marketshare, more money, etc. They needed more people to pull this off. They started lowering hiring standards across the board because there just weren't enough people in tech.
Simultaneously, a huge portion of the world saw tech salaries and wanted in on it so they started taking every quick certification, bootcamp, degree, etc to get into tech.
It turns out that compared to the dedicated nerds of the previous generation, most new people just don't care that much about tech and don't want to go deeper than the bare minimum required by their job.
So I think tech overhired by a LOT, then they realized all these new people are actually net negatives on the company, and we are slowly correcting.
I think a solid 50% of people in tech are still on the chopping block. You can do much more with tools + really smart people in the year 2024 than you could before.