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 335 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 — 136 of 335.
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.
76,589 rows read, 335 postings published — 0.4%. 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 | 33 | 3 | €55,000 n=2 |
| München bayern | 27 | 4 | — |
| Unknown | 20 | 2 | €70,000 n=1 |
| Hamburg hamburg | 18 | 5 | €75,000 n=2 |
| Köln nordrhein_westfalen | 18 | 2 | €64,000 n=2 |
| Erlangen bayern | 15 | 0 | €70,000 n=4 |
| Stuttgart baden_wuerttemberg | 15 | 3 | €50,000 n=1 |
| Düsseldorf nordrhein_westfalen | 10 | 1 | €66,000 n=1 |
| Dresden sachsen | 9 | 2 | €75,000 n=1 |
| Frankfurt am Main hessen | 9 | 1 | €70,000 n=1 |
| Bad Grönenbach, Allgäu bayern | 7 | 0 | — |
| Hannover niedersachsen | 7 | 3 | €68,286 n=1 |
| Nürnberg, Mittelfranken bayern | 6 | 0 | — |
| Münster, Westfalen nordrhein_westfalen | 5 | 2 | €59,000 n=1 |
| Essen, Ruhr nordrhein_westfalen | 4 | 1 | — |
| Leipzig sachsen | 4 | 0 | — |
| Bonn nordrhein_westfalen | 3 | 1 | €50,044 n=1 |
| Donauwörth bayern | 3 | 0 | €60,500 n=2 |
| Duisburg nordrhein_westfalen | 3 | 0 | €60,000 n=1 |
| Garching bei München bayern | 3 | 0 | — |
| Karlsruhe, Baden baden_wuerttemberg | 3 | 0 | — |
| Oberkochen baden_wuerttemberg | 3 | 0 | €70,000 n=1 |
| Unterschleißheim bayern | 3 | 0 | — |
| Wiesbaden hessen | 3 | 0 | — |
| Biberach an der Riß baden_wuerttemberg | 2 | 0 | — |
| Bochum nordrhein_westfalen | 2 | 1 | — |
| Bremen bremen | 2 | 0 | — |
| Bönen nordrhein_westfalen | 2 | 0 | — |
| Chemnitz, Sachsen sachsen | 2 | 1 | €55,000 n=1 |
| Erfurt thueringen | 2 | 0 | — |
| Eschborn, Taunus hessen | 2 | 0 | — |
| Essenbach, Niederbayern bayern | 2 | 0 | — |
| Kamp-Lintfort nordrhein_westfalen | 2 | 1 | — |
| Kiel schleswig_holstein | 2 | 1 | €40,000 n=1 |
| Laupheim baden_wuerttemberg | 2 | 0 | — |
| Mainz am Rhein rheinland_pfalz | 2 | 0 | €65,000 n=2 |
| Manching bayern | 2 | 0 | €70,000 n=1 |
| Mannheim baden_wuerttemberg | 2 | 0 | €70,000 n=1 |
| Mülheim an der Ruhr nordrhein_westfalen | 2 | 0 | — |
| Nördlingen bayern | 2 | 0 | — |
| Oldenburg (Oldb) niedersachsen | 2 | 0 | — |
| Osnabrück niedersachsen | 2 | 1 | €59,500 n=2 |
| Potsdam brandenburg | 2 | 0 | — |
| Sankt Augustin nordrhein_westfalen | 2 | 0 | — |
| Schrobenhausen bayern | 2 | 0 | €55,000 n=1 |
| Ulm, Donau baden_wuerttemberg | 2 | 1 | — |
| Walldorf, Baden baden_wuerttemberg | 2 | 0 | — |
| Weil der Stadt baden_wuerttemberg | 2 | 1 | €52,500 n=2 |
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 |
|---|---|---|---|
| AWS cloud | €70,000 | €85,000 | 4 |
| BigQuery warehouse | €70,000 | €87,000 | 3 |
| dbt transformation | €70,000 | €85,000 | 4 |
| Docker platform | €70,000 | €85,000 | 3 |
| ETL / ELT concept | €70,000 | €82,000 | 25 |
| Java language | €70,000 | €87,500 | 4 |
| Kafka streaming | €70,000 | €85,000 | 5 |
| Kubernetes platform | €70,000 | €86,000 | 4 |
| Data Lake / Lakehouse concept | €70,000 | €83,500 | 10 |
| Snowflake warehouse | €70,000 | €85,000 | 5 |
| Data Warehouse concept | €70,000 | €81,000 | 8 |
| SAP platform | €69,143 | €83,500 | 8 |
| Azure cloud | €68,000 | €85,000 | 10 |
| Databricks platform | €68,000 | €87,500 | 4 |
| Spark processing | €67,500 | €85,000 | 8 |
| Azure Data Factory orchestration | €66,000 | €85,000 | 3 |
| Python language | €66,000 | €80,000 | 19 |
| SQL language | €66,000 | €85,000 | 19 |
| Power BI bi | €65,000 | €89,206 | 7 |
| Oracle database | €60,000 | €82,000 | 3 |
| 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
- 335 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.