Career9 min read10 sections

How to become a data engineer as a fresher: a step-by-step roadmap

Most roadmaps are a long list of tools. This one is an order: 5 stages, what to learn in each, what to build, and how to tell when you can move on. It is written for a student or fresher starting from SQL and Python.

Solve “Filter Engineering salaries”

Free. Runs in your browser, no install.

Updated Written for: B.Tech students, graduates and career switchers with little or no data engineering experience who want to know what to learn, and in what order.

What you will learn

  • Learn in 5 stages: SQL and Python, then working with data, then modeling and pipelines, then scale and cloud, then reliability and proof.
  • SQL is one of the skills screened most often, so start with it and keep practising it through every stage.
  • Build two or three small projects you can explain end to end, instead of collecting tool names.
  • Public roadmaps quote anything from a few months to about a year. Steady weekly practice matters more than the number.
On this page
  1. What does a data engineer actually do?
  2. Stage 1: SQL and Python, plus Git
  3. Stage 2: Working with real, messy data
  4. Stage 3: Modeling and pipelines
  5. Stage 4: Scale and the cloud
  6. Stage 5: Reliability and proof
  7. Which projects should you build?
  8. How long does it take?
  9. Mistakes freshers make
  10. 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.

1SQL, Python and Git

SELECT, joins, GROUP BY. Python functions and files. Commit and push.

Track: SQL & Analytical Warehousing, Core Python

2Real, messy data

Window functions, CTEs, pandas, cleaning.

Track: SQL track (later modules), Pandas

3Modeling and pipelines

Facts and dimensions, ETL and ELT, scheduling, dbt.

Track: Orchestration & Pipelines, dbt

4Scale and the cloud

Spark, one cloud, streaming basics.

Track: PySpark, Cloud Platforms, Streaming

5Reliability and proof

Data quality, Docker, projects, interviews.

Track: Data Quality, Infrastructure, System Design

Figure 1. The 5 stages in order, with what to learn in each and the LakeBench track that covers it. Move on when you can do the "you are ready" check, not when a week has passed.

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, and NULL handling. 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.

ProjectWhat it shows
Load a public CSV or API into a database, clean it, and build a revenue-style report with SQLYou 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 upYou understand layering and data quality
A scheduled pipeline that runs daily, can be rerun safely and logs what it didYou understand orchestration and idempotency
A Spark job on a larger dataset that you profile and speed upYou 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

  1. You can write a join, a GROUP BY and a window function from memory.
  2. You can explain a star schema and one way to keep history.
  3. You have two projects on GitHub with a README each.
  4. You can explain what makes a pipeline safe to rerun.
  5. 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.

Keep practising

Take what you just read into the editor.

Next in the beginner pathData engineering projects for beginners: 6 projects to build, in orderBrowse all 36 guides