Most requested data engineering skills in Germany
Share of postings naming each tool. A posting counts once per tool, however often it is mentioned.
Share of the 401 postings carrying a description long enough to read requirements from.
Do data engineering jobs in Germany require German?
The first question anyone moving to Germany asks, and the one no other job-market tracker answers. Only an explicit competency phrase counts — most German postings are written in German regardless — so this is a floor, not a ceiling.
of postings state a German-language requirement — 165 of 401.
What the published number is a share of
Most job-market trackers give you a count and not the attrition behind it. These are the stages the pipeline applies, in order, from the rows it read to the postings these figures are built on.
69,227 rows read, 401 postings published — 0.6%. The right-hand column is each stage's share of the rows read, not of the stage above it.
Data engineering jobs by city
Cities with at least two postings. Salary is advertised, not paid, and only a minority of postings state one — the count behind every median is printed beside it.
| City | Postings | Home office | Median salary |
|---|---|---|---|
| Berlin berlin | 40 | 14 | €55,000 n=2 |
| München bayern | 39 | 3 | — |
| Hamburg hamburg | 27 | 11 | €75,000 n=2 |
| Unknown | 22 | 2 | €70,000 n=1 |
| Frankfurt am Main hessen | 21 | 2 | €59,000 n=3 |
| Köln nordrhein_westfalen | 19 | 3 | €58,000 n=1 |
| Stuttgart baden_wuerttemberg | 18 | 3 | €50,000 n=1 |
| Erlangen bayern | 14 | 0 | €70,000 n=6 |
| Dresden sachsen | 11 | 3 | €75,000 n=1 |
| Düsseldorf nordrhein_westfalen | 10 | 2 | €72,724 n=1 |
| Hannover niedersachsen | 8 | 3 | €68,286 n=1 |
| Bonn nordrhein_westfalen | 7 | 2 | €55,022 n=2 |
| Bad Grönenbach, Allgäu bayern | 5 | 0 | — |
| Essen, Ruhr nordrhein_westfalen | 5 | 2 | — |
| Karlsruhe, Baden baden_wuerttemberg | 5 | 0 | €70,000 n=3 |
| Münster, Westfalen nordrhein_westfalen | 5 | 3 | — |
| Ratingen nordrhein_westfalen | 5 | 1 | — |
| Nürnberg, Mittelfranken bayern | 4 | 0 | — |
| Ulm, Donau baden_wuerttemberg | 4 | 2 | — |
| Donauwörth bayern | 3 | 0 | €60,500 n=2 |
| Dortmund nordrhein_westfalen | 3 | 0 | €57,600 n=1 |
| Duisburg nordrhein_westfalen | 3 | 0 | €60,000 n=1 |
| Kiel schleswig_holstein | 3 | 1 | €40,000 n=1 |
| Leipzig sachsen | 3 | 0 | — |
| Wiesbaden hessen | 3 | 0 | — |
| Bad Homburg vor der Höhe hessen | 2 | 0 | €103,380 n=1 |
| Bochum nordrhein_westfalen | 2 | 1 | — |
| Bremen bremen | 2 | 0 | — |
| Burgwedel niedersachsen | 2 | 0 | — |
| Chemnitz, Sachsen sachsen | 2 | 1 | €55,000 n=1 |
| Essenbach, Niederbayern bayern | 2 | 0 | — |
| Kamp-Lintfort nordrhein_westfalen | 2 | 1 | — |
| Kassel, Hessen hessen | 2 | 1 | — |
| Mainz am Rhein rheinland_pfalz | 2 | 0 | €65,000 n=2 |
| Manching bayern | 2 | 0 | €70,000 n=1 |
| Mannheim baden_wuerttemberg | 2 | 0 | — |
| Mülheim an der Ruhr nordrhein_westfalen | 2 | 0 | — |
| Neuss nordrhein_westfalen | 2 | 1 | — |
| Nördlingen bayern | 2 | 0 | — |
| Oberkochen baden_wuerttemberg | 2 | 0 | €70,000 n=1 |
| Potsdam brandenburg | 2 | 0 | — |
| Rosenheim, Oberbayern bayern | 2 | 0 | — n=1 |
| Sankt Augustin nordrhein_westfalen | 2 | 0 | — |
| Schrobenhausen bayern | 2 | 0 | €55,000 n=1 |
| Walldorf, Baden baden_wuerttemberg | 2 | 0 | — |
| Weil der Stadt baden_wuerttemberg | 2 | 1 | €52,500 n=2 |
| Weiterstadt hessen | 2 | 0 | — |
Advertised data engineering salaries by tool
Median advertised salary for postings naming each tool, where at least three state a figure. A median over four postings is not a market rate, which is exactly why the count is beside it.
| Tool | Median from | Median to | Postings |
|---|---|---|---|
| Databricks platform | €70,000 | €85,000 | 5 |
| dbt transformation | €70,000 | €85,000 | 8 |
| Java language | €70,000 | €85,000 | 5 |
| SAP platform | €70,000 | €83,500 | 10 |
| Snowflake warehouse | €70,000 | €85,000 | 8 |
| Terraform platform | €70,000 | €85,000 | 3 |
| Data Warehouse concept | €70,000 | €80,000 | 9 |
| ETL / ELT concept | €69,143 | €82,000 | 26 |
| Power BI bi | €68,286 | €89,206 | 7 |
| AWS cloud | €67,500 | €82,500 | 8 |
| BigQuery warehouse | €67,500 | €86,000 | 4 |
| Docker platform | €67,500 | €85,000 | 4 |
| SQL language | €66,643 | €83,500 | 24 |
| Airflow orchestration | €65,000 | €80,000 | 6 |
| Kafka streaming | €65,000 | €85,000 | 7 |
| Kubernetes platform | €65,000 | €85,000 | 7 |
| Data Lake / Lakehouse concept | €65,000 | €81,000 | 12 |
| Spark processing | €65,000 | €80,000 | 11 |
| Google Cloud cloud | €62,500 | €77,500 | 4 |
| Azure cloud | €60,000 | €80,000 | 11 |
| Oracle database | €60,000 | €82,000 | 3 |
| PostgreSQL database | €60,000 | €81,600 | 4 |
| Python language | €60,000 | €80,000 | 27 |
| SQL Server database | €54,500 | €77,000 | 6 |
How this is measured
- Source
- The Bundesagentur für Arbeit's public job API — Germany's official federal job database — and the Arbeitnow board. Both are public APIs. Nothing here is scraped.
- Scope
- Data engineering, analytics engineering, BI and data analyst roles advertised in Germany. A posting enters only where Germany is established: stated by the source, or resolved from the location text against place names the federal database itself reports. Unknown stays out rather than being assumed German.
- Denominator
- 401 postings carried a description long enough to read requirements from. Every percentage on this page is a share of that number, never of all postings ever seen. A posting counts while the sources are still listing it — for 7 days after it was last seen, so a filled vacancy leaves these figures rather than inflating them forever.
- Deduplication
- The same vacancy is routinely syndicated to several boards, so postings are collapsed on employer and title. The key is approximate: an employer advertising two genuinely different roles under one title is merged into one.
- What moves these numbers
- Each run is a fresh sample of what is advertised that morning, so the figures move both because the market moves and because the sample does. Read a one-day change as noise; read a direction over weeks.
- Open
- The pipeline, the models, the tests and every daily snapshot are public at github.com/atakrk/de-jobs-pipeline. Any figure here traces back to the run that produced it.