Field note · April 25, 2025

What is deliberately wrong with data-job-postings

Thirty-five hundred data job ads with titles, seniority, location, remote policy, salary bands, and a pipe-delimited skills column that needs parsing before it is useful..

1 min read ·Data quality ·quality practice

What is deliberately wrong with data-job-postings.

3,500 rows, 11 columns, one row per posting. Thirty-five hundred data job ads with titles, seniority, location, remote policy, salary bands, and a pipe-delimited skills column that needs parsing before it is useful.

The skills column packs several values into one field with pipes — the single most common shape of "nearly tidy" data you will meet. Roughly 18% of postings omit salary entirely, and those are not missing at random: junior and non-US postings are likelier to hide it, so a salary average over the rows that do disclose is biased upward.

Something to try: Show that salary missingness is not random, then decide what to do about it. The SQL playground has it loaded already, and the data explorer will profile every column in one pass if you would rather look before you query.

sql
select *
from data_job_postings
limit 20;

The file is generated from a fixed seed, so the CSV you download today is byte-identical to the one from last year. That matters more than it sounds: it means a lesson can say "row 412 is the interesting one" and still be right in eighteen months.

Download it, break it, keep it. CC0 — no attribution required, no account, no email.