TensorTonic guides

ML Engineer vs Data Scientist vs Research Engineer vs MLOps

How ML engineer, data scientist, research engineer and MLOps roles differ in daily work, skills and interviews, with a role comparison table and a lifecycle map.

By TensorTonic's founderLast updated 9 min read

What is the difference between an ML engineer and a data scientist?

A data scientist uses data, statistics and models to answer business questions and guide decisions, so the output is usually an analysis, a metric or an experiment readout. An ML engineer builds, ships and maintains the models that make predictions inside a product. The roles overlap heavily, and titles vary between companies.

A useful way to hold the difference in your head is to ask who reads the work. A data scientist's work is read by people, such as a product manager deciding whether to launch a feature. An ML engineer's work is read by machines, because the model answers requests from an app thousands of times a minute and has to stay correct and fast while it does.

Data science itself splits in two. An old and still handy framing calls them Type A and Type B, for analysis and building. Analysis-heavy data scientists spend most of their time on SQL, dashboards and A/B tests and may train very few models, while building-heavy data scientists train models and sit much closer to ML engineering. When people say the roles blur together, they usually mean that second group.

How do ML engineer, data scientist, research engineer and MLOps roles compare?

The four roles differ mainly in which part of an ML system they own, and the table below compares them on the points that matter when you are choosing between them or preparing for an interview. Treat each column as the typical case, since a startup with three engineers will merge several of these jobs into one person.

Comparison of data scientist, ML engineer, research engineer and MLOps engineer roles
DimensionData scientistML engineerResearch engineerMLOps engineer
Main questionWhat should we do, and did it work?How do we make this prediction reliably for every request?Can this new method train at scale and beat the baseline?How do models get shipped, watched and retrained safely?
Typical outputAnalyses, metric definitions, experiment readouts and baseline modelsFeature and training pipelines, served models and the code around themReimplemented methods, training infrastructure and evaluation harnessesDeployment pipelines, model registries, monitoring and retraining jobs
Core skillsStatistics, SQL, experiment design and product senseSoftware engineering, ML fundamentals and data pipelinesDeep learning internals, numerical code and distributed trainingCloud infrastructure, CI/CD, containers and observability
Code written mostSQL, pandas and notebooksPython services, model code and pipeline jobsPyTorch training loops, kernels and large-scale runsInfrastructure as code, orchestration and deployment config
Place in the ML lifecycleThe question, the metric, the baseline and the A/B readoutFeatures, training and servingNew methods and large training runsDeploys, monitoring and retraining
Interview emphasis candidates reportSQL, statistics, A/B testing and product casesCoding, ML coding from scratch and ML system designML coding, paper discussion and distributed trainingInfrastructure design, deployment and monitoring scenarios
Usual degree backgroundBachelor's or master's in a quantitative fieldBachelor's or master's, with a PhD rarely requiredA PhD is helpful but usually not requiredBachelor's or equivalent experience, often from software or DevOps

Two neighboring titles are worth knowing. A research scientist sets research direction, designs experiments and leads papers, while the research engineer next to them makes those experiments run at scale. An applied scientist sits between a data scientist and an ML engineer, inventing or adapting models for a product and writing the code that ships them.

The table describes each role in isolation, but in practice the roles pass one project between them like a relay. Follow a single model from the first business question to retraining in the map below, and pick a role to see the stages where it carries the baton.

Who carries the model at each stage

Stage
  1. 01Frame the business question
    Data scientist owns this stage.
    ML engineer helps with this stage.
  2. 02Explore the data and pick a metric
    Data scientist owns this stage.
    ML engineer helps with this stage.
  3. 03Prototype a baseline model
    Data scientist owns this stage.
    ML engineer helps with this stage.
  4. 04Build feature and training pipelines
    Data scientist helps with this stage.
    ML engineer owns this stage.
    MLOps engineer helps with this stage.
  5. 05Train, tune and evaluate
    Data scientist helps with this stage.
    ML engineer owns this stage.
    Research engineer helps with this stage.
  6. 06Implement a new method from a paper
    ML engineer helps with this stage.
    Research engineer owns this stage.
  7. 07Scale training across GPUs
    Research engineer owns this stage.
    MLOps engineer helps with this stage.
  8. 08Package and serve the model
    ML engineer owns this stage.
    MLOps engineer helps with this stage.
  9. 09Automate deploys and rollbacks
    ML engineer helps with this stage.
    MLOps engineer owns this stage.
  10. 10Run and read the A/B test
    Data scientist owns this stage.
    ML engineer helps with this stage.
  11. 11Monitor drift and trigger retraining
    Data scientist helps with this stage.
    ML engineer helps with this stage.
    MLOps engineer owns this stage.
Owns the stageHelps with itDS data scientistMLE ML engineerRE research engineerMLOps MLOps engineer

The data scientist lane owns 4 of 11 stages and helps on 3 more.

A data scientist carries the baton at the start and near the end, framing the question, choosing the metric, building the first baseline and reading the A/B test.

Interviews for this lane commonly lean on SQL, statistics, experiment design and product sense.

Pick a role to light up its lane. Real teams draw these lines differently, and on small teams one person runs several lanes.

What does each role actually work on?

Each role works on a different artifact of the same project, and looking at those artifacts is the quickest way to tell the jobs apart. Imagine a team adding a model that recommends which items to show on a shopping app's home page.

Data scientist

The data scientist decides what success means, perhaps purchases per session rather than clicks, and checks that the metric moves with revenue in past data. They build a quick baseline in a notebook to show that a model can beat the current rule, and once the model is live they design the A/B test, choose the sample size and write the readout that decides whether it stays. The statistics behind that readout are covered in the free A/B testing lesson.

ML engineer

The ML engineer turns the notebook into a feature pipeline and a training job that anyone on the team can rerun and get the same model. They write the service that loads the model and returns recommendations within the latency budget, and they handle the cases the notebook ignored, such as a new user with no history. Most of this sits under ML system design, which is also how ML engineer interviews test it.

Research engineer

The research engineer gets involved when the team wants a model the field has only just described, such as a new attention variant or a better way to fine-tune. They implement the method from the paper, check it reproduces the reported result on a small run, and then make it train across many GPUs without wasting compute. The research paper tracks and the LLM Internals lessons show what that implementation work looks like in code.

MLOps engineer

The MLOps engineer builds the shared infrastructure that every model on the team ships through. They set up the model registry, the deployment pipeline with a safe rollback, the dashboards that track input drift and prediction quality, and the job that retrains the model when those numbers slip. One MLOps engineer typically serves many models, which is why the role usually appears once a company has more than a handful in production.

How are the interviews different for each role?

The interviews follow the work, so each role is tested on the artifact it owns. What follows is what candidates commonly report, and individual loops vary.

Data scientist loops usually include a SQL round, a statistics or probability round, an experiment design question and a product case, with an ML round in modeling-focused roles. The free Data Science Mock Interview is a timed 75-minute practice sitting that mixes SQL, pandas, NumPy, math and ML, and the StrataScratch alternatives guide covers where to practice the SQL side.

ML engineer loops usually include a general coding round, an ML coding round where you implement a model or a metric from scratch, an ML system design round and a behavioral round. The ML coding round is the one that surprises people most, because it asks you to write working NumPy code for a model you may only have described in words before. The LeetCode for machine learning guide explains how it differs from a standard algorithms round. The free ML Engineer Mock Interview lets you practice it under a timer, and the ML engineer interview preparation guide walks through the full process.

Research engineer loops lean on ML coding at a deeper level, such as writing attention or an optimizer step, along with discussion of a recent paper and questions on distributed training and memory. MLOps loops look more like infrastructure interviews, with questions on containers, CI/CD, how you would roll back a bad model and what you would monitor after launch.

If you are unsure which role fits, take both free mock interviews in the same week. The one where the questions feel like work you would enjoy doing every day is usually a good signal.

Which role pays more, ML engineer or data scientist?

ML engineers and data scientists earn in similar ranges, and the gap between them is smaller than the gaps caused by level, location and company. Published salary comparisons disagree on which title comes out ahead, mostly because they mix junior and senior people and analytics and modeling roles in the same sample. Research engineers at well-funded labs and senior MLOps engineers can earn more than either, but that again reflects the employer more than the title.

Choosing a role for a small expected pay difference is rarely a good trade. Picking the work you will get good at tends to matter more, since pay rises fastest with seniority.

Which role should you choose?

The best predictor is which problem you would rather spend an afternoon on. Here are the signals that tend to point at each role.

  • Choose data science if you would rather work out why a metric dropped last Tuesday than debug a slow service, and you enjoy explaining a result to people who will act on it.
  • Choose ML engineering if you like writing code that other code depends on, and the idea of a model serving real traffic excites you more than a chart does.
  • Choose research engineering if you want to know why a training run diverged and are comfortable with the math inside a transformer.
  • Choose MLOps if you come from software or DevOps and would rather make the platform reliable than tune the model.

The TensorTonic roadmap lays out how the topics behind these roles connect, which helps when you want to see how far one role is from another.

Can a data scientist become an ML engineer?

Yes, and it is one of the most common moves in the field, because a data scientist already knows the models and mainly needs to add production engineering. The gap is usually code that other people can review and test, pipelines that run without a notebook, serving and monitoring, and owning a system that pages you when it breaks.

The interview gap is similar. A data scientist moving across should practice general coding again, implement models and metrics from scratch instead of calling a library, and learn ML system design. Cracking ML covers the from-scratch side, and the machine learning from scratch guide explains why interviewers care about it.

Other moves follow the same logic. ML engineers often grow into research engineering by implementing papers and learning distributed training, which the free Build LLM from Scratch plan practices problem by problem. Software engineers often move into MLOps first because their infrastructure skills transfer, then into ML engineering as they pick up the modeling side.

How are LLMs changing these roles?

Large language models have moved some work between the roles without removing any of them. Many products now call an existing model instead of training one, so a growing share of ML engineering is retrieval, evaluation and serving cost, and some teams call that work AI engineering.

Data scientists still own the question of whether the feature helps users, which an LLM does not answer for you. Research engineers have more to do than before, since training and fine-tuning large models is exactly their stretch of the lifecycle, and MLOps engineers now run inference fleets where GPU cost and latency dominate. Projects such as RAG from scratch and building an inference server show the new work in practice.

Practice this

These free problems each match one column of the comparison table, so you can try the kind of work each role does. Then browse the full problem library.

Do ML engineers need a PhD?

Most ML engineer roles do not need a PhD. Hiring usually turns on whether you can write production code and implement and debug models, and a bachelor's or master's degree with strong projects is the common background. A PhD is commonly expected for research scientist roles and usually not for research engineer roles.

Is an ML engineer a software engineer?

In most teams an ML engineer is a software engineer who specializes in machine learning. Candidates commonly report that ML engineer interview loops keep a general coding round alongside the ML rounds, and the day-to-day work involves code review, testing and on-call duties like any other engineering job.

What is the difference between an ML engineer and an MLOps engineer?

An ML engineer builds and trains the model and writes the code that serves it, while an MLOps engineer builds the platform around it, including deployment pipelines, monitoring and retraining jobs. On small teams one ML engineer often does both jobs, and the split tends to appear as the number of models in production grows.

What is an applied scientist?

An applied scientist sits between a data scientist and an ML engineer, developing new models for a product and writing code that ships. Candidates commonly report a coding bar close to a software engineer's, plus deeper questions on ML theory than a typical ML engineer loop.

Do data scientists need deep learning?

Many data scientist roles use little or no deep learning. Analytics-focused roles rely mainly on SQL, statistics and experiment design, while modeling-focused data scientist roles expect classical ML and sometimes deep learning, so the job description is the best guide to which kind you are looking at.

Which role is better for a software engineer moving into ML?

ML engineering and MLOps are the shortest moves for a software engineer, because production skills carry over directly. ML engineering asks for more model knowledge, so the gap to close is usually ML fundamentals and implementing models from scratch, while MLOps asks for deeper infrastructure and deployment experience.

Related guides