To become a data scientist, learn in this order: Python, statistics, data handling with SQL and pandas, machine learning, and then one specialisation such as deep learning or generative AI, all while building projects that answer real questions. Data science is less about memorising algorithms and more about turning messy data into decisions. This roadmap explains each step, how long it usually takes, and what employers look for in a junior data scientist.
What does a data scientist do?
A data scientist uses data to answer business questions and build predictive models. A typical project looks like this:
- Frame the problem: “Which customers are likely to cancel next month?”
- Collect and clean data from databases, files or APIs.
- Explore the data with charts and statistics to find patterns.
- Build and evaluate a model, for example a classifier that predicts churn.
- Communicate the result so a manager can act on it, and sometimes help deploy the model.
Most of the time goes into steps 2 and 3. Clean data and clear communication matter more than fancy models.
Data scientist vs data analyst vs ML engineer
| Role | Main question | Core tools |
|---|---|---|
| Data analyst | What happened and why? | Excel, SQL, Power BI or Tableau, some Python |
| Data scientist | What will happen, and what should we do? | Python, statistics, scikit-learn, SQL |
| ML engineer | How do we run models reliably in production? | Python, MLOps tools, Docker, cloud |
Many people start as data analysts and move into data science after a year or two. That is a perfectly good route.
The data science roadmap
Step 1: Python for data (6 to 8 weeks)
Learn core Python first: variables, loops, functions, lists and dictionaries. Our Python learning plan covers this. Then learn the data stack:
- NumPy for fast numerical arrays.
- pandas for loading, cleaning, filtering and grouping tabular data.
- Matplotlib and Seaborn for charts.
- Jupyter notebooks for exploring data step by step.
import pandas as pd
df = pd.read_csv("sales.csv")
monthly = (df.assign(month=pd.to_datetime(df["date"]).dt.to_period("M"))
.groupby("month")["revenue"].sum())
print(monthly.tail())
Step 2: Statistics and probability (4 to 6 weeks)
Statistics is what separates a data scientist from someone who runs code. Focus on:
- Mean, median, variance, standard deviation and distributions.
- Probability basics and conditional probability.
- Sampling, confidence intervals and hypothesis testing (t-tests, p-values).
- Correlation vs causation, and how A/B tests work.
You do not need a maths degree. You need to understand what each test tells you and when it can mislead you.
Step 3: SQL (2 to 3 weeks)
Company data lives in databases. Learn SELECT, WHERE, GROUP BY, JOINs, subqueries and window functions. Many data science interviews include a SQL round.
Step 4: Machine learning (8 to 10 weeks)
Start with classic machine learning using scikit-learn before deep learning:
- Supervised learning: linear and logistic regression, decision trees, random forests, gradient boosting.
- Unsupervised learning: k-means clustering and PCA.
- Model evaluation: train/test splits, cross-validation, accuracy, precision, recall, F1, ROC-AUC, and RMSE for regression.
- Feature engineering: handling missing values, encoding categories, scaling.
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)
print(classification_report(y_test, model.predict(X_test)))
Always ask: is my model better than a simple baseline? A model that predicts “no churn” for everyone can look accurate on imbalanced data and still be useless.
Step 5: Pick a specialisation (ongoing)
- Deep learning: neural networks with PyTorch or TensorFlow, for images and text.
- Natural language processing and generative AI: text classification, embeddings, working with large language model APIs and retrieval-augmented generation.
- Time series: forecasting demand, sales or traffic.
- MLOps: deploying and monitoring models with Docker and cloud services.
Portfolio projects that impress
Avoid only using the most famous beginner datasets that every applicant uses. Pick a question you care about and show your full process:
- Customer churn prediction with a clear explanation of which factors drive churn.
- Price prediction for used cars or rental flats, using data you collected or cleaned yourself.
- Text classification of product reviews or support tickets.
- A small web app built with Streamlit that lets someone try your model.
For each project, write a short README: the question, the data, what you tried, what worked, and what you would do next.
How long does it take?
With 10 to 15 hours a week, most learners need around 8 to 12 months to be ready for junior data science roles. If you already code or have a statistics background, it can be faster. Be wary of any course that promises a data scientist job in a few weeks.
Ready for interviews?
Once you are comfortable with the topics above, practise with our data science interview questions, with clear answers you can explain in your own words.
Frequently asked questions
Can I become a data scientist without a degree in computer science?
Yes. Many data scientists come from engineering, statistics, economics, physics or commerce. Employers care about your projects, problem-solving and communication.
Do I need to learn deep learning first?
No. Most business problems are solved with classic machine learning and good data cleaning. Learn deep learning after you are comfortable with scikit-learn.
Is data science still worth learning with AI tools around?
AI tools speed up coding, but someone still needs to frame the problem, judge data quality, check results and explain them. Those skills are more valuable, not less.
Python or R for data science?
Python is more widely used in industry and in job listings. R is still strong in research and statistics. If you are unsure, start with Python.
Explore more data science and AI tutorials, or compare this path with our data analytics guides.