Data science vs data engineering

Are they separate fields of study? Mostly yes — and for a more interesting reason than the job market. background

Short version: data science is an established academic field; data engineering largely isn't. But as bodies of knowledge they are genuinely distinct — more distinct than the shared “data” prefix suggests. This page is background for the Personas page, which maps the resulting roles onto RHOAI.

Different intellectual ancestors

This is the part that actually explains the split.

Data science descends from statistics. The lineage runs from Tukey's The Future of Data Analysis (1962) through Cleveland's 2001 proposal to expand statistics into a field called “data science,” picking up machine learning and scientific computing along the way. Its questions are inferential: what can I conclude from this sample, how confident am I, is this correlation causal.

Data engineering descends from databases and distributed systems. Its lineage is Inmon and Kimball's data-warehousing work in the 1990s — dimensional modelling, star schemas, ETL — later colliding with the Hadoop/Spark/Kafka distributed-systems wave. Its questions are architectural: where does this data live, how does it stay consistent, what happens when a node dies mid-write.

Those are different parents. One is a mathematical science; the other is a branch of software engineering.

The curricula barely overlap

Data science coreData engineering core
Probability, statistical inferenceData modelling, normalisation, dimensional design
Linear algebra, optimisationDistributed systems: CAP, partitioning, consensus
ML theory, generalisation, regularisationQuery optimisation, indexing, columnar formats
Experimental design, causal inferenceStreaming semantics: exactly-once, watermarks, late data

There is essentially no shared theory. The overlap is tooling — Python, SQL, cloud, containers — which is why the two look similar from outside and feel completely different from inside.

Academic standing

Data science has real institutional standing: dedicated BSc/MSc/PhD programmes, departments and institutes, journals, faculty who identify with it.

Data engineering has almost none. You'll find it as a course inside a CS or information-systems degree, and heavily as certifications and vendor training, but degree programmes named “data engineering” are rare. It is a professional role that crystallised out of industry practice, not a discipline that grew inside universities. Its theory is taught — under the older names: databases, distributed systems, systems architecture.

Why the role split happened

Around 2012–2015, companies that had hired data scientists discovered those people were spending most of their time on plumbing — moving, cleaning and reshaping data rather than modelling it. “Data engineer” emerged as the role absorbing that work.

So the job title is a spin-off of the data-science boom, even though the skills come from the much older DBA and warehousing tradition.

The third thing: ML platform engineering

Sitting between them is ML engineering / MLOps / ML platform engineering — training infrastructure, model registries, serving, monitoring, drift detection, GPU scheduling.

That is what most of the work on this site actually is. Pipelines, model registry, KServe endpoints, TrustyAI monitoring, GPU time-slicing, distributed training — almost none of it is data science (no inference, no experimental design) and only some is data engineering (the medallion lab genuinely is). Most of it is the platform layer that makes both possible.

It is the least academically formalised of the three and the one growing fastest.


See Personas for how these disciplines map onto concrete roles the platform can host, and Labs for what has actually been built.