Skip to content
>_ StartupJobList_

Historical Hacker News hiring advertisements

HN hiring posts: volume, timing and changing AI language.

Complete comparisons through June 2026.

The analyzed posting stream contained 3,786 eligible posts in 2025. That is 61.3% fewer than the observed 2021 peak of 9,780. The latest matched half-year changed by -1.2%.

Between those same complete-year endpoints, posts with detected AI-related language increased 18.7%. A rising language share and a growing posting stream are different findings.

These counts describe analyzed hiring advertisements on one website. A post can describe several roles or repeat an earlier advertisement. They do not count vacancies, unique employers, hires or the whole startup labor market.

2025 compared with 2024

+2.5%

3,786 posts versus 3,692

January–June 2026 compared with January–June 2025

-1.2%

1,831 versus 1,854 posts

Complete years with posts used for calendar comparisons

14

2012–2025, excluding partial and provisional years

The long-run size of the posting stream

A higher share for one kind of advertisement can coexist with fewer advertisements overall. Start with the size of the source before interpreting a percentage. The annual view includes only complete, non-provisional years.

Analyzed eligible hiring posts per complete year

Shared scale: zero to 9,780 posts. Cyan marks the latest complete year.

2012 2,266
2013 3,015
2014 3,892
2015 6,550
2016 7,406
2017 8,921
2018 9,160
2019 8,000
2020 6,750
2021 9,780
2022 7,201
2023 3,888
2024 3,692
2025 3,786
Month-by-month counts retain the variation hidden by yearly totals

Each point is one monthly count. Hollow amber points are provisional. Missing months have no point; they are not recorded zeros. These counts are not seasonally adjusted.

05001,000 20122014201620182020202220242026

Observed monthly records: Apr 2011–Aug 2026. The last non-provisional month is June 2026. Exact values are available below and in the download.

Exact annual totals and year-over-year changes
Complete-year hiring-post totals
YearPostsChange versus prior calendar year, complete periods only
20122,266Not available
20133,015+33.1%
20143,892+29.1%
20156,550+68.3%
20167,406+13.1%
20178,921+20.5%
20189,160+2.7%
20198,000-12.7%
20206,750-15.6%
20219,780+44.9%
20227,201-26.4%
20233,888-46%
20243,692-5%
20253,786+2.5%

Compare the same six months

January–June 2026 contained 1,831 analyzed eligible posts, compared with 1,854 in January–June 2025. The difference is -1.2%. Both windows contain six complete, non-provisional months. A full year would be the wrong baseline for this comparison.

Equal-period counts, shared scale zero to 1,854

January–June 2025 · Jan 2025–Jun 2025

Prior 1,854

January–June 2026 · Jan 2026–Jun 2026

Latest 1,831

The 2021 annual peak is useful historical context, not a neutral baseline for the latest period. Changing participation, posting conventions and where companies recruit can all affect the observed stream. These data do not identify the cause.

AI language and total posting volume can move differently

The observed peak and latest complete-year counts put language shares in the context of the source’s total size. The green segment counts posts with detected AI-related language. The gray segment is the remaining eligible posts, without detected AI language.

Same complete-year totals, separated by detected language

Shared scale: zero to 9,780 posts. Segment counts sum to each year's eligible total.

2021 · observed peak9,780 total

1,588 with detected AI language · 8,192 without detected AI language

2025 · latest complete year3,786 total

1,885 with detected AI language · 1,901 without detected AI language

Between these two years, the count with detected AI language changed by +18.7%. The complementary count changed by -76.8%. Read the counts together before interpreting the share.

A language mention does not identify an AI occupation, prove AI displaced a job, or show which tools a team uses. Detection may miss terms and its sensitivity can differ across eras. The AI Hiring Reality Report explains the language measure in more detail.

Calendar patterns depend on which years you compare

Dividing each month's count by its own year's total puts large and small years on the same footing. A month in an evenly distributed year would account for 8.33%. The heatmap shows each year's actual shares. Partial and provisional years are excluded.

Each cell: share of that year's posts, then the exact count
YearJanFebMarAprMayJunJulAugSepOctNovDec
20125.6%1277.8%1769.5%2157.9%1788.9%2018.6%1967.2%1639.5%2168%1819.8%2218.3%1899%203
20135.5%1656.4%1928.4%25410%3009.6%2907.6%2288.5%2579.2%2766.9%20812.1%3648.3%2497.7%232
20145%1947.6%2977.6%2968.2%3209.6%3737.9%3079.8%38011.3%4386.3%2478.4%3277.5%29210.8%421
20153.8%2486.9%4526.8%44510%6539.1%5948.1%53111.4%74710.9%7159.8%6428.5%5589.7%6375%328
20164.7%3468%5908.3%6127.3%5388.2%6079.6%7098.3%6189.3%6928.1%5989.7%71510.5%7818.1%600
20176.5%58210%8898.6%7637.6%6808.8%7837.8%6997.9%7037.6%6778.2%7299.3%8339.5%8508.2%733
20186.8%6258%7368.7%8018.8%80510%9197.9%7267.7%7028.9%8147.1%6529.2%8418.9%8187.9%721
20199.2%7328.4%6688.8%7038.8%7009.6%7687.8%6269%7198.6%6857.2%5778.5%6837.4%5916.9%548
20208.1%5458.1%5449.1%6136.3%4277%4717.1%4807.5%5099%6068.5%57410%6769.8%6599.6%646
20216.9%6769.1%8928.8%8588.5%8328.2%8019.3%9128.5%8298%7878.7%8557.5%7359.2%8967.2%707
20228.8%63610.6%76410.4%7479.9%71210.1%7269.4%6766.7%4868.3%5976.5%4706.1%4396.9%4976.3%451
20238.8%34210.6%4129.8%3818.2%3188.1%3148%3107.3%2848.4%3277.2%2797.6%2968.5%3307.6%295
20247%2588.6%3197.8%2887.4%27210%3688.6%3169.6%3568.2%3027.8%2878.5%3128.3%3088.3%306
20256.9%2629.7%3698.6%3257.5%2837.3%2788.9%3378.3%3137.6%2867.4%2828.6%3249.8%3729.4%355

One color scale across every year: below 7.5%, 7.5%–9.5%, above 9.5%. The exact percentages carry the result; darker or lighter cells alone do not establish a trend.

Median calendar share and middle-half spread across 14 complete years with posts

The line marks the median; each band contains the middle half of year-specific shares. This is variation across years, not a confidence interval. Every row uses the same scale.

Jan
6.9%
Feb
8.2%
Mar
8.7%
Apr
8.2%
May
9%
Jun
8%
Jul
8.3%
Aug
8.7%
Sep
7.6%
Oct
8.5%
Nov
8.7%
Dec
8%
0%12.1%

Cyan reference: 8.33%

A quiet January can reflect the year's direction

Annual normalization does not remove growth or decline inside a year. To check that problem, split each complete year by whether July–December contained more, fewer or exactly as many posts as January–June. This is a descriptive grouping, not a seasonal adjustment or a causal test.

More posts in July–December

9 complete years

5.6%

January's median share of its year's posts

January was the strict lowest month in 8 / 9 years. It tied for the lowest in 0.

Fewer posts in July–December

5 complete years

8.8%

January's median share of its year's posts

January was the strict lowest month in 2 / 5 years. It tied for the lowest in 0.

Equal half-year counts

0 complete years

No complete years in this group.

Read this check beside the pooled calendar profile. If January's pattern differs between the two directions, the pooled result cannot identify a dependable January lull. Even the grouping can contain genuine calendar effects. Separating those from trend would need a different model and evidence.

Month length, holidays, thread schedules and changes in who uses HN are not controlled here. ONS explains why seasonal adjustment separates calendar variation from longer-term movement. Our charts remain descriptive.

Exact calendar-profile values
Year-weighted monthly shares, medians and middle-half ranges
MonthYearsMedian share25th percentile75th percentile
Jan146.87%5.51%7.8%
Feb148.2%7.82%9.59%
Mar148.66%8.3%9.01%
Apr148.2%7.51%8.78%
May148.97%8.19%9.61%
Jun148.04%7.85%8.84%
Jul148.31%7.57%8.87%
Aug148.72%8.21%9.3%
Sep147.61%7.13%8.15%
Oct148.55%8.41%9.58%
Nov148.71%8.28%9.68%
Dec147.99%7.32%8.79%
The highest median month changes across periods
PeriodComplete yearsJanuary median shareLowest median month(s)Highest median month(s)
2012–201545.23%JanAug
2016–202056.82%JanNov
2021–202556.99%JanFeb

What to use these findings for

When exploring jobs

Use equal periods to interpret how much new material this source provides. Inspect the actual role and employer before applying. A smaller historical stream does not tell you your chance of being hired, and the calendar profile does not identify a best application date.

Browse salary-stated job posts

When planning recruitment

Keep posting volume separate from a technology or policy's share. Compare matching halves or complete years. Monitor the current thread and check its posting rules; this historical report does not measure reach, applicant quality, response rates or how long a vacancy stays open.

Read HN's posting guide

Check the exact monthly figures

Exact values for every plotted month
Observed monthly counts, including explicitly provisional periods
MonthEligible postsDetected AI languageWithout detected AI languagePeriod
2011-041708162Historical
2011-051828174Historical
2011-062007193Historical
2011-0718111170Historical
2011-081778169Historical
2011-0915610146Historical
2011-101569147Historical
2011-1119110181Historical
2011-1217313160Historical
2012-011278119Historical
2012-021769167Historical
2012-032159206Historical
2012-0417811167Historical
2012-0520118183Historical
2012-0619626170Historical
2012-0716315148Historical
2012-0821624192Historical
2012-0918121160Historical
2012-1022122199Historical
2012-1118915174Historical
2012-1220315188Historical
2013-0116514151Historical
2013-0219224168Historical
2013-0325426228Historical
2013-0430029271Historical
2013-0529023267Historical
2013-0622822206Historical
2013-0725721236Historical
2013-0827618258Historical
2013-0920823185Historical
2013-1036428336Historical
2013-1124924225Historical
2013-1223220212Historical
2014-0119411183Historical
2014-0229731266Historical
2014-0329629267Historical
2014-0432036284Historical
2014-0537336337Historical
2014-0630725282Historical
2014-0738039341Historical
2014-0843852386Historical
2014-0924732215Historical
2014-1032734293Historical
2014-1129232260Historical
2014-1242146375Historical
2015-0124826222Historical
2015-0245246406Historical
2015-0344536409Historical
2015-0465359594Historical
2015-0559465529Historical
2015-0653155476Historical
2015-0774770677Historical
2015-0871569646Historical
2015-0964271571Historical
2015-1055846512Historical
2015-1163764573Historical
2015-1232845283Historical
2016-0134642304Historical
2016-0259070520Historical
2016-0361270542Historical
2016-0453866472Historical
2016-0560782525Historical
2016-0670979630Historical
2016-0761877541Historical
2016-0869293599Historical
2016-0959884514Historical
2016-1071582633Historical
2016-11781123658Historical
2016-1260075525Historical
2017-0158280502Historical
2017-02889122767Historical
2017-03763106657Historical
2017-04680110570Historical
2017-05783131652Historical
2017-06699117582Historical
2017-07703131572Historical
2017-08677118559Historical
2017-09729133596Historical
2017-10833148685Historical
2017-11850143707Historical
2017-12733138595Historical
2018-01625111514Historical
2018-02736139597Historical
2018-03801139662Historical
2018-04805161644Historical
2018-05919163756Historical
2018-06726129597Historical
2018-07702133569Historical
2018-08814156658Historical
2018-09652125527Historical
2018-10841147694Historical
2018-11818151667Historical
2018-12721135586Historical
2019-01732144588Historical
2019-02668130538Historical
2019-03703122581Historical
2019-04700132568Historical
2019-05768137631Historical
2019-06626105521Historical
2019-07719136583Historical
2019-08685116569Historical
2019-0957799478Historical
2019-10683137546Historical
2019-1159195496Historical
2019-12548103445Historical
2020-0154595450Historical
2020-0254495449Historical
2020-03613112501Historical
2020-0442794333Historical
2020-0547193378Historical
2020-0648083397Historical
2020-0750990419Historical
2020-08606101505Historical
2020-09574113461Historical
2020-10676125551Historical
2020-11659116543Historical
2020-12646124522Historical
2021-01676108568Historical
2021-02892160732Historical
2021-03858138720Historical
2021-04832138694Historical
2021-05801116685Historical
2021-06912142770Historical
2021-07829148681Historical
2021-08787117670Historical
2021-09855146709Historical
2021-10735125610Historical
2021-11896130766Historical
2021-12707120587Historical
2022-01636104532Historical
2022-02764134630Historical
2022-03747140607Historical
2022-04712130582Historical
2022-05726144582Historical
2022-06676116560Historical
2022-0748693393Historical
2022-08597114483Historical
2022-09470104366Historical
2022-1043981358Historical
2022-11497111386Historical
2022-1245198353Historical
2023-0134267275Historical
2023-0241299313Historical
2023-0338188293Historical
2023-0431875243Historical
2023-0531481233Historical
2023-0631082228Historical
2023-0728483201Historical
2023-0832788239Historical
2023-0927992187Historical
2023-1029693203Historical
2023-1133099231Historical
2023-1229593202Historical
2024-0125894164Historical
2024-0231996223Historical
2024-0328890198Historical
2024-0427295177Historical
2024-05368135233Historical
2024-06316113203Historical
2024-07356127229Historical
2024-08302118184Historical
2024-09287106181Historical
2024-10312103209Historical
2024-11308131177Historical
2024-12306129177Historical
2025-01262111151Historical
2025-02369147222Historical
2025-03325138187Historical
2025-04283147136Historical
2025-05278129149Historical
2025-06337166171Historical
2025-07313156157Historical
2025-08286156130Historical
2025-09282145137Historical
2025-10324177147Historical
2025-11372217155Historical
2025-12355196159Historical
2026-01241138103Historical
2026-02386228158Historical
2026-03303176127Historical
2026-04316190126Historical
2026-05298163135Historical
2026-06287176111Historical
2026-07245139106Provisional
2026-0821814375Provisional

Source and method

Counts come from analyzed top-level hiring advertisements in the standard monthly Hacker News threads. The isolated 2008 thread is outside this comparison. Missing months are not converted into zero-post months. A full calendar year needs all twelve observed months and no provisional month; a matched half needs the same six months in both years.

Calendar shares divide a month's eligible count by its own complete year's total. Medians and quartiles then give each complete year equal weight. They describe variation across observed years. Classification can miss or misread posts, and platform participation can change. These are not official labor-market estimates: BLS defines job openings as unfilled positions at the last business day of a month, a different quantity.

Dates, calculation basis and citation

Published 11 October 2026. Source observations through 24 August 2026. Latest complete matched comparison: June 2026. These dates describe different events.

Observed monthly records span April 2011–August 2026; provisional periods remain separate from complete comparisons. Empty or partial years do not enter the calendar profile. The observed peak is selected from the available complete years.

Cite as: “Hacker News hiring-post activity, analyzed by StartupJobList,” with the period and a link to this report. Source: Hacker News Who Is Hiring. StartupJobList is not affiliated with Hacker News or Y Combinator.

Data version: d49489d2354c16bb1232361ec14df62df51483b66170d2f22da81f1c456b8390