Measuring how sentiment in four computer-science job-market communities on Reddit
changed across the pre-COVID, COVID, and post-COVID periods.
Anahita Memar & Nifemi Lawal
University of Kansas · EECS 767 · Spring 2026
Abstract
We collected 1.54 million posts from four Reddit communities that discuss the
computer-science job market — r/jobs, r/cscareerquestions, r/csmajors, and
r/recruitinghell — spanning 108 months from 2017 to 2025. Each post is labeled by a
logistic-regression classifier trained on the 1.6-million-tweet Sentiment140 corpus, and
the results are aggregated by month, community, and topic. Positive sentiment falls from
52.0% before the pandemic to 46.5% afterward. The lowest sentiment appears in posts about
layoffs (22.4% positive) and compensation (30.2%), while discussion of AI and large
language models grows sharply after 2022.
1.54M
Reddit posts labeled
108
months, 2017–2025
4
communities
48.3%
positive overall
1.6M
training tweets
1Motivation
Between 2017 and 2025 the computer-science job market moved through a hiring boom, a
pandemic, a broad correction in tech hiring, and the arrival of generative AI. Each of these
shifts was discussed on Reddit in real time, often well before it showed up in official labor
statistics. We wanted to know whether that discussion carries a measurable signal: does the
sentiment of what people write about the CS job market track the market's turns, and how does
it differ between communities and between the topics people raise?
Reddit is not a representative sample of the labor market, and online discussion skews toward
people with a question or a complaint. But it is large, timestamped, and public, which makes
it a practical source for measuring how one community's mood changes over an eight-year
window. We treat the result as a descriptive signal, not a forecast.
2Data and methods
The project runs as a sequence of small, self-contained scripts, so the pipeline can be
re-run end to end from the raw data to the tables and figures shown below. It has four parts.
Model
We trained a sentiment classifier on Sentiment140, a corpus of 1.6 million tweets each
labeled positive or negative. Text is turned into features with TF‑IDF. We compared
logistic regression against multinomial naive Bayes on a held-out split; logistic regression
performed better and was used for all inference. Training on tweets and applying the model to
Reddit introduces a domain mismatch, which we return to under limitations.
Corpus
We filtered public submissions from the four subreddits, merged and de-duplicated them, and
combined each post's title and body into a single text field for the model to label. This
produced 1,535,813 labeled posts across 108 months.
Aggregation
Each post is assigned a calendar month and one of three periods: pre-COVID (2017–2019),
COVID (2020–2021), and post-COVID (2022 onward). We also tag posts into six
keyword-defined topics — recruiting pipeline, compensation, work mode, companies,
layoffs and market, and AI/LLM. A post may carry more than one tag; 807,244 posts (52.6%)
received at least one.
Reporting
A final step writes the summary tables and figures below, and records — for each of the
four research questions in Section 4 — whether the assembled dataset is positioned
to test it.
Stage
What it does
Code
Train
Fit and select the sentiment classifier on Sentiment140
src/training/
Build
Filter, merge, clean, and label the Reddit corpus
src/pipeline/
Analyze
Group by month and period; tag topics; compare
src/analysis/
Report
Check research questions; write tables and figures
Across the whole corpus, 48.3% of posts are labeled positive. Averaged by period, the
positive rate falls from 52.0% before the pandemic to 49.0% during it and 46.5% afterward.
The monthly series makes the timing visible: sentiment is highest and steadiest in
2017–2019, drops during the pandemic years, and settles into a lower, choppier band
once tech hiring tightens after early 2022.
Figure 1. Monthly positive-sentiment rate, January 2017 through December 2025. The shaded band marks the COVID period as defined in the analysis (calendar years 2020–2021).
Figure 2. Positive-sentiment rate by market period (left) and by community (right). Community mood spans roughly twenty points, from r/csmajors at 59.1% to r/recruitinghell at 39.6%.
Community matters as much as timing
The gap between communities is wider than the gap between periods. Posts in r/csmajors
(59.1% positive) and r/cscareerquestions (56.48%) — communities centered on students and
early-career questions — run well above the corpus average. Posts in r/jobs (42.1%) and
r/recruitinghell (39.6%), where people more often arrive to vent a rejection, run well below
it. Any read of the overall trend has to account for how much of the volume comes from which
community.
Layoffs and pay are the most negative topics
Sentiment varies sharply by subject. Posts tagged layoffs and market are only 22.4%
positive — the lowest of any topic — followed by compensation (30.2%) and
work mode (31.0%). At the other end, posts naming specific companies are
59.0% positive and AI/LLM posts are near the average at 49.7%. The
recruiting pipeline topic is by far the largest, covering 645,071 posts (42% of the
corpus), at 45.5% positive.
Figure 3. Positive-sentiment rate by topic. Bars are colored by topic and reused in Figure 4. Hover a bar for the topic's definition.
AI discussion rises fastest after 2022
Indexing each topic to 100 at its first active month isolates the shape of its growth
independent of its size. On that basis, AI/LLM discussion climbs faster than any other topic
from 2022 onward, and posts about layoffs and compensation also grow through the post-COVID
correction — the same period in which overall sentiment sits at its lowest.
Figure 4. Topic volume over time, indexed to 100 at each topic's first active month, so trends of different sizes can be compared by shape. Click a legend entry to hide or show a topic.
4Questions the data is positioned to test
We framed four questions before the analysis. The reporting step records, for each one,
whether the assembled dataset is large enough and structured to test it. Confirming them with
formal significance testing is future work; the notes below give the counts the assessment is
based on.
5Limitations and future work
Limitations
The training labels come from Sentiment140 (Twitter), so a domain mismatch with Reddit can affect accuracy.
Topic tagging is keyword-based and can miss nuanced phrasing or implicit context.
The classifier does not reliably capture sarcasm or more complex discourse.
Reddit reflects community discussion, not the full CS job-market population.
The results are correlational and should not be read as causal.
Future work
Fine-tune the sentiment model on Reddit-native labeled data for a closer domain fit.
Replace keyword tagging with a semantic topic classifier.
Extend the analysis to comment threads and to individual users over time.
Bring in external labor-market indicators to contextualize the trend.