On this page
- What does a data engineer actually do?
- Stage 1: SQL and Python, plus Git
- Stage 2: Working with real, messy data
- Stage 3: Modeling and pipelines
- Stage 4: Scale and the cloud
- Stage 5: Reliability and proof
- Which projects should you build?
- How long does it take?
- Mistakes freshers make
- A checklist before you apply
You have decided you want to be a data engineer, and the internet has given you a list of 40 tools: Python, SQL, Spark, Kafka, Airflow, dbt, Snowflake, Docker, Kubernetes, three clouds. Nobody says which to learn first, and a list that long makes it easy to learn a little of everything and be useful at nothing.
This guide gives you an order. It is based on what the job involves and on what entry-level interviews actually test, and it points to the LakeBench tracks, guides and practice problems for each stage. It does not promise a salary or a date, because nobody can honestly promise those.
What does a data engineer actually do?
A data engineer moves data from where it is created to where people can use it, and keeps that working. A shop's orders sit in an application database. The finance team needs a correct daily revenue report. The data engineer builds the path in between: pull the orders out, clean them, fix the duplicates, store them in a warehouse (a database built for reporting) in a shape analysts can query, run it every night, and notice when it breaks.
That job has four kinds of skill, and the roadmap follows them: asking a database questions (SQL), writing code to move and reshape data (Python), designing how the data is stored (modeling), and making the whole thing run on its own without breaking (pipelines, quality, cloud). You learn them in that order because each one needs the one before.
SELECT, joins, GROUP BY. Python functions and files. Commit and push.
Track: SQL & Analytical Warehousing, Core Python
Window functions, CTEs, pandas, cleaning.
Track: SQL track (later modules), Pandas
Facts and dimensions, ETL and ELT, scheduling, dbt.
Track: Orchestration & Pipelines, dbt
Spark, one cloud, streaming basics.
Track: PySpark, Cloud Platforms, Streaming
Data quality, Docker, projects, interviews.
Track: Data Quality, Infrastructure, System Design
Stage 1: SQL and Python, plus Git
Start here and do not skip ahead. SQL is the language you will use every day, and it is also one of the skills interviews most often screen for, so a fresher who is strong in SQL has a real advantage.
- SQL:
SELECT,WHERE,ORDER BY,GROUP BY,HAVING, and joins. Be able to say how many rows a join returns before you run it. - Python: variables, loops, functions, lists and dictionaries, reading and writing files, and handling errors. You are not building apps here. You are learning to write a small, clear script.
- Git and the terminal: commit, branch, push to GitHub, and move around in a command line. Every project you build later lives in a repository, so start the habit now.
Where on LakeBench: the SQL & Analytical Warehousing track and the Core Python track, side by side. Practise in the editor from the first lesson, because reading SQL and writing it are different skills.
You are ready to move on when: you can write a query joining 2 tables with a filter and a GROUP BY without looking anything up, and write a Python function that reads a CSV file and counts rows per category.
Stage 2: Working with real, messy data
Real data is never as tidy as a tutorial. Stage 2 is where you learn to clean it, reshape it and ask harder questions of it.
- Advanced SQL: window functions (
ROW_NUMBER,RANK,LAG, running totals), common table expressions, subqueries, andNULLhandling. These appear in most data engineering SQL rounds. - pandas: loading data into a DataFrame, filtering, grouping, merging, fixing types and handling missing values. It is the Python equivalent of what you just learned in SQL.
- Data cleaning: duplicates, inconsistent spelling, bad dates and amounts that are text.
Where on LakeBench: the later modules of the SQL track, and the Pandas for Data Manipulation track. Three guides here are written for exactly this stage: SQL window function interview questions, SQL interview questions for data engineers and how to remove duplicate rows in SQL.
You are ready to move on when: you can find the second highest value, keep the latest row per customer, and explain why a join made a sum too large.
Stage 3: Modeling and pipelines
Now you stop answering one-off questions and start building things that run repeatedly. This is the stage that separates a data engineer from a data analyst who writes SQL.
- Data modeling: facts and dimensions, star and snowflake schemas, and how to keep history with slowly changing dimensions.
- Pipeline design: extract, transform and load (ETL), or load first and transform afterwards inside the warehouse (ELT), and layering your data as in the medallion architecture.
- Orchestration: a scheduler such as Airflow that runs steps in order, retries failures and lets you rerun a day safely. The idea to learn is idempotency: running a job twice must give the same result as running it once.
- dbt: organising SQL transformations as tested, version-controlled models.
Where on LakeBench: Orchestration & Reliable Pipelines and dbt & Analytics Engineering.
You are ready to move on when: you can draw a fact table and its dimensions for a business you know, and explain what happens to your pipeline if it runs twice.
Stage 4: Scale and the cloud
Everything so far works on data that fits on one machine. Stage 4 is what changes when it does not.
- Spark and PySpark: how data is split across machines, what a shuffle is, why joins get slow and what a skewed key does. Learn the ideas before the syntax.
- One cloud, not three: pick one of AWS, Azure or GCP and learn its storage, its warehouse service and its managed pipeline tools. The concepts carry over, so the second cloud is much easier than the first.
- Streaming basics: what a message queue such as Kafka is for, and how batch and streaming differ.
Where on LakeBench: PySpark for Distributed Processing, Cloud Platforms for Data Engineers and Streaming & Message Queues. The guide scenario-based PySpark interview questions is the practice for this stage.
You do not need all of this before you apply. Many fresher roles ask for strong SQL, Python and an understanding of pipelines, with Spark or a cloud service as a plus. Read the job posts for the roles you want, and let them tell you how deep to go.
You are ready to move on when: you can explain what a shuffle is and when a broadcast join helps, and you have used one cloud's storage and warehouse, even on a free tier.
Stage 5: Reliability and proof
Two things turn what you know into something an employer believes: showing that your work can be trusted, and showing the work itself.
- Data quality: checks for nulls, duplicates and row counts, and what a pipeline should do when a check fails.
- Engineering habits: Docker basics, tests, and using Git properly, with small commits and clear messages.
- Projects: at least two, built end to end and published on GitHub.
- Interview practice: timed SQL, a Python question, and one system design question explained out loud.
Where on LakeBench: Data Quality & Observability, Infrastructure & Engineering Practices, system design, and the problem library.
Which projects should you build?
A project helps only if you can explain it. Two or three small, complete projects beat 10 half-finished ones, and each should cover the path from raw data to a result.
| Project | What it shows |
|---|---|
| Load a public CSV or API into a database, clean it, and build a revenue-style report with SQL | You can do the basic job from start to finish |
| The same data layered as raw, cleaned and reporting tables, with a check that the row counts add up | You understand layering and data quality |
| A scheduled pipeline that runs daily, can be rerun safely and logs what it did | You understand orchestration and idempotency |
| A Spark job on a larger dataset that you profile and speed up | You understand how data moves at scale |
For each one, write a short README that says the problem, the design, what went wrong and what you would change. Interviewers will ask about the parts that went wrong, and having a real answer is worth more than a clean result. See the capstone projects for ideas.
How long does it take?
Public roadmaps quote anything from a few months to about a year, and the range is wide because people start from different places and study different numbers of hours. Someone who already programs can move faster than someone starting from zero. Treat any single figure, including ones in this guide, as a rough guide and not a promise.
What does work is a steady rhythm. A fixed block of hours each week, split into learning something new, practising it in an editor, and building something with it, beats an occasional weekend of cramming. If you want a schedule to follow, the 45-day plan puts the early stages into a day-by-day order.
Mistakes freshers make
- Skipping SQL for the exciting tools. Spark and Kafka are interesting, but a SQL round is common early in the hiring process.
- Watching tutorials without typing. If you did not write the query yourself and get it wrong at least once, you have not learned it yet.
- Never reading the error. Most of the job is understanding why something failed. Read the message slowly before you search for it.
- Projects with no explanation. A repository with no README is hard to believe. Say what the project does and why you made each choice.
- Waiting to be ready. Apply when you meet the "ready" check for Stage 3, even if Stages 4 and 5 are unfinished. You will learn faster in interviews than alone.
A checklist before you apply
- You can write a join, a
GROUP BYand a window function from memory. - You can explain a star schema and one way to keep history.
- You have two projects on GitHub with a README each.
- You can explain what makes a pipeline safe to rerun.
- You can explain, in 2 minutes and without notes, one project from start to finish.
Start with SQL practice today, pick a Learn track to follow, and use the roadmap when you want to see how every track fits together.