The number of mentions needs to be normalized by the number of job posts.
Example:
- 2021-01: posts=842, python=194, ratio = 194 / 842 = 0.23 (mentions per post)
- 2025-01: posts=487, python=87, ratio = 87 / 487 = 0.18
And then if you want to see a trend, do a moving 6 months average.
probably more like number of job posts that include at least one programming language for conditioning. (if you want to look at relative trends). distribution over job class as well as an accurate count of actual jobs per post here also probably makes sense for measures of overall activity and longitudinal analysis. could maybe skip the deep counting if you can show that it's static across the dataset.
Number of job posts itself seems like a better measure of the state of the job market than mentions or mention-density. What aspects might mentions capture that number of postings wouldn’t?
There's also the popularity of HN itself and the popularity of posting jobs on HN that's an important factor.
You could both normalize the figures and include a separate graph for job posting density per month or something like that. Total posts on HN monthly would also be interesting to visualize. Is it trending up or down?
There's also the popularity for HN based upon the particular language.
It's possible there's skew where rust becomes more popular say, and gets the bulk of the new posts, but python or java aren't super interesting anymore. So those people stop showing up to HN.
I'd like to see the popularity of posts by language. I bet we'd see a lot fewer Java and Python posts compared to Rust.
It would capture the shift in need for each language.
Yeah, I found the percentage of job posts with the keyword in https://www.hntrends.com when I was publishing it, was effective.
Optionally, the novelty factor plays here: C++ created 40 years ago, Python a little bit later, and Rust less than two decades ago. The selection of programming languages should be augmented/benchamrked with the TIOBE index.
It's just Hacker News attracts more rust users, so more rust jobs here. You can search on actual job sites. Rust jobs are still rare.
But growing rapidly. Most Rust jobs are still "invisible" in that they were C++ jobs that have turned into Rust jobs without hiring anyone.
I've had one contact from a recruiter saying they were looking for C++/Rust devs.
Obviously you won't find many on Indeed or whatever, since companies that advertise there are not really on the cutting edge or anywhere close.
Definitely, doing this on a game development board, or data engineering would give completely different numbers.
LinkedIn doesn't even recognize Rust as a language you can select.
You can select Perl, Fortran and Cobol, but Rust? Crickets.
I asked them half a year ago if they would add it. I included a few sources, e.g. the StackOvflow survey and a couple of sources that showed LinkedIn's parent Microsoft's investment in Rust, but I only got stock answers.
So, Rust has some way to go.
I doubt you can "ask" a company like LinkedIn. Your best chance is probably their Twitter account manager responding to your tweet.
I wonder if that's telling more about LinkedIn than Rust.
What exactly do you mean? I do have Rust as a "skill" on my LinkedIn, for what it's worth.
"Skills" is a free-form field, I can add "foobar cook" as a skill if I like.
I mean the "What kind of work you are open to" section that is relevant for being matched to open positions. I just rechecked a moment ago and still no way express that I am open for Rust positions.
This is what I've noticed in the real world working. I haven't seen much enthusiasm for it. I actuslly introduced it for a new experimental project and got a bunch of push back on it.
How many other people know Rust? Introducing a new language is a huge burden that needs some potential payoff.
This. Even if it's just an experimental project, at some point down the line if there's a possibility that it's going to have to integrate with the rest of the system - you've just introduced significant expectations for the existing and new developers on the team. While I don't think that rust has a huge learning curve, it's different enough that you can't just easily transition from a different high-level language.
I would never introduce a new language to an existing code base without an exceptionally good reason.
That's a catch 22 though. If you never introduce it no one will learn it?
The people that mattered were on board with the experiment though. It was a healthy enough environment that the project failing if it did wasn't going to be terrible for my career
There are an infinite number of things I could learn. There still needs to be a business rationale as to why a new technology stack should be introduced which outweigh the costs. Speed, memory safety, rate of errors, ability to hire talent, ease of deployment, whatever. Using it because one team member thinks the language is cool does not meet the bar.
I’ve been a developer since the 90s. Mainly on the JVM, some Objective-C, and too much JavaScript garbage. I would gladly take a junior position, making junior pay if I could get an entry-level Rust gig. I know that’s not going to happen, but I sure would like it too.
Too many rust jobs are in crypto or web3 stuff right now. Even if you like that tech, it's pretty undeniable that those industries are boom/bust and quite risky.
Seeing as I haven't worked in almost five months, that doesn't bother me at all.
I honestly have no idea what kind of developers are getting jobs in the current market. I have plenty of experience, but it's just not happening.
Be the change you want to see. I work at a polyglot company, and I intend to start using Rust for my own projects when it’s an appropriate fit (which it would be for a lot of the stuff I’m doing).
Sadly I'd need to get a job first then be credible enough to start working on an "exotic" language. It'd be nice to hit two birds with one stone but jobs in general are still far from bouncing back.
I did Rust full time in a senior position around 2020 for a year. It's interesting at first and then it gets tedious. I have no interest in going back to Rust.
> I have no interest in going back to Rust.
What are you doing instead? I'm curious what you're comparing it to.
I had an opportunity to get an entry-level Rust job, but I rejected it because it paid only $500/mo. Now I regret it.
At this rate, just take unpaid leave to learn Rust yourself.
That's not even close to minimum wage!
Depends in which country.
America's pathetically low Federal minumim wage is $7.25/hr. $1160/month before taxes.
But never mind minumum wage. Thars an insulting amount of money for a systems language that is generally wielded for safety critical tasks (or tasks that benefit from that mentality,).
You underestimate how poor Ukraine is. When I was in college, one of my teachers was a recent graduate, and when I talked to her, she said she was getting paid $200/mo, and she even added that she thought it was good for a young woman. But, shortly after, she left the job. I hope she's doing alright. So what I'm saying is that it's not really the company's fault, in fact they seemed nice, it's more like they probably just couldn't afford to pay more.
Yeah that's why I rejected it. I'm a Ukranian national and that was a remote job at a Ukranian company, and I had to reject it because I live in Canada. But now I think maybe it could have been worth it to accept it and just move to like Poland or something, but you never know.
Rent even in Romania is like 400 euros and you don't even get a good area / all that great apt for that. I rejected a job for 500e even in 2018 in Bucharest.
I pay around 700e per month (all expenses included) for a 2 room (br + living room) in a 2000+ apt building 10 minutes away by scooter from the center of Bucharest right now.
500 USD/month it's enough to survive in Poland anymore. Minimum monthly wage is $1173 before taxes or $883 after taxes and that's not enough to make a living if you have to rent.
There are fewer rust jobs, but those that are there are reallly pretty desperate. Most have stopped agreeing to train people because of the time involved, and the risk someone won’t really take to it. Learn rust in your own to a basic fluency and you’ll be able to find a job
Oh, I've taken the time to learn the language and tooling. It means I would take a junior position, and I don't mind that. I'm not chasing money anymore, I just want to enjoy what I do again, because I don't anymore.
So... Where are these jobs? I have basic fluency and I'll take anything.
I had 2 interviews for jobs that happened to use rust, but they were cut off early from hiring someone farther in the process.
I've talked to AI hardware companies using rust for firmware. A couple other companies needing firmware that decided to use rust. Another three companies doing firmware infrastructure in rust. One company doing wide area SDN services. Two database companies. Every single crypto/web3/defi company. Two groups doing datalog-esque work. Two cloud AI infrastructure companies.
1Password recently had job openings for Rust positions for interns. Wouldn't call them desperate.
Are posts not mentioning any languages? Are posts dwindling, which means Rust is actually going through the roof? Is some other language the one with rising demand?
Needs some kind of baseline ...
Yes, since everything is declining, I'm left assuming that this is just an absolute count not normalized for the total number of postings. And we're seeing the total number declining.
Maybe there's another language people are mentioning that isn't Rust, C++, or Python?
Me, on seeing the post: "I'm learning go. Oh my god am I making a mistake? Oh no. Oh no. Oh no."
Unless you're trying to work for a very specific Google team, probably. Not that I subscribe to the idea that engineers can't learn the tools on the job as long as they have fundamentals, but this market is so rough as is.
>As a proxy measure for programming language trends, let’s analyze the frequency of programming language mentions in the monthly “Ask HN: Who is hiring?” and “Ask HN: Who wants to be hired?” postings on Hacker News for a few years up until February 2025. Below are the graphs.
Thats terrible proxy
Bad for general trends for what jobs are you there. Good to help confirm a general trend of declining job posting and rising job seekers.
Honestly a bit surprised how steady the increase is. Guess that "the market will bounce back here" hasn't come true at any small point in time.
The article didn't claim it was a good proxy.
Those trendlines are somewhat bogus because there is a COVID induced bump [1] that is hidden here by the cutoff at 2021. Add another five years and the slopes will be less steep.
Still seems to be the same trend for everything except some certain web tech. Jobs today are roughly half of ore-covid levels.
I cannot quite replicate those results myself: https://github.com/gorkaerana/hn-programming-language-trends.
In my analysis, as a percentage of total job posts, Python jobs start to rapidly increase in 2022, even before the current AI craze started by the release of ChatGPT on November 20 2022. They peaked in 2024 and seem to have stalled since. Rust and C++ jobs (again, as a percentage of total job posts), have gone toe-to-toe since mid 2023.
That being said, many improvements to be done to my analysis, as it relies on simple word match.
I write rust, c++ and python for a living. All in the same project.
Learning rust was painfull.
I tolerate c++, but I find modern c++ hard to understand. I hate gcc c++ error messages. They are the worst kind of error messages that I know.
Using Python for system testing is a godsend. This is where it shines .. but using poetry for package management is painful.
Have you tried uv? I switched to it from poetry a couple months ago. It’s not perfect but I’m enjoying it a lot more than poetry.
I could switch and plan to evaluate it soon. :)
Quality of error messages is a really interesting quality metric. At the far worst end of the spectrum I nominate the latex compiler. "Missing $ inserted" anyone? What's the other extreme?
It should be a metric for compilers.
The Rust compiler is also hard to understand while learning the launage but it gets easier when you know more Rust.
I’m so confused by this graph, it seems to literally just confirm that hiring is way down across the board. The relationship between language popularity seems mostly the same (maybe less python?)
How is the hiring experience? I'm considering Rust (or Elixir, or Go) for the next project at work. We'd obviously need to be able to hire teammates or replacements (as I'm the only current employee with tons of experience beyond C#).
The chart titles say "frequency" but the y axis seems to be ambiguous about whether it's an absolute count of mentions or mentions-per-word or mentions-per-something-else.
The distinction is important because if it's an absolute count, I think these data would mostly just correlate with the job market overall. In that case, splitting it out by language is sort of uninteresting.
I wonder if Python knowledge is just assumed now. Whereas these other languages would not be...
You don't need "X language knowledge," you just need the general knowledge, and more importantly experience.
I wish this was true. You can't even get hired if you're proficient in a language, but don't know framework X. Which is understandable for, say Ruby (I don't know anyone who knows Ruby, but doesn't know Rails), but it's inexcusable for JavaScript. I've been programming JavaScript since like 1997. Sure, I'll pick up React no problem, but I won't be touching it unless I'm paid, because React is a disgrace.
But it's not just these languages. It's every other language pretty much. You want to be hired as Go dev? Better know how to use gRPC and Kafka. Java? Better know Spring. I can go on and on.
Unless someone can vouch for you at the company you're applying to, that's unfortunately the game that job seekers have to play.
> You can't even get hired if you're proficient in a language, but don't know framework X.
You can't even get past the very first screening filter. If job asks for, say, 5 years of experience with React, it doesn't matter if you have experience in any other frameworks but "only" 4yoe with React or less. You won't pass the first filter because 4<5.
Sucks if you don't want to lie.
> I've been programming JavaScript since like 1997. Sure, I'll pick up React no problem, but I won't be touching it unless I'm paid, because React is a disgrace.
At the beginning of the month I had an interview for a role that needed to extract a Node.js project to its own microservice. I have literally done this in production (but not Node.js). I have also migrated another project from NoSQL to SQL (but the project was not Node.js). I have developed microservices currently used in production (from design to Terraform to implementation).
But long story short, I didn't pass the initial interview because I haven't been paid to use Node.js during a recent 5-year job. The interviewer even asked, quoting to the best of my memory (and translating to English), "sorry, but none of this was with Node.js?". They were hyperfocused on Node.js as specific tech.
Previous production experience with Node.js? Experience with JavaScript/TypeScript in general? Doesn't matter.
That was not even worth the benefit of allowing me to pass to the technical interview to let me prove myself. And I wouldn't have even minded a live coding/pair-programming exercise.
It means I still need to work better on how I market myself to non-tech people.
> You want to be hired as Go dev? Better know how to use gRPC and Kafka.
And you better know Kubernetes (for some reason), or enjoy working on cryptocurrency projects.
I would argue that gRPC and Kafka is "general knowledge" in the sense that these are language-agnostic. In other words there is no requirement "Go language knowledge," but a requirement "gRPC and Kafka knowledge."
It really isn't. It's very much tied to certain stacks, while it's completely uncommon in others stacks, because they're solving the same problems in a different way. I've never touched it in my life. Sure, I can pick it up, but I fail to see how it should be considered common.
I see your point, but I still don't think you can just say "If you want to get a job as a Go developer, you must know gRPC." Even more so for Kafka, I've only heard about it being popular in the Java world. You can't even say "If you want to get a job as a Java developer, you must know Spring." Nowadays, sane Java projects use https://vertx.io, it's just too good. I would argue that Spring is for legacy projects only.
> You can't even say "If you want to get a job as a Java developer, you must know Spring."
Majority of job postings say otherwise.
(Any sane Java projects use Quarkus (which is build on top of Vert.x, but that’s besides the point))
> Majority of job postings say otherwise.
Isn't it because the majority of job postings are for legacy projects?
Also: glad I'm not the only one who uses nested parentheses.
I personally can't get hired because nobody is hiring for entry-level positions.
Well, how ironic we're in the same boat, it seems. Only I can't get hired because I'm 40 and have many years of experience and everyone seems to assume I'm either a snowflake or will cost them. Granted, I can only afford remote positions at the moment, but then I'm not asking for a lot of money either and I'm fairly easy going. I sure have my preferences, but they're few. What's really making it all unbearable is this leetcode and multiple-round-interviews are just exhausting and they don't lead anywhere, it seems. Nobody's even looking at your published open-source code (which is what I used to do first when I used to hire people). I don't really know if I'll ever work as a software-engineer ever again. Reduced to a hobby, I suppose.
Reaching 50, what keeps me going is enterprise consulting, I also doubt I would have much luck with product companies.
I also join the tone, if what a position is advising for isn't part of what I have done on the last 5 years, than crickets, regardless if I can prove the experience during the interview, or have used the technology further away than those 5 years.
Funnily enough, at the only coding interview I ever had, they specifically told me they won't ask leetcode questions, and they had me write some very simple React code. I think the companies that do those leetcode-style interviews are mostly just those big ones, where it's HR who decides how to interview. I would suggest looking for companies that are small enough to actually care.
Sadly the trends of the big company trickle down as well. I've been leetcoded at defense contractors and medium sized startups alike.
A large part of why I was hired for my current position is that I can explain why returning by move pessimizes NRVO and why an emplace taking a pr-value of the type it's constructing does nothing useful, and I know how to optimize type erasing templates and which compilers provide which opportunities with which attributes and intrinsics, because I read about C++ every day for years. I taught some of my interviewers a little bit about C++ they didn't know before. There were already people on this team with VASTLY greater experience than me overall, but every team needs a certain amount of language expertise to deliver the highest quality software they can. Someone needs to know it, and language esoterica is not something you just pick up without a specific interest in it.
Do you work on high performance/latency sensitive software? That makes total sense in that space, but I also have seen folks obsessing over performance details for contexts where it really doesn’t doesn’t matter at all.
They have a point, the knowledge of C++ compiler intricacies is definitely very valuable, but it can hardly be described merely as programming language knowledge and be compared to, say, Python knowledge.
Yeah, but hyperspecializing can be a trap early in your career, or in a weak market. It's perfect when they do look for it, vut I've sadly only had an interview where that would have been nice once in this current (overlong) job hunt.
To be fair, that assumption is highly dependent on the language. Highly unlikely you're going to get a job as a COBOL or Scala dev without prior experience in those languages (for all but the most entry-level positions).
Absolute numbers are on a downward trend. But how about relative interest as a percentage of total?
If im reading this right this counts the absolute number of mentions rather than relative.
Seeing as the number of job postings is rapidly decreasing (and presumably "Who is hiring" is increasing), the 'rising' trends here are greatly confounded.
Why just these three languages?
Might I suggest using `mdates.AutoDateLocator()` on your x-axis to reduce the number of date labels?
has anyone noticed how the hiring vs hired look like complement to each-other?
i.e. python is needed -> people learn it -> and then no need anymore -> lots of people with python looking for job..
Well, few people are scrambling for C++ jobs but it has a similar trend. I'm assuming it's something more general like influx of graduates into a weak market.
-> lots of people complaining that rust doesn't have a django alternative