Analysts answer business questions with SQL, spreadsheets, dashboards and reports. Data scientists add statistics, experiments and predictive models. ML engineers build and run models inside production software. Titles vary by company, so read the work in the job advert, and pick by the kind of problem you enjoy, not the title that sounds most senior.
What people tell me
I am a computer science student and I like working with data, but every job advert seems to use a different title for similar work. Some analyst jobs ask for Python and machine learning, some data scientist jobs are mostly dashboards, and ML engineer jobs look like software engineering. I do not know which one I should aim for, what I should learn for each, or whether starting as an analyst would be a step backwards.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Analysts explain what happened, data scientists test why and predict what next, ML engineers make models run reliably in products.
- Titles are inconsistent between companies: judge a role by its daily work, not its name.
- SQL, cleaning data and clear writing are shared by all three, so learn them first.
- Starting as an analyst is a normal route into data science, not a step backwards.
- Pick by the work you enjoy: questions and reports, statistics and experiments, or engineering and systems.
The short version
All three work with data, but they answer different questions and spend their days differently.
| Data analyst | Data scientist | Machine learning engineer | |
|---|---|---|---|
| Main question | What happened, and where? | Why did it happen, is it real, and what will happen next? | How do we run this model reliably for every user? |
| Daily tools | SQL, spreadsheets, BI dashboards, some Python or R | SQL, Python or R, statistics, experiments, scikit-learn | Python, software engineering, APIs, cloud, MLOps tools |
| Typical output | Dashboards, reports, answers to business questions | Analyses, A/B test readouts, models, recommendations | Model services, training pipelines, monitoring |
| Closest to | The business team | The business and the product team | The engineering team |
Why the titles confuse everyone
Companies use these titles loosely. A "data scientist" at one company builds dashboards all day, while an "analyst" at another runs experiments and fits models. Some small companies want one person to do all three. So when you read a job advert, ignore the title for a moment and look at the responsibilities: reporting and dashboards point to analytics, experiments and statistics point to data science, and deployment, APIs and pipelines point to ML engineering.
What each one needs you to learn
Data analyst: SQL first, then spreadsheets, one BI tool such as Power BI or Tableau, basic statistics, and the ability to turn a vague question into a clear answer. The Data analytics roadmap covers this path.
Data scientist: everything an analyst knows about SQL and cleaning data, plus Python or R, statistics you can explain, A/B testing, and machine learning with proper validation. The Data science roadmap is built for this, with a focus option for business data science, ML-heavy work or statistics and R. The data science cheat sheet has the tests, metrics and leakage traps on one page.
ML engineer: strong software engineering first, then machine learning, then serving, monitoring and retraining models in production. The Machine learning roadmap goes deep on this, and the data science roadmap's Towards ML engineering focus is a good bridge if you are coming from the data side.
How I would choose
Ask yourself which part of the work you would happily do on a bad day.
- If you enjoy answering questions quickly and explaining them to people, start with analytics.
- If you enjoy asking whether a pattern is real, designing experiments and building models to support decisions, aim for data science.
- If you enjoy building systems and care more about the code around the model than the analysis, aim for ML engineering, and make sure your software fundamentals are solid.
You can try each cheaply. Do one analysis with a dashboard, one experiment readout on a public A/B test dataset, and serve one small model behind an API. You will know within a few weeks which one you want to keep doing. The A/B test analysis project is a good way to try the data science side.
Is starting as an analyst a step backwards?
No. Entry-level data scientist roles are harder to find than analyst roles in most markets, and many good data scientists started as analysts. An analyst job teaches you SQL at scale, how the business really works, and how to communicate results, which is exactly what weak data scientists lack. Take the analyst role, do excellent work, volunteer for experiments and modelling tasks, and move after a year or two.
What to do this month
- Read five job adverts for data roles in companies you would like to join, and sort them by the actual work, not the title.
- Learn SQL properly, because all three roles use it.
- Pick one roadmap and follow it in order instead of collecting courses.
- Build one small project that matches the role you picked.
If you want to talk through which path fits you, create a free Sefism account and book a session with me. More answers like this are on the questions page.
Was this answer helpful?
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.