114 comments

[ 3.2 ms ] story [ 178 ms ] thread
“Software developers, quality assurance analysts, and testers typically need a bachelor’s degree in computer and information technology or a related field. Some employers prefer to hire developers who have a master’s degree.“

Interesting that the government continues to peddle credentialism for software developers. I personally think a CS degree is still a strong positive signal but it’s hardly a requirement anymore

I don't know if I'd go so far as to say it is peddling. I am guessing they get a large part of this data from scraping job postings. Sure, companies will be willing to look at people who don't have formal education, which is great. But most job posting probably still have the wording "required or preferred or strongly preferred." If they are scraping data from job postings, then their statement is completely reasonable.

I was job hunting earlier this year and every software development job pretty much had that wording.

The BLS page on their data collection: https://www.bls.gov/oes/

> The Occupational Employment and Wage Statistics (OEWS) program produces employment and wage estimates annually for nearly 800 occupations. These estimates are available for the nation as a whole, for individual states, and for metropolitan and nonmetropolitan areas; national occupational estimates for specific industries are also available.

On this page is https://www.bls.gov/oes/mb3-methods.pdf

> Probability sample panels of about 180,000 to 200,000 establishments are selected semiannually. Responses are obtained by mail, Internet or other electronic means, email, telephone, or personal visit. Respondents report their employees’ job titles or occupations across 12 wage ranges. The job titles and descriptions are used to classify workers into occupations in the Standard Occupational Classification (SOC) system.

> Estimates of occupational employment and wage rates are based on six panels of survey data collected over a 3-year cycle. The final in-scope sample size when six panels are combined is approximately 1.2 million establishments. Total 6-panel unweighted employment covers approximately 80 million3 out of the total employment of over 140 million4.

They're not scraping. They are calling up a hundreds of thousands of companies and asking them "how much are you paying people with this classification?"

They occasionally redo the classifications based on industry trends.

Currently, the programmer related job listings https://www.bls.gov/oes/current/oes_stru.htm#15-0000

    15-1251 Computer Programmers
    15-1252 Software Developers
    15-1253 Software Quality Assurance Analysts and Testers
    15-1254 Web Developers
    15-1255 Web and Digital Interface Designers
(note that the OOH and OES can get out of sync)

Go back to 2020 and you'll see https://web.archive.org/web/20200508015238/https://www.bls.g...

    15-1251  Computer Programmers
    15-1256  Software Developers and Software Quality Assurance Analysts and Testers
    15-1257  Web Developers and Digital Interface Designers
And going further back, in 2014 https://web.archive.org/web/20140704000413/http://www.bls.go...

    15-1131  Computer Programmers
    15-1132  Software Developers, Applications
    15-1133  Software Developers, Systems Software
    15-1134  Web Developers
And even further back, you won't see the Web Developers https://web.archive.org/web/20060813114102/http://www.bls.go...

    15-1021 Computer Programmers
    15-1031 Computer Software Engineers, Applications
    15-1032 Computer Software Engineers, Systems Software
These classifications are buckets that the BLS creates trying to loosely get a single mode in the wage data (if there is a bimodal distribution of the wage data, then there are two different classifications).

When someone applies on a work visa, they have to fit into a bucket somewhere. The definition of that bucket determines which type of visa they may be approved for. If it requir...

(comment deleted)
It is interesting, because ( admittedly based on limited anecdata, so please correct me if you think it is not representative of what you saw ) the interview processes I was a part of favored non-academic, non-credentialled applicants ( sometimes due to petty stuff like being able to pay less and sometimes due to anti-academic stance ) for technically oriented positions.
Unless you have really good projects to show off and have been studying LC a lot in your spare time - it’s gonna be hard to get a job for normies without one. Entry level is absolutely flooded with overqualified candidates.

It’s no surprise that almost all boot camp grads I’ve seen in the industry come from Ivy league colleges or are URT.

URT?
"Underrepresented in tech" AKA when you use racism / sexism to hire people.
The way I’ve seen it is also underrepresented talent.
I have not seen any correlation between a person’s abilities as a developer and their university credentials.
I have, you really start to see the difference between developers without formal education and those who have computer science backgrounds once you start going into deeper things than CRUD applications or other solved problems, the kinds of things you can’t just google a solution for.

Kind of like how most boot camp grads will do the specific things they learn in boot camp very well but then fall apart when you change it up on them.

I second this. I’ve seen great developers with degrees, and awful developers with degrees. And haven’t noticed one more than the other.

Just that I’m more surprised when I see an awful dev with a degree, because they had years to study.

The thing I see is, either it clicks or it doesn’t. And when it does click, you can go deeper.

I mean - you're going to be incredibly hard pressed to get an interview at FAANG with no work experience and no degree.

But, yes, if you're willing to work your way up the ladder - you don't need any school.

You can probably get a good job faster by graduating from a good school, though.

(comment deleted)
This is probably skewed by H1B applications, where employers have an easier time with the lottery with a more advanced degree. Bachelor's fall into the common 65k/year bucket that puts applicants at risk regardless of qualifications.
I think there was a comment on HN once to the effect of "Imagine you had 2 candidates, same work experience, both at a fairly prestigious company, one with a degree, one without, which do you hire? Personally, I think the fact that the non-degree holding one is more likely to be the better hire, just because of how much harder they had to work to get into that position".

Not saying that not having a degree is somehow a more-positive indicator, just that I agree with your sentiment that it's hardly a requirement, and that it's just one signal among many.

FWIW, I have an inclination to believe the reason why node+express+react stacks are so popular among startups (at least in the NY scene) is because all the full stack bootcamps use that stack, so it makes it easier to hire. I also decided to use a similar stack that only used JS for the same reason. I feel as though some aspects of "software development" are closer to to a trade skill. Certainly there are far more complicated directions, and that's where degrees and advanced education are meaningful, but if you just need a simple CRUD app you probably don't need a masters in anything.

A lot of software development is just bricklaying. Issue tho is that reading on a forum about a design pattern or good practice doesnt make you a good engineer. Neither does a pdf certificate issued by a “bootcamp”. Thats why the webdev world has ended up with tons of poorly designed libraries and frameworks and each day there’s a new library coming out. Folks have no clue what they are doing, they just follow trends.
>Folks have no clue what they are doing, they just follow trends.

And you think that a degree helps with that? I've had coworkers with MS in comp-sci who had no idea how to implement stuff in a practical, efficient manner, and other coworkers with no degree who were able to grasp the best practices from the get-go. I don't think the degrees are the problem. The problem is that the demand for software engineers has wildly outpaced our society's ability to produce quality ones, regardless of their educational path.

The fact of the matter is that the vast majority (80%) of professional software developers already have a bachelor's degree or higher: https://insights.stackoverflow.com/survey/2021/#education-ed...

Not having a degree doesnt mean you cant be great or better than someone with a degree. A lot of trades have people that simply have a “feel” of how things work. Its a bit like car mechanics vs mechanical engineers. No matter how good a mechanic is they will rarely be good enough to actually understand why things are the way they are. A mechanic can fix any part of the car but the engineer will build that critical thing that makes the car possible.

Similarly with software engineering. Memorising good practice and following it is not difficult. Understanding why it is good practice and why it can be challenged is. A lot of the self taught folks stare at you like a brick the moment you step out of their knowledge area.

I dont want to sound patronising. I also met plenty of great developers without a degree, some even high school drop outs. But they rarely understood whats beneath the bonnet. They were absolutely able to deliver work and architect systems but it was always obvious that knowledge was based on what some popular dude wrote on a blog instead of actual knowledge.

The survey you posted doesnt show a breakdown per language.

Again, nothing wrong with not having a degree but saying that having a degree is a negative thing is just silly.

You're entitled to your opinion and I'm happy to respect it, but:

>saying that having a degree is a negative thing is just silly.

Don't put words in my mouth. I never said having a degree was a negative. I made an example of why I don't think it's relevant in the first place

Both could have worked just as hard, but a college education means a lot less than it did in the past, and even can come with negative connotations. In terms of computer "science", I would consider a degree mostly irrelevant to whether someone is qualified, though for junior developers I would have to consider the amount of unlearning that will need to be done in contrast to self-taught developers who didn't experience 2-4 years of indoctrination.
Not sure I agree with that. The non degree holder could be better definitely at certain specific parts of software engineering (mainly because they potentially had 4 more years and more time to dedicate to learning it) but the person with a bachelors degree will likely have had a more robust social network and broader general knowledge. In my opinion graduate degrees are when the utility drops off a cliff (except of course when you absolutely NEED that specific graduate knowledge - then it is essential). There is a ton you get with the added bachelors degree that is not at all related to your field and a network of friends in unrelated fields to your own also broadens your knowledge significantly. Software Engineers do not work in a vacuum just coding all day - they need to of course also be excellent general communicators and collaborators and there is real value in being able to translate high level technical concepts into language that less technical people can understand.

That being said the gatekeeping of jobs to only people with degrees (especially considering how expensive it is in the modern world) is absolutely a problem. But I think that is more down to the cost of education (in an ideal world higher education would be free just as high school is). My bachelors degree is not at all related to the field I work in now but it gives me a huge leg up compared to pre college me.

>Imagine you had 2 candidates, same work experience, both at a fairly prestigious company, one with a degree, one without, which do you hire? Personally, I think the fact that the non-degree holding one is more likely to be the better hire, just because of how much harder they had to work to get into that position.

I think the flaw here is in the question framing. It implies from the get-go there is a definitive qualitative difference between having CS degree and not AND that it is the determinate factor of quality or risk mitigation when the reality is both of these candidate are going to have behavioral differences you discover conducting proper interviews.

It seemed reversed to me - I was noticing more bootcamps and courses and tutorials for that node/express/react before seeing the degree of uptake we see today. Not saying it wasn't used before, but it might not be as much cause-effect as you're inclining.
However people are still people and I'd bet most people would still hire the degree holder to protect themselves. If the degree-holder was a dud, they can at least say they did "due diligence". It's like the old saying "nobody gets fired for buying IBM".
Anymore? When was a CS degree a positive signal? I don’t work with any programmers who have a CS degree (or even a STEM degree). Most of us have been in the field for 20+ years. We have degrees in ancient history, music performance, educational psychology, linguistics, etc. I read thousands of resumes over the years and have never paid any attention to what someone studied in college.
It's certainly a positive signal vs. not having a degree, in that the probability that they understand the topics that a CS degree covers is higher. Of course it's not a guarantee that they understand that content, and people without CS degrees can also teach themselves using books, online lectures, etc. And of course it's a young field, so more experienced people without degrees may have invented some of the contents of those books.

A masters degree is probably a negative signal though unless they did something completely unrelated like music for undergrad, in which case it's similar to a BS.

I would say it's a soft requirement in most cases. One must be prepared for an extra uphill battle trying to secure a job without one. As someone who just broke into the industry this month (with no degree), my biggest assets were an existing portfolio of work and leveraging my ten years of professional experience working on complex/critical problems in various fields.

I don't think this is strictly related to software engineering, though. I think most people doing horizontal career transfers use some form of the above to achieve success.

Right. I would also say that this is more of a symptom of university degrees being a title system, rather than strongly signalling candidates' capabilities.
As an emphasis of your point consider the two statements

"Our engineering is backed by MIT graduates"

"Our engineering is backed by the best engineers"

One sounds a LOT better to a client. It's a lot easier to sell a product when you can lean on an actual credential than a vague superlative. Even if your vague superlative is absolutely true.

So strong is MIT’s brand that it sounds really convincing to the rest of us with technical experience too (I’m assuming S/E’s with years of experience).

Unless it’s crypto. Then I’m still “yeah but nah tho”.

I'm not convinced of the uphill battle of securing a job. Credentials seem to matter in that they modify the gradient you advance in ranks with. I have a degree. It has certainly helped the speed at which I advanced. But I don't believe it helped me actually get the job. My first job was 10 years ago and it still wasn't that big of a deal to not have one at most jobs.

However, government jobs almost always have a hard degree requirement. I'm not sure why this is. I wouldn't take government jobs as representative of the industry.

>government jobs almost always have a hard degree requirement.

There are a surprising number of loopholes. For example, many federal engineering jobs require any one of the following:

1) A bachelors degree in engineering

2) Sufficient college coursework without a degree with relevant experience

3) A non-engineering degree with sufficient engineering coursework

4) passing the engineers in training (EIT) exam with relevant experience (which doesn't necessarily require a degree to sit for)

5) A professional engineer (PE) license (which, in some cases, doesn't require any college)

I do think HR is biased towards just looking for degrees. Probably out of either laziness or risk-aversion.

I spent the first ten or so years of my career without a degree. And I can say with certainty that jobs are substantially easier to come by now that I have a CS degree.

I'm not sure if this is still the case for people, but I faced a lot of discrimination from management over my lack of degree. Especially managers who "inherited" me. Some of it was petty too, like all the other devs on my team were software "engineers" but since I lacked a degree, I was a software "developer". AFAIK, it wasn't a salary thing either.

It's not difficult to get a degree, especially if you have experience in the field. So I would say that it's worth it.

Is this in Europe? In some countries especially EE people tend to be very ornery with their papers.
> In some countries especially EE people tend to be very ornery with their papers

can you elaborate on what you mean by this?

To be honest I never understood the ubiquitous use of the word engineer.

To me an engineer has a degree in engineering (including software engineering, which focuses on large-scale infrastructure, not algorithms). In many countries engineers are legally liable for what they implement.

I feel like it also depends on the position. I have a buddy with a philosophy degree from a Ivy League, who wants to "Learn to code". Even with experience I see him getting into a high technical systems programming job very low without a degree. And I see his only future after his code bootcamp as a javascript code monkey, which is becoming more and more saturated, with lower pay and more work.

I tell him alot since I want to be honest, I don't know how much longer extremely basic, low end website/api development will stick around. With Github Copilot currently I can see it almost replaced, but with what we get into in the future, I don't think we'll need people who at best call an api and display the data on a website with no other thought or architecture.

Philosophy degree-holder here. Was programming on home computers for ~8 years before university. Got a philosophy degree, then got a job in tech. Was doing 'web' stuff in early 96, and got 'full time web dev' job in early 98. Few had degrees in anything (IIRC a couple of older compsci folks) but ... there were no bootcamps or degrees or classes for Perl, ASP, or Java. Everyone just dug in. It was a simpler time though. blink tags, image maps, no CSS, no JS at first, then very primitive JS for years...

I guess I've never seen a position which only did API calls from JS and formatted data. That's always been wrapped up with develop/implement parts of the API as well. Maybe I've not worked in enough "enterprise" shops?

I don’t know, I work for a lot of companies where I see a huge need for good webdev skills combined with a high enough general intelligence (ie an ivy league philosophy major) to understand the domain well enough to know what needs to be coded.
I’m self-taught, with bachelors and grad degrees in non-STEM. Broke into the industry a little over two years ago. I currently have interviews with FAANG and FAANG-tier for SDE roles. In fact, I have a final round this week.

You can teach yourself pretty much all of a CS curriculum by buying a stack of textbooks listed on CS syllabi, and then going to town. Naturally, you’ll build projects while doing this.

Do some LC and prep for interviews.

You don’t need to get a CS degree to get SDE interviews. It helps, but isn’t necessary. And to pass technical rounds, you don’t even need to have read most of that stack of CS textbooks. You need some bits and pieces from that stack of books, and be quick on your feet with LC medium.

If your friend is good at standardized tests, then LC is right up their alley.

Anymore? In 1995 I worked full time at Netscape without a college degree and had a good career in the valley. I eventually went to UIUC in CS as an late student. It allowed me to get jobs I couldn’t, but not in the software area - I didn’t know advanced math, and I learned it at school, and worked at the intersection. There has been opportunities without degrees throughout my 30 years, but there are some opportunities that definitely need them.
It is changing -- a CS degree is far more of a requirement today than the 1990s.
The credential for the job listing is related to the treaties and visas for people applying to work in the US.

If the job listing on the BLS didn't specify that it needed a degree, then the software developer wouldn't fall under the H-1B or the TN visa. Instead of the H-1B (which is a specialist worker) it software developer would fall under the H-2B and anyone (degree or not) could get a visa because no skills are required... however that also means that it would fall into the "one time occurrence", "seasonal need", "peak load need" or "intermittent need" for people working on the H-2B visa.

Another "this makes things interesting" with a switch from a specialist worker to a non-specialist one, is that there is a list of countries that may apply to work on a H-2B visa... and it doesn't include India.

---

The job listing defined by one agency BLS has impacts on the way people can get visas and which visas.

Removing the degree requirement would effectively make it so that there are no even marginally qualified applications with a visa.

When 99% of the workers in the space have a degree, it’s a fair statement.
That statement is 100% accurate. One does typically need a related bachelors to be considered for a typical software job.

There are absolutely places with more progressive hiring practices, but this is not the norm. If you apply to XYZ Corp in any random city or town, they will have “bachelors in computer science or related degree” in the requirements section of the job posting.

> If you apply to XYZ Corp in any random city or town, they will have “bachelors in computer science or related degree” in the requirements section of the job posting.

Of course, the purpose of a job advertisement is to compel workers to apply. Companies don't write "bachelors degree" because they expect you to have a bachelors degree, they make note it because if you have a bachelors degree it will pique your interest: "Wait, I have a bachelors degree! I should apply."

One of those fun marketing tricks.

Parts of job posting are marketing, especially the unquantifiable parts.

Other parts are real indicators of what they’ll filter incoming applications by. Education and experience are absolutely quantifiable indicators that recruiters or HR will often filter by before that resume lands on the desk of a hiring manager.

> Other parts are real indicators of what they’ll filter incoming applications by.

That may end up being incidentally true, but not the reason for sharing that information on the job ad. After all, there would be no reason for HR to apply said filters if the posting was prescriptive. It is there merely to grab your attention.

It is kind of like prices on product advertisements. If you fail to successfully barter with the merchant you very well may pay the price listed on the ad, but the price isn't listed as a commandment of what you will pay, but rather it is listed in order to capture your attention. "Huh, that's not a bad price. I should buy that." It's a marketing trick, is all.

That said, these days everyone has transitioned to "Bachelors degree or equivalent experience" so even if HR does hold firm to what the ad says, they aren't filtering by bachelor degrees anyway. That is a long outdated relic of the past that isn't subscribed to anymore as it has been realized that the 'indicator' doesn't actually indicate anything.

> After all, there would be no reason for HR to apply said filters if the posting was prescriptive.

HR also doesn't want to spend all day sorting through garbage resumes. Some use resume parsing software (or form fields) to do this sorting for them, in which case, it is effectively prescriptive.

> these days everyone has transitioned to "Bachelors degree or equivalent experience"

Most tech companies hiring rank-and-file software developers, maybe. Definitely not every job. Pick your favorite job posting site and look at mid or upper management positions -- few accept "equivalent experience".

> Some use resume parsing software (or form fields) to do this sorting for them, in which case, it is effectively prescriptive.

It's not, though. Clearly the resumes which don't meet expectations are arriving, else filtering would be unnecessary. So obviously nobody actually pays attention to the "requirements" as anything more than what they are: A marketing gimmick. And why would they? It's like the price on the product ad. You are still going to try and get a better deal. Just because someone suggested something to grab your attention does not set it in stone.

> Pick your favorite job posting site and look at mid or upper management positions

I'm not well versed in the best places to look, but I gave it a shot. Here are a couple I could find from companies I've heard of before.

* H&R Block - VP of Information Technology: "Bachelor’s degree in Computer Science or related field or equivalent combination of education and work experience."

But maybe we need to look beyond tech.

* World Wildlife Fund (WWF) – Vice President: "Post-secondary degree in science or policy fields relevant to conservation, or comparable work experience."

A similar story for companies I've never heard of held true, but fly-by-nights seem less relevant so I omit them here. Maybe VP isn't upper management enough?

That is a positive statement, not a normative one.
I agree, there is no need for a degree in order to re-invent the wheel or practice pseudo engineering. The lower the bar the better, just look at the state of webdev.
And of course in the real world the problems most developers waste our time have nothing to with CS.

Like xaml live preview somehow disappeared in my visual studio... And everything short of windows reinstall - it is still missing. Without errors or nothing. Please Mr HR that wants people with CS - send one of those to help me.

As plenty of others have said, they see just reporting actual findings, not pushing anything. The stackoverflow developer survey, which is completely unaffiliated the government as far as I know, suggests >80% of professional developers have some form of higher educational attainment. That definitely meets my definition of “typically”

https://insights.stackoverflow.com/survey/2021#education-ed-...

Capital One is the only company I've ran across so far that wouldn't take on a developer with equivalent experience, or maybe the recruiter was badly misinformed.
> I personally think a CS degree is still a strong positive signal but it’s hardly a requirement anymore.

I have a Master's degree and would say that it was overall a useful experience, given that many of the aspects of software engineering/development that I explored in certain courses I'd have glanced over entirely in a more self taught approach - something like risk analysis and business continuity plans (and how those might affect system design and development), deeper exploration of testing and in-database processing (though also the limitations of testing/debugging DB-side logic became more apparent), model driven development and codegen, as well as a dive into the system analysis aspects and something like 4EM and BPMN (the latter of which actually feels more useful). Note: some of this was probably in my Bachelor's as well.

For most positions, however, I'd suggest that such a degree probably isn't necessary, even though some bootcamps might also be lacking (they'll teach you how to get things up and running, but not necessarily the implications of the implementation, e.g. ORM vs no ORM, aspects of distributed systems and fallible networks, backpressure etc.). Nothing that working as a part of a team on an existing project couldn't fix, though.

> Interesting that the government continues to peddle credentialism for software developers.

At the time, however, I'm studying up for Java certification, which I haven't needed up until now, but there are some governmental projects where they are mandated and you don't get a choice. If you're working for a SaaS company or purely work in private sector projects (outside of consulting), credentialism probably won't be as common, but in other circumstances you'll have to deal with a bit more red tape.

25% growth in the next ten years? Isn't that a slowdown in growth? I seem to remember the Uncle Bob video where # of devs is doubling every 5 years or so.

OTOH I feel we're at peak now, the investment money is drying up and management will force efficiencies going forward.

It feels like we're in a momentary slow down but there's still so much potential for software to be applied to problems to increase efficiency. Taking a step back from the current economic cycle makes me feel like there's so much more room left to grow
> I feel we're at peak now, the investment money is drying up…

This is a naive and pessimistic view. The software industry is much bigger than the VC bubble. See patio11s law for more details.

"patio11s law"?
Patio11’s Law: The software economy is bigger than you think, even when you take into account Patio11’s Law.

https://secondbreakfast.co/patio11-s-law

Although a lot of it probably isn't classic programming in isolation. I happened to be looking at my undergrad's course catalog a few months back for some reason. I was really struck by the number of non-CS engineering and science degrees that are basically something like Chemistry + Computers. This has long been true to some limited degree; I took a FORTRAN course as part of my mechanical engineering degree (though that was pretty much the only time I touched a computer undergrad). But it's certainly much more pronounced today.
I'm always surprised by how few developers ever seem to look outside their own domain. Software is everywhere. When I got bored, I used to google "software for X," trying to come up with the weirdest application for software and it never failed to generate a few hits of some company, somewhere selling software for that particular use case.
BLS projections about individual jobs and payrates are a joke.

They had pharmacist as a growth career at +10% from 2010 to 2020, whole year after year, entry level and hourly payrates went down, easily verifiable by reading online forums. How can that be?

Then in 2020, they finally changed it to -3% growth, but due to the pandemic measures and people quitting the field, payrates have actually gone up.

They should be reporting changes in pay by quintile or even decile. And the new laws in CO/WA/CA/NYC requiring pay ranges in job listings should make it much easier to see which way supply and demand curves are moving in near real time.

BLS salary data comes from surveys of employers. I would expect that data to be much more accurate than forum posts.

Also, growth in number of jobs is not necessarily correlated with salary changes. You have to also consider the growth in the number of people entering that field. A PharmD used to be seen as an easy pathway to a guaranteed six figure salary (back when that was a much more rare and significant milestone). It's no wonder it attracted a lot of people into the field, which drove down salaries.

Software will probably see the same situation over the next decade or two. It seems like kids today see programming as a easy way to earn a great living, and many schools & parents are pushing their kids into the space.

> BLS salary data comes from surveys of employers. I would expect that data to be much more accurate than forum posts.

I would expect it to be more biased towards employers. For example, pharmacists were complaining about only getting scheduled for 32 hours per week of work. That is a 25% reduction in pay.

They have also had to accept drastic decreases in quality of life at work, increasing their own personal liability for malpractice.

These kinds of things would only happen if the supply of pharmacists was outstripping demand of pharmacists.

> Also, growth in number of jobs is not necessarily correlated with salary changes.

For the purposes of their “job outlook” section, I do not see why it would not correlate. And not just salary, but pay to quality of life at work ratio, which is hard to define as a number.

There's a big difference between A Peak and The Peak. Cobblers hit The Peak of their employment numbers long in the past; but software still dominates the world. What I've observed:

Uninvested VC funds are still at extremely high levels (or as those in the industry call it: dry powder) [1]. There's some sources which report that aggregate counts are down relative to 2021, but only marginally; its still higher than 2019 levels. Part of that is because of the next bullet point (low investment activity), but another big part is: the Fed printed the majority of US Dollars in circulation within the past two years.

But VC investments are way down for 2022 [2]. Near-peak money, but low investment activity. VCs are just acting more conservatively. The economic slowdown has a big part to play in this, but days go by with bullish markets, low unemployment, pressure (from the UN, most recently) on the Fed to stop raising rates, a return to QE by the BoE, food on the shelves... as they say, the money is burning a hole in their pocket, investors expect returns, and it needs to be spent. I've heard one insider say that 2022Q3-2023Q1 may be one of the best times to seek VC funding, ever.

I think you're right that "management will force efficiency". I think this is a death sentence for many tech companies, especially as we talk about bigger ones; but they'll do it anyway.

- Killing moonshots is a classic round 1 for layoffs; but those moonshots are oftentimes what drives such high ratios for these companies; buzzwordy future revenue potential that sometimes works out. Tesla isn't priced like Ford for a reason, but if Tesla pivots to start looking more like Ford; their valuation takes a huge hit. And even if that fall lands their valuation somewhere near Ford, they're in a far worse spot because Ford didn't just lose XX% of their valuation; the markets (meaning: financing) don't care where you're at, they care how you've changed (I'm picking on Tesla, but this also applies to Amazon, Google, any big tech company).

- Its extremely difficult to do layoffs (or even freeze hiring) in software orgs. Product development is already slow in most big companies; layoffs won't make it faster (or maybe they would...) The percentage of time every developer spends with ongoing maintenance increases with every employee a company hires. Every engineer at a Big Co has experienced the classic "what service handles that, ok this one, wheres it running, huh that's weird but ok, who owns it, jesus of course there's no codeowners, shit this is actually critical to X Y Z, oh its got partial ownership between this team in Asia and this team in the UK..." now imagine that dysfunction, but through the lens of layoffs.

- Any layoffs are expected to trigger a cascade effect of secondary departures. Even if a company can lay-off the right people, non-critical, newbies, etc, to keep the core business going; many people who survived are now submitting resumes elsewhere, hiring is slowed because, uh, layoffs just happened, and your company now has a red mark in every potential applicant's hitlist. There are extremely few companies, let alone tech companies, that have done double-digit-percent layoffs then came out the other end stronger. I only say this to say that: companies don't just lay off people for no reason, and very few big tech companies have financial reason to do layoffs right now (except maybe Meta).

- There's billions in capital waiting to invest in ventures that can eat some of Big Tech's lunch. If you're the head of Google, this is what's scaring you right now. Its not just the economic slowdown. Its not just the seven figure salaries you've been paying people. Its that, despite or because of all that, you may have to do layoffs, or at least cool hiring, and you have to do that while swimming surrounded by sharks who want nothing more than to give those people you laid off a few mill...

> Combine that with smart real estate investments or passive income and there's a significant tranche of software engineers who are biting at the bit for a bull market to come around; then retire;

Yeah its fascinating. Its a good reason the CBs want to hike rates, reset asest prices and get back to work. :)

I like Uncle Bob’s writing, but that number is just wrong. On the same BLS site you can grab the numbers: https://www.bls.gov/oes/current/oes_nat.htm#15-0000

In 2000 there were 1.2M people working in programming or closely related professions by my count. In 2021 there were 1.8M. Things are a little weird because they changed some definitions, but I think that I’m taking the stronger case.

25% growth in the US is actually slightly faster than the last 20 years.

What did this look like in 2011?
https://web.archive.org/web/20121002002433/http://www.bls.go...

The BLS predicted 30% growth, but it looks like growth in number of positions from 2010-2022 was 77%.

The old figure only included software developers. The new figure includes QA and testers.

Thanks for pulling this up.

The total number of software developers has gone up so much that I fear that its going to start dragging up the salaries of peer-occupations like Civil Engineering, which are fairly easily retooled as junior software developers, as the demand starts to outstrip relative supply.

The way the buckets are structured over the years has changed.

Looking at the history of https://web.archive.org/web/20221003111240/https://www.bls.g... and the 15-xxxx set shows a change in how the BLS regarded the various fields. If you go far enough back, there were computer programmers, software developers (systems), and software developers (applications) as the three buckets.

The most interesting part (to me) has been how the web has been moved in and out of different buckets.

"Overall employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent from 2021 to 2031, much faster than the average for all occupations."

Job Security. As long as you learn whatever new fad frameworks replace React.

> As long as you learn whatever new fad frameworks replace React.

Or you could just get out of UI development - and instead of spending all your energy on staying afloat - you can actually move forward quite easily.

For webdev. There are other areas of software than web. It’s hard to tell that’s true reading HN sometimes.
Webdev is the bulk of software positions now, isn't it? Javascript and HTML/CSS are the first and second most popular languages according to Stack Overflow' Dev Survey, and several other web or web-adjacent languages like Typescript, Java, and PHP are not far behind.
As a senior full-stack dev currently in a back-end position, I've grown into the (semi-serious) opinion that a large number of web-devs have their jobs just because of the sheer amount of bikeshedding[0] that occurs around front-end code, frameworks, and UI/UX. Companies wouldn't need bloated front-end teams if they weren't constantly rewriting their webpages/apps to catch the latest trends.

That said, I've never been the type of guy you should be asking about what's cool or trendy, so maybe I'm just out of touch.

[0]https://en.wikipedia.org/wiki/Law_of_triviality

One of the neat things to look at on the OES page is the location quotient.

https://www.bls.gov/oes/current/oes151254.htm

This gives an indication of "compared to other jobs in that area, how many jobs are filled by people with this classification... compared to the national average of that ratio."

You can then use that information, for a person looking for a job, to search those locations for jobs as it is more likely to find those jobs there.

The "create customized tables" https://data.bls.gov/oes/#/home if you want a larger data set than the summary on the OES page.

You could a "for web developers, all metro areas, give me the employment, median wage, and location quotient" and then get that as a csv file which could then be sliced and diced again.

Remember that the wages are (1) based on a survey of 200,000 companies and (b) an estimate beyond that number. This is not self reported data. It is akin to how the CPI is calculated ( https://www.npr.org/transcripts/1015804773 ).

:wave: https://github.com/cheatcode/joystick

(But I sincerely hope it's not a fad as I've designed it to be the antithesis to the rabbit chasing and dogmatic nonsense that's plagued JS the last decade or so).

Looks cool, I feel like comparing it to React/Vue isn't totally fair though, it seems closer to something like Next.js.
Thanks for taking a look. I agree, I'll add that to the comparison stuff soon.

Are there any others you'd like to see/think would be helpful?

React has been popular for 8 years, has an unassailable lead (we may not see an equivalent usage competitor in 10 years), and in 1 day you can learn the basics for making an app.
> Overall employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent from 2021 to 2031, much faster than the average for all occupations.

10 years is a long enough time horizon in tech for any number of inflection points to occur. My bet is this swings heavily in the downward direction as more specialization in the industry occurs, the usage of the title "software developer" drops, but the overall usage of software and "developers" increases e.g. small businesses using low code tools

Also consolidation of companies: instead of 20 smallish companies, you now get 2 big companies. Less developers for same amount of functionality.

(at least what I see in vacation business)

Software engineers are amazing at putting themselves out of a job.

Luckily, the growth in the list of things for us to do is outpacing our ability to automate away the things we do.

I've been startled to find out that the global population is stabilizing or is actually reducing [0]. To me that means that any shortages that are apparent now (and Software Dev shortage has been trumpeted about for years) will continue into the future.

If you look at the demographics of US [1], you see that dip below the age of 30, so there are fewer folks coming online to take the jobs of the people retiring.

Of course there's immigration, various other methods to incentivize more people to join the IT sector, but ultimately it looks like there's fewer people to handle more work.

[0]: https://en.wikipedia.org/wiki/World_population see especially the projections in the side bar.

[1]: https://en.wikipedia.org/wiki/Demographics_of_the_United_Sta...

If it's a global trend, immigration isn't going to fix that. At least, not in the long-term.
Not in the very long term but it will fix the issue atleast for the next 100.
Unfortunately, it also exacerbates the problem for other countries.

Unless remote anywhere becomes widespread. Then it is both other countries and US salaries.

But this is a skilled profession. How relevant is it that there are fewer young people in general?

Should we expect the number of top basketball players to stagnate as well?

I get that there's far more software jobs than Pro sports, but is it relevant that world population is coming down? You'd think perhaps something like the number of CS graduates might matter most.

I don't have enough data or insight, but the global trends seem like a good indicator.

More people are retiring than joining the workforce AND there's already a shortage, so my thinking is the shortage will continue to grow assuming the demand remains stable or grows.

In China, there are 10 people currently working for every retiree. By 2030 it will drop to 2 people per retiree.

I don't think there are more people retiring than entering the workforce in software specifically though, only because the field has grown significantly over the last 2 decades. 4 decades ago it was less common for people to study computing or computer science (many universities may not even have had the program).

Now, it's one of the most popular choices, and there are also many people entering the field without degrees (bootcamps and the awareness that software skills can be learned outside of a structured curriculum weren't so common over 10 years ago).

I don't think population growth is a strong indicator of demand or supply for specialized services like SWEs.

For example, automation can remove one type of labor and increase the supply for services labor, like the combustion engine w/ agriculture. Also you can have increased demand by the popularization of new software interfaces, like smart phones or AR.

Completely agree with everything you're saying. I hesitated writing this because predictions of any sort are so hilariously wrong so much of the time.

Could be that Copilot achieves sentience tomorrow we hit singularity and all SWEs will be out of job.

Trucking industry has been slowly automating itself, if I was a truck driver I might start looking for something else (if I was young) but at least they can see it coming.

With a declining population, wouldn’t you expect less demand?
With a population both declining and aging, the supply of labor decreases faster than demand for it
Retirement means that the decline in demand lags a great deal behind the decline in supply.
The last few companies I've worked for had zero testers or QA analysts. Testing was a side job for developers and product folks.
This is certainly a data point, but there are a bunch of companies that have qa. The one thing I'll say is that there seems to be an inversion between was and fast ci/cd. When you have people turning over production worthy code daily, the idea of having dedicated resources to "check your work" kinda falls over. Anyone with sufficiently critical systems and doing regular deployments needs to be able to verify their changes as streamlined as possible, and using QA a staff with their own sets of problems, managers, standards, etc. seems to contradict the "ship it fast(if we need to)" mentality in ci/cd shops.

That said, there's room to help devs in this world, and I'm not entirely sure if this is a lack of software, or a need for a human in the mix, but there's certainly gaps that can be filled to help the quality of releases that go out the door in these shops.

That does seem to be a current trend. It actually might swing back though. It also depends on what industry you're in. If you can "move fast and break things", you may not need/want QAs. But in Healthcare and finance (for example), you probably want QAs.
QA never meshed well with me. Their job seemed to be gaining context on what I was working on and then testing it for me, but if they caught a bug it was on me. QA catching something was treated as a negative reflection on the dev, so we still exhaustively tested everything before it got too QA, which made them seem pretty redundant.
You just perfectly described an effective QA process.
I know it's silly, but I can't help using the ratio of replies in HN "Who is Hiring" to "Who wants to be hired" threads as a finger in the air for the current market. Right now it's the lowest I've ever seen it at 1.8, while a couple years ago I remember it being between 4 and 5.

Edit: I say it's silly, and then refresh the home page and see this is at #2 - https://news.ycombinator.com/item?id=33083279