๐Ÿ“Š Data Job Market Intelligence

An end-to-end pipeline that collects data-job postings from 6 public APIs, extracts the skills and salaries hidden in their text, and compares markets โ€” including a focus on Indonesia vs. remote-international roles.

Key findings

From ~440 postings across 5 markets and 6 sources. Directional, not definitive โ€” they sharpen as the collector accumulates data.

SQL + Python
dominate demand in every market โ€” the non-negotiable core for data roles.
$115k โ†’ $165k
median advertised salary rises Analyst โ†’ Scientist โ†’ ML Engineer (remote USD).
5 markets
Remote-international, US, Australia, Malaysia & Indonesia โ€” each tagged and comparable.

๐ŸŒ Indonesia vs. remote-international

The markets want different things โ€” useful if you're deciding which to target.

Indonesia (local)Remote-international
SQL 77%, Python 73%Python 57%, SQL 37%
Tableau 38%, Power BI 35% BI-heavyAWS 19%, Git 17% cloud/eng
ETL 35%, Airflow 27% data-engMachine Learning 33%

Indonesian roles lean analyst / BI (SQL + a BI tool are near-mandatory); remote roles lean Python + ML + cloud.

Charts

Generated reproducibly from the warehouse (python -m src.figures).

Most in-demand skills
Most in-demand skills across all postings.
Median salary by skill
Median advertised salary by skill (USD, advertised only).
Postings and pay by role
Volume and median pay by role family.
Skill co-occurrence
Which skills appear together (Python+SQL is the backbone).

How it works

Collect โ†’ normalize โ†’ extract skills โ†’ analyze โ†’ model โ†’ dashboard. Tested (41 unit tests) and reproducible.

Sourcing
6 public APIs (Remotive, Jobicy, RemoteOK, Adzuna, Jooble, JSearch) into one normalized, deduplicated warehouse.
Skill extraction
Curated taxonomy + a matcher that resolves ambiguous names (R vs "R&D", Java vs JavaScript, Excel vs the verb).
Modeling
Baseline-first, cross-validated salary model with honest error reporting and interpretable coefficients.

Honest by design: Adzuna-predicted salaries are excluded from pay stats; demand is audited per source (some APIs truncate descriptions); and Indonesian postings rarely advertise salary โ€” all stated openly rather than papered over.