Skip to content
getdataengineeringjobs

Python, SQL… and What Else? Programming Languages in Data Engineering Jobs

How often Scala, Java, Go and Rust appear in 1,738 data engineering jobs, which roles and industries ask for them, and which one to learn after Python and SQL.

By Adyl · · 13 min read

Every data engineering job seems to ask for Python and SQL, and the data confirms it. The harder question is what to learn after them. Scala, because Spark is written in it? Java, because Kafka is? Go, because platform teams like it? Or should you skip a third language and go deeper on what you know?

To answer it, we looked at every data engineering job its employer posted between 1 and 31 October 2026 that passed our moderation: 1,738 jobs at 730 companies, collected from company career pages, ATS boards, job boards and Hacker News, with duplicates merged. For each job we recorded the programming languages it names, and whether it lists each one as required or nice-to-have.

The short version

  • Python (71% of jobs) and SQL (66%) are the baseline. Half of all jobs (52%) name both. SQL is almost never optional: it’s required in 98% of the jobs that name it.
  • About one job in four (27%) names a third language, and one in six (17%) requires one. Java (10%), Scala (9%) and Go (7%) lead. TypeScript (4%) and Rust (3%) follow at a distance.
  • Each of those languages belongs to a different kind of job. Scala comes with Spark: 80% of Scala jobs name it. Java comes with Kafka and Flink. Go comes with Kubernetes and platform teams: 79% of Go jobs are platform roles.
  • Industries differ sharply. Software and AI companies ask for Go and Rust, European consulting firms ask for Scala, and finance and healthcare rarely ask for anything beyond Python and SQL.
  • Analytics engineers can mostly skip a third language. Only 12% of analytics engineering jobs name one.

The ranking

Programming languages in 1,738 data engineering jobs, split into required and nice-to-have: Python 1,235 jobs (71%), 86% required; SQL 1,140 (66%), 98%; Java 170 (10%), 64%; Scala 149 (9%), 64%; Go 113 (7%), 59%; TypeScript 76 (4%), 53%; Rust 47 (3%), 40%; JavaScript 41 (2%), 46%; C++ 37 (2%), 57%; Bash 36 (2%), 75%

Language Jobs naming it Share of all jobs Required when named Strict view
Python 1,235 71% 86% 79%
SQL 1,140 66% 98% 96%
Java 170 10% 64% 50%
Scala 149 9% 64% 53%
Go 113 7% 59% 48%
TypeScript 76 4% 53% 44%
Rust 47 3% 40% 15%

Some jobs put every skill in a single requirements list, and we count everything in such a list as required. The strict view therefore repeats the count using only jobs that list at least one nice-to-have, so we know the employer drew the line. Python and SQL barely move. Java, Scala and Go fall to about a coin flip. Rust is the most optional language in data engineering: in jobs that separate the two lists, it’s a nice-to-have 85% of the time.

Further down the list come JavaScript (41 jobs), C++ (37), Bash (36), R (28), Kotlin (18) and C# (13). Counted together, JVM languages (Java, Scala or Kotlin) appear in 247 jobs, 14% of the market. Java and Scala often appear in the same job (75 jobs).

Python and SQL: the baseline

How the 1,738 jobs combine Python and SQL: both 52% (912 jobs), Python without SQL 19% (323), SQL without Python 13% (228), neither 16% (275). 465 jobs (27%) name a third language and 303 (17%) require one

The two lead in different places. SQL dominates analytics engineering: it’s named in 89% of those jobs, against 68% for Python. Python leads in platform, DataOps and MLOps roles (67% against 31%), where the work is closer to software engineering than to modelling data. Core data engineering jobs name both equally (78% each).

Of the 275 jobs that name neither, 220 name no programming language at all. 129 of those list tools, such as Spark, Databricks or Azure Data Factory, without naming a language.

Which roles ask for which language

Share of jobs in each role category naming each language. Core data engineering (919 jobs): Python 78%, SQL 78%, Java 11%, Scala 11%, Go 2%, Rust 0%, TypeScript 5%. Platform, DataOps and MLOps (426 jobs): Python 67%, SQL 31%, Java 14%, Scala 8%, Go 21%, Rust 9%, TypeScript 7%. Analytics engineering (314 jobs): Python 68%, SQL 89%, Java 3%, Scala 5%, Go 1%, Rust 1%, TypeScript 1%

Role explains most of the variation in this report:

  • Core data engineering (pipelines, ETL, warehouses) asks for Java and Scala, 11% each. Go barely appears (2%).
  • Platform, DataOps and MLOps is where Go lives: 21% of these jobs name it, more than Java (14%). Rust appears in 9%, close to all of the Rust demand there is.
  • Analytics engineering hardly asks for a third language at all. Java (3%), Scala (5%) and Go (1%) are rounding errors.

By contrast, seniority makes little difference. Junior and intern jobs name Python (73%) and SQL (74%) as often as senior ones do (77% and 69%). Scala (8% of junior jobs) and Java (11%) appear in junior roles at about the same rate as in senior ones. If you’re starting out, you won’t be expected to bring a JVM language more often than an experienced hire.

What each language comes with

A language is rarely asked for on its own. It comes with a set of tools, and those tools tell you what the job actually is.

What each language comes with. Scala (149 jobs, 23% platform roles): Spark 80%, Databricks 48%, Airflow 39%, Kafka 36%, Kubernetes 28%; unusually common: Jenkins, Hadoop, EMR. Java (170 jobs, 36% platform roles): Spark 61%, Kafka 56%, Kubernetes 43%, Airflow 35%, Flink 28%; unusually common: Pulsar, Kafka Connect, Druid. Go (113 jobs, 79% platform roles): Kubernetes 60%, Kafka 33%, Terraform 26%, Spark 24%, Airflow 23%; unusually common: gRPC, Redis, Elasticsearch. Rust (47 jobs, 85% platform roles): Kubernetes 49%, Kafka 26%, Docker 23%, Terraform 23%, Spark 21%; unusually common: Iceberg, PostgreSQL

Scala means Spark. 119 of the 149 Scala jobs (80%) name Spark, and almost half name Databricks. The tools that are unusually common next to Scala are Hadoop, EMR and Jenkins: older, self-managed big-data platforms where Spark jobs are written in Scala rather than PySpark. Two-thirds of Scala jobs (99) are core data engineering roles.

Java means streaming and JVM infrastructure. More than half of Java jobs name Kafka (56%), and 28% name Flink. Java is also unusually common next to Pulsar, Kafka Connect and Druid. 48 of the 103 Flink jobs in our data name Java, more than any other language after Python. If you want to work on real-time systems, Java is the language most often listed with them.

Go means platform engineering. 89 of the 113 Go jobs (79%) are platform, DataOps or MLOps roles, and 60% name Kubernetes. Go also appears with gRPC, Redis and Elasticsearch, which is backend-service territory. These jobs build the systems that pipelines run on, not the pipelines themselves.

Rust is small, early and infrastructure-only. 40 of its 47 jobs are platform roles, and most list it as a plus. The employers include data infrastructure vendors such as Fivetran (5 jobs), Datadog (4) and Workato (4), and AI labs such as Anthropic (3). It’s worth watching, but not yet worth learning for the job market alone.

Which industries ask for which language

We know the employer’s industry for 724 of the 1,738 jobs. Within those:

Share of jobs in each industry naming each language. Consulting and IT services (186 jobs): Java 9%, Scala 17%, Go 1%. Finance (143): Java 7%, Scala 5%, Go 3%. Software and SaaS (85): Java 19%, Scala 8%, Go 24%, Rust 13%. Media, adtech and gaming (48): Scala 19%, Go 12%. E-commerce and retail (47): Java 15%, Go 13%. Automotive (47, mostly Tesla): Python 94%, Java 17%, Go 17%. AI companies (45): SQL 40%, Go 24%, Rust 20%. DoorDash (31): Java 35%, Scala 32%, Go 16%

  • Consulting and IT services is Scala country. 17% of consulting jobs name Scala, the highest share of any large industry, while Go hardly appears (1%). Most of these come from French-headquartered firms: Talan (9 Scala jobs), Sopra Steria (8), Sia (5), Devoteam (4) and Inetum (3).
  • Finance is the most Python-and-SQL-only industry of its size. Of 143 finance jobs (fintech, banks, insurers), only 7% name Java, 5% Scala and 3% Go. Their data engineering jobs ask for Python and SQL, and little else.
  • Software and SaaS companies ask for the widest range. Go (24%), Java (19%) and Rust (13%) all appear here more than anywhere else except AI companies. Several of these employers build data products, such as Fivetran, Datadog and ZoomInfo.
  • AI companies ask for Go and Rust, and less SQL. Only 40% of the 45 jobs at AI companies (Anthropic, Mistral AI, OpenAI and others) name SQL, the lowest of any industry, while 24% name Go and 20% Rust. Nearly half of these jobs (21 of 45) are infrastructure roles.
  • Media, adtech and gaming leans on Scala (19%) and Python (85%), which fits large event streams processed with Spark.
  • Automotive is mostly Tesla (35 of 47 jobs). It names Python in 94% of jobs and Java and Go in 17% each.
  • Healthcare (25 jobs) and telecom and energy (25) almost never ask for a third language: one Java job and one Scala job between them.

One employer can shift a small group a lot. DoorDash posted 31 data engineering jobs in October, and it’s the strongest single source of JVM demand we saw: 35% of its jobs name Java and 32% Scala. Its “food delivery” industry is DoorDash alone, so we show it by name.

Where the jobs are

Share of jobs in each country naming Scala, Java and Go. Scala: United States 6% (28 jobs), Canada 6% (4), France 16% (13), Germany 10% (7), Brazil 18% (12), India 12% (10), United Kingdom 4% (5), Poland 3% (2). Java: United States 11% (47), Canada 12% (8), France 15% (12), Germany 11% (8), Brazil 10% (7), India 8% (7), United Kingdom 5% (6), Poland 2% (1). Go: United States 10% (46), Canada 15% (10), France 5% (4), Germany 1% (1), Brazil 0%, India 2% (2), United Kingdom 4% (5), Poland 2% (1)

  • Scala is strongest in Brazil (18% of jobs), France (16%) and India (12%), places with a lot of consulting and outsourced Spark work. In the US it appears in only 6% of jobs.
  • Go is a North American language in data engineering. 10% of US jobs and 15% of Canadian jobs name it. Elsewhere it’s 5% or less, and in Germany and Brazil it’s almost absent.
  • Java is the most evenly spread, at 8–15% in most large markets.
  • The UK and Poland ask for the least. Only 9% of UK jobs and 5% of Polish jobs name any of the three, against 18% in the US.

Does a third language pay more?

Median stated base salary of US jobs naming each language, against $180k for all 176 US jobs that state a salary: Go $226k (25 jobs), Rust $216k (11), Scala $212k (11), Java $209k (21), TypeScript $180k (10), Python $175k (139), SQL $167k (104)

In the US, jobs naming Go, Rust, Scala or Java state higher salaries than the market as a whole ($209k–226k against $180k). Jobs naming SQL state less ($167k).

That doesn’t mean learning Go adds $45k to your salary. Three things explain most of the gap:

  • The samples are small. Only 176 US jobs state a salary, and only 11 of those name Scala or Rust.
  • Role and employer drive it. 22 of the 25 US Go jobs with a salary are platform roles, at companies such as Tesla, Anthropic, Roblox and Datadog. SQL is lower because it’s the core of analytics engineering, which pays less than platform engineering.
  • Within the same level, the gap shrinks. Among senior US jobs, the median is $184k overall against $193k for jobs naming Java (12 jobs) and $210k for jobs naming Go (9).

A fair reading: the third language marks the kind of job, and the kind of job sets the pay.

So what should you learn next?

What to learn after Python and SQL, by the job you want. Analytics engineering (314 jobs): go deeper on SQL; SQL in 89% of these jobs, any third language in only 12%. Spark and Databricks pipelines (593 jobs name Spark): Scala, or Java; Scala in 20% of Spark jobs, Java in 18%. Streaming with Kafka and Flink (339 jobs): Java; Java in 29% of these jobs, Scala in 17%, Go in 11%. Platform and infrastructure (426 jobs): Go; Go in 21% of platform jobs and 35% of those naming Kubernetes; Rust in 9%, mostly as a plus

Choose by the job you want, not by how popular the language is:

  1. Analytics engineering: don’t learn a third language yet. Only 12% of these jobs name one. Your time is better spent on advanced SQL, data modelling and dbt.
  2. Spark-heavy data engineering: learn Scala, or Java. 83% of Spark jobs name Python, so PySpark covers most of them. The ones that name a JVM language split almost evenly between Scala (20% of Spark jobs) and Java (18%). Scala is most in demand in consulting and in France, Brazil and India.
  3. Streaming: learn Java. It’s named in 29% of Kafka and Flink jobs, ahead of Scala (17%) and Go (11%).
  4. Platform and infrastructure: learn Go. It’s in 21% of platform jobs and 35% of those that name Kubernetes. If you’re in North America, it’s the most common third language after Java.
  5. Rust: only if you want it. It’s growing in infrastructure and AI companies, but in data engineering it’s still a plus 85% of the time.

Whichever you choose, keep SQL sharp. It’s named in two-thirds of all jobs and required in 98% of those, more reliably than any other skill we track.

Browse current jobs by language: Scala, Java, Go, Rust, Python.

How we counted

  • What’s included: jobs whose employer-stated posting date falls in October 2026 and that passed our moderation as genuine data engineering roles (data engineering, analytics engineering, data platform and infrastructure, DataOps and MLOps). Jobs that have since closed are included. A job posted on several sites counts once.
  • Languages: we read each job description and record every programming language it names, marked as required or nice-to-have according to the description. “Preferred”, “bonus” and “a plus” count as nice-to-have. When a job puts all its skills in one list, we count them all as required, hence the strict view. SQL counts as a language here because employers list it as one.
  • Industries: the employer’s industry, known for 724 of the 1,738 jobs. Groups: Finance covers fintech, banks, insurers and crypto companies; Software and SaaS includes cybersecurity and mobile apps; Media, adtech and gaming covers all three. Industries with fewer than 40 jobs are mentioned in the text but not charted.
  • Countries: a job open in several countries counts in each.
  • Salaries: stated ranges for US jobs, taken at the midpoint as annual base pay in USD, with contractor rates left out.
  • Coverage: these are the jobs our sources reach: company career pages, ATS boards, job boards and Hacker News “Who’s Hiring”. It isn’t the whole market. LinkedIn and Indeed, for example, aren’t included.

For the tools that go with these languages, see The Data Engineering Stack Employers Actually Ask For: October 2026, and for the wider market, The State of Data Engineering Jobs in October 2026. To get new data engineering jobs every week, subscribe to the weekly Digest.

The weekly Digest

The week's most transparent data engineering jobs in your inbox once a week.

Once a week, a few new jobs that state their salary, location and stack, plus links to the rest. No open tracking; clicks are counted per issue, not per person. Unsubscribe with one click.

More from the blog