Quick Answer
Start with Python fundamentals (freeCodeCamp's Scientific Computing with Python), then pandas (Kaggle's Pandas course), then SQL (Khan Academy or CS50), then machine learning basics (Kaggle's Intro to ML or Google's ML Crash Course). Build three portfolio projects with real datasets. The full path takes 12 to 18 months part-time and costs nothing.
What data science actually involves
Data science is the practice of extracting insights from data to inform decisions. In practice, this means: collecting and cleaning messy datasets (often 60–80% of the work), analyzing data to find patterns using statistics and visualization, building predictive models using machine learning, and communicating findings to stakeholders who don't speak code. The tools change, but this core workflow has been stable for years. The skills you need are: Python programming, SQL for querying databases, statistics fundamentals, data manipulation with pandas and numpy, visualization with matplotlib or seaborn, and machine learning with scikit-learn. All of these can be learned for free.
Phase 1: Python fundamentals (months 1–3)
Python is the language of data science: there's no way around it. Start with freeCodeCamp's Scientific Computing with Python certification. It's free, browser-based, and covers Python fundamentals with a scientific computing angle: variables, functions, data structures, file handling, and object-oriented programming. Don't skip this even if you're eager to get to the 'data science' part. Weak Python foundations make everything else harder. You'll spend months debugging pandas code that would have been trivial with strong fundamentals. Complete the full certification before moving on. Harvard's CS50P (Introduction to Programming with Python) is an excellent alternative if you prefer video lectures. It's rigorous, free, and builds strong problem-solving habits alongside Python skills.
Phase 2: Data manipulation and analysis (months 3–6)
Once you can write Python confidently, learn to work with data. The core tools are pandas (data manipulation), numpy (numerical computing), and matplotlib or seaborn (visualization). Kaggle's Pandas course is a fast, hands-on introduction: roughly 4 hours of notebook-based exercises with real datasets. Follow it with freeCodeCamp's Data Analysis with Python certification for deeper coverage of numpy, pandas, matplotlib, and scipy. This is where you start working with real data: loading CSV files, cleaning messy columns, handling missing values, merging datasets, and creating charts that actually communicate something. The skill that separates good data scientists from mediocre ones is data cleaning. It's not glamorous, but it's where you'll spend most of your time professionally.
Phase 3: SQL (months 4–6, parallel with Phase 2)
SQL is non-negotiable for data science. Almost all data in the real world lives in relational databases, not CSV files. You need to be able to write queries to extract the data you need before you can analyze it. Start with Khan Academy's Intro to SQL for a gentle, visual introduction. Then take CS50's Introduction to Databases with SQL for depth. It covers table design, indexing, transactions, and query optimization alongside core querying skills. Kaggle's Intro to SQL is another excellent option if you want to practice on real BigQuery datasets in a notebook environment. SQL is learnable in 2–4 weeks of focused practice. Don't put it off. It's the skill that gets used in every data science interview and on every working day.
Phase 4: Statistics and machine learning (months 6–10)
With Python, pandas, and SQL under your belt, you're ready for machine learning. Start with Kaggle's Intro to Machine Learning. It's short, practical, and teaches you to build and evaluate models using scikit-learn without getting lost in theory. Follow it with Google's Machine Learning Crash Course, which provides a broader foundation covering supervised learning, feature engineering, and model evaluation with TensorFlow. For the statistics you'll need, Khan Academy's statistics and probability courses are free and well-paced. You don't need a math degree to do data science, but you need to understand distributions, hypothesis testing, correlation, and regression at a working level. DeepLearning.AI's machine learning specialization courses (free to audit on Coursera) go deeper if you want to understand the math behind the algorithms. But for your first data science role, practical competence with scikit-learn matters more than theoretical depth.
Build portfolio projects, not just course certificates
The single most important thing you can do after learning the fundamentals is build 3–5 portfolio projects using real datasets. Kaggle has thousands of free datasets to work with. Good portfolio project ideas: an exploratory data analysis of a dataset you're genuinely interested in (sports, music, economics, health), a predictive model for a real-world problem (housing prices, customer churn, movie ratings), and a data cleaning and visualization project that takes a messy dataset and produces clear insights. Each project should have a clean Jupyter notebook with clear explanations, hosted on GitHub. Write your analysis as if you're explaining findings to a non-technical manager. This communication skill is what separates hired data scientists from perpetual students.