Public data

Hacker News "Who Is Hiring" Jobs Dataset

Fifteen years of software job ads, parsed into columns — 93,339 posts across 183 monthly threads, from March 2011 to August 2026. Every ad tagged with the languages and tools it names, the role family, whether it is remote, and whether it is in the US or Europe.

Rows
93,339
Columns
20
Format
Parquet
Size
2.2 MB
Licence
Derived structured data, CC BY 4.0. Post text is not included.
Updated
August 27, 2026

Source: Hacker News "Ask HN: Who is hiring?" threads, via the HN Search API · Licence: Derived structured data, CC BY 4.0. Post text is not included.

93,339 rows · 20 columnsLoading…
First 12 rows of the Hacker News "Who Is Hiring" Jobs Dataset
#Post IDMonthYearPosted onThread IDOriginal postCompanyFollows formatLocation textRegionRemoteOnsiteRole familyTechnologiesTechnology countLanguagesLanguage countPost lengthPosts that monthRemote rate that month
149,156,6892026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156689Snout https://snout.com/trueMultiple Engineering + Product RolesUnited StatestruefalseEngineering (general)Python|JavaScript|TypeScript|React|Node.js|PostgreSQL|AWS|LLM8Python|JavaScript|TypeScript32,1462380.50
249,156,7022026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156702Flywheel Motion ( https://flywheelmotion.com/?utm_source=hackernews )trueREMOTE (worldwide)UnknowntruefalsenullTypeScript1TypeScript11,2752380.50
349,156,7112026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156711Open Education Applications / NeontrueSenior/Lead Platform & DevOps Engineer, Senior Frontend Engineer, Senior Full-StEuropefalsefalseDevOps / SREPython|TypeScript|React|PostgreSQL|Kubernetes|Terraform6Python|TypeScript21,0712380.50
449,156,7162026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156716PostHogtrueFull-TimeUnknowntruefalseMachine learningnull0null08132380.50
549,156,7242026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156724SmarterDxtrue150-250k+ + equity + benefitsUnited StatestruefalseMachine learningLLM1null01,6432380.50
649,156,7302026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156730Shepherd (Series B)trueONSITEUnited StatesfalsetrueMachine learningTypeScript|React|Node.js|Next.js|PostgreSQL|Redis|GraphQL7TypeScript11,6002380.50
749,156,7372026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156737SenzingtruePlatform EngineerUnited StatestruefalseDevOps / SREPython|Rust|Scala|PostgreSQL|AWS|Kubernetes|Terraform7Python|Rust|Scala31,2372380.50
849,156,8192026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156819Kyra HealthtrueSenior & Staff Product EngineersUnited StatestruefalseEngineering (general)Python|TypeScript2Python|TypeScript21,1772380.50
949,156,8452026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49156845Temporal TechnologiestrueMultiple positions in United States - WORK FROM HOMEUnited StatesfalsefalseEngineering (general)null0null01,6312380.50
1049,157,0802026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49157080MarpletrueSoftware EngineerEuropefalsetrueEngineering (general)Python|TypeScript|PostgreSQL|AWS|Kubernetes|Docker6Python|TypeScript26762380.50
1149,157,0952026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49157095Palace CybersecuritytrueFounding Deep Learning EngineerUnited StatestruefalseMachine learningSnowflake|TensorFlow|PyTorch|Spark4null09222380.50
1249,157,1292026-082,0262026-08-0149,156,683https://news.ycombinator.com/item?id=49157129ChecklytrueSenior Sales Engineer, Sales EngineerMultipletruefalseEngineering (general)JavaScript|Node.js2JavaScript11,4392380.50

What’s in the file

20 columns over 93,339 rows. Distinct counts and null rates are measured from the file itself, not estimated.

ColumnTypeDescriptionDistinctNull
post_idnumberBIGINTHacker News item id for the ad. Unique, and the key to the original post.2391945 → 4933650293,3390%
posted_monthtextVARCHARMonth of the thread the ad appeared in, as YYYY-MM. One thread per month.1830%
posted_yearnumberINTEGERYear of the thread, split out so it can be filtered numerically.2011 → 2026160%
posted_ondateDATEFirst of the thread month, as a date. Convenient for plotting a time series.2011-03-01 → 2026-08-011830%
thread_idnumberBIGINTHacker News item id of the monthly thread this ad was posted in.2391828 → 491566831850%
hn_item_urltextVARCHARLink to the ad on Hacker News. The post text itself is not in this file.93,3390%
companytextVARCHARFirst field of the headline, kept only when it does not read like a job title — a good number of ads lead with the role instead, and recording those as company names would be wrong.22,10526.0%
is_structuredbooleanBOOLEANWhether the headline has at least three pipe-separated fields, the format the thread asks for. True for about three quarters of ads.20%
location_texttextVARCHARSecond headline field, verbatim. Free text — "Berlin", "SF or Remote", "EU".23,21824.8%
regiontextVARCHARUnited States, Europe, Multiple or Unknown, resolved from the headline against a city and country list. Multiple means both were named.40%
is_remotebooleanBOOLEANWhether the ad says REMOTE. The convention is well observed in these threads.20%
is_onsitebooleanBOOLEANWhether the ad says ONSITE. Both flags can be true for a hybrid role.20%
role_familytextVARCHAROne of thirteen families — Machine learning, Frontend, DevOps / SRE and so on — matched from the headline, falling back to the opening line. NULL where no role is named.1326.2%
technologiestextVARCHAREvery technology named anywhere in the ad, pipe-delimited. Split them with string_split(technologies, '|').14,00532.8%
tech_countnumberINTEGERHow many of the 55 tracked technologies the ad names. Zero for a third of ads.0 → 28220%
languagestextVARCHARThe subset of technologies that are programming languages, pipe-delimited.1,73343.4%
language_countnumberINTEGERHow many distinct programming languages the ad names.0 → 14130%
post_charsnumberINTEGERCharacters in the ad once markup is stripped. A proxy for how much detail it gives.30 → 85143,5030%
month_post_countnumberBIGINTTotal ads in the same thread. The denominator that turns a raw count into a share — without it, a busy thread reads as a hiring trend.1 → 11231650%
month_remote_ratenumberDOUBLEFraction of that month’s ads mentioning remote, 0–1. Same for every row in a month.0.0 → 0.84131810%

Things worth noticing

Put an agent on it

Anything you were about to do with this file by hand is a job that runs every week forever. Each of these is a working prompt — open it and it is already loaded.

Monthly hiring-signal brief

Reads each new thread as it posts and reports what moved against the trailing year — which technologies gained ads, which roles thinned out, how the remote share shifted.

On the first working day of each month, read the newest "Ask HN: Who is hiring?" thread and compare it against the trailing twelve months in this dataset.

Report:
- Total ads this month against the 12-month average, as a count and a percentage
- The five technologies that gained the most share, and the five that lost the most, each with both percentages
- Remote share this month against the same month last year
- Any role family whose share moved more than 3 percentage points
- The split between United States and Europe, and whether it moved

Write it as six sentences with the numbers inline. Lead with the single biggest move. If the month is unremarkable, say that in one line rather than manufacturing a narrative.

Competitor hiring watch

Tracks the companies you name across the monthly threads and tells you what their ads reveal — new stacks, new roles, new offices — which is often the earliest public signal of a change in direction.

Track this list of companies across the monthly Hacker News hiring threads: [list them here].

Each month, for any that posted, report:
- Which roles they advertised, and how that differs from their previous posts
- Any technology that appears in their ad for the first time, or has disappeared from it
- Any change in location or remote policy
- How often they have posted over the last two years, and whether the rate is rising or falling

Flag explicitly when a company that posted consistently stops, and when one starts advertising a role family it never has before — a first ML or infrastructure hire says more about direction than a press release does.

Stack-adoption curve

Turns a technology into its adoption curve — share of ads by month since first appearance, against comparable technologies at the same age — so a stack decision has evidence behind it.

I will name a technology, for example "Rust" or "Kubernetes".

From this dataset, build its adoption curve: share of all ads mentioning it, by month, from its first appearance to now. Then:
- Identify the month it crossed 1% and the month it crossed 5%, if it has
- Compare its first 36 months against the first 36 months of two or three comparable technologies, aligned to each one's own start rather than to calendar time
- Split the current share by region and by role family
- Say whether the trailing 12 months are rising, flat or falling, with the numbers

Finish with three sentences on whether the curve looks like early adoption, a plateau, or a decline — and note where the Hacker News skew towards startups is likely to overstate the case.

Every one of these runs against your own data too — swap hacker news "who is hiring" jobs dataset for your warehouse, your CRM or a spreadsheet, and the agent is unchanged.

Load it yourself

The file is a plain parquet. Nothing here is specific to us.

-- No download step: DuckDB reads the parquet over HTTP range requests.
INSTALL httpfs;
LOAD httpfs;

CREATE VIEW hacker_news_who_is_hiring AS
SELECT * FROM read_parquet('https://cotera.co/datasets/hacker-news-who-is-hiring.parquet');

SELECT * FROM hacker_news_who_is_hiring ORDER BY post_id LIMIT 20;

Frequently Asked Questions

More datasets

WHAT ARE YOU WAITING FOR?

Ready to build?

Stop duct-taping tools.

Stop writing playbooks no one follows.

Start building agents that actually do the work—and do it well.

Cotera: For people who think busywork is boring.

"This is the best product ever when it comes to shipping. Ten on ten recommended. I just can't wait to see what happens with this product."

Rebecca Blount

Director, Customer Success