Data Engineer
How to Become a Data Engineer
How to become a data engineer: the skills roadmap (SQL, Python, Airflow, cloud), portfolio pipelines to build, and what the hiring process looks like.
Data engineers build the systems that move data: pipelines that pull data from applications and APIs, load it into warehouses, and keep it fresh and correct. Every dashboard and every ML model sits on top of a data engineer’s work.
It is the most technical of the entry-level data paths and usually the best paid. It also has the longest skill list, so read Data Analyst vs Data Engineer vs Analytics Engineer if you have not yet committed to a direction, and see the first data job guide for the overall strategy.
What a data engineer does
A typical week:
- Write and maintain pipelines that extract data from source systems
- Load data into a warehouse (Snowflake, BigQuery, Redshift)
- Schedule and monitor jobs in an orchestrator like Airflow
- Fix a pipeline that broke overnight because a source changed its schema
- Optimize slow queries and control cloud costs
- Work with analysts and analytics engineers who consume the data
The job is software engineering applied to data. You will spend more time in code and terminals than in dashboards or meetings.
Skills roadmap, in order
Do not try to learn all of this at once. This order works:
1. SQL first, always
Data engineers write as much SQL as analysts, often more. You need joins, CTEs, window functions, and an understanding of how databases execute queries. Module 2: Databases and SQL is where to start; lesson one of every module is free.
2. Python
The default language of data engineering. Focus on:
- Core language: functions, loops, error handling, virtual environments
- Working with APIs and JSON
- pandas for transformations
- Writing scripts that run reliably, not notebooks
You do not need advanced computer science. You need to write a script that extracts data, handles failures, and logs what it did.
3. Data warehousing and ETL concepts
Understand the shape of a data platform: sources, staging, warehouse, marts. Learn the difference between ETL and ELT, batch and streaming, full and incremental loads. Module 1: Analytics Fundamentals and Module 4: Data Integration and ETL cover this ground.
4. Cloud — the biggest gap for career changers
Pick one cloud (AWS is the safest bet, Azure close behind) and learn its data services: object storage (S3), a warehouse, serverless functions, and IAM basics. Module 5: Cloud Computing is built around this. Free tiers are enough for everything at the learning stage.
Kirill Roginskii, now a Data Engineer at Best Buy Canada, hit exactly this wall: “I arrived in Vancouver with a decade of banking experience but struggled in technical cloud interviews. The Surfalytics course was exactly what I needed — balanced theory and hands-on practice. By May 1st I had secured my first full-time remote position.”
5. Orchestration, Docker, and Git
- Airflow — the standard scheduler; learn DAGs, tasks, retries
- Docker — package your pipeline so it runs anywhere; interviews increasingly assume it
- Git — branches and pull requests, since data engineering is a software job
6. dbt (bonus)
Knowing dbt lets you cover the transformation layer too, and makes you a candidate for analytics engineer roles as well.
Portfolio pipelines to build
Data engineering portfolios must show working pipelines, not analysis. Build two:
- A batch pipeline, end to end. Pull data from a public API daily, land raw files in cloud storage, load them into Snowflake or BigQuery, transform with SQL or dbt, and orchestrate everything with Airflow running in Docker. This one project touches the whole interview checklist.
- A smaller focused project. For example, a web-scraping-to-database script with tests and logging, or a streaming demo with a message queue.
Push both to GitHub with README files that include an architecture diagram. The Surfalytics pet projects library has guided data engineering projects with this structure, and the full curriculum explains each component before you assemble them.
How the job search works
- Titles to search: Data Engineer, ETL Developer, BI Engineer, Analytics Engineer. Junior data engineer postings are rarer than junior analyst postings, so cast wider.
- Resume: name the exact stack: Python, SQL, Airflow, Snowflake, AWS, Docker, Git. Reframe past work in data terms.
- Interviews: expect live SQL, a Python exercise, and a pipeline design discussion (“design a pipeline that loads daily orders”). Practice explaining trade-offs out loud — mock interviews are the fastest fix.
- The pivot path: many people enter via an analyst job first. Alex L. in Canada did the opposite pivot after 220 analyst applications stalled: “With the support of the Surfalytics community — especially Dmitry — I pivoted to data engineering. Within three months I applied to 45 jobs and landed an offer.”
More member outcomes are on the testimonials page.
Interview questions to expect
Data engineering loops are longer than analyst loops — usually four or five rounds:
- SQL round: joins on messy keys, deduplication, window functions, and “this query is slow — why?”
- Python round: parse a file or API response, handle bad records, write clean functions. Rarely algorithm-heavy at entry level, but you must code live without a notebook.
- Pipeline design: “Design a daily pipeline that loads orders from a payments API into the warehouse.” Talk through extraction, idempotency, retries, late data, and monitoring. Structure beats buzzwords.
- Cloud and systems basics: what S3 is, batch vs streaming, what happens when a job fails at 3 a.m.
- Behavioral: ownership stories — a time you debugged something end to end.
The design round scares beginners most and is the most learnable: pick one template (extract → land raw → load → transform → validate → alert) and practice applying it to five different scenarios out loud.
Common mistakes on this path
- Skipping SQL depth because “engineers write Python”. SQL rounds filter out more candidates than Python rounds.
- Learning tools in isolation. Ten disconnected tutorials teach less than one pipeline that uses five tools together.
- Staying local. A pipeline on your laptop answers no cloud questions. Deploy the portfolio project to a free tier.
- Big data framework detours. Spark and Kafka are rarely required for junior roles; warehouses and Airflow are. Add streaming later.
- Not applying to adjacent titles. ETL Developer and BI Engineer postings often have easier bars and the same day-to-day work.
Realistic timeline
| Month | Focus |
|---|---|
| 1-2 | SQL + Python fundamentals |
| 3-4 | Warehousing, ETL concepts, cloud basics |
| 5 | Big portfolio pipeline (Airflow, Docker, cloud) |
| 6+ | Applications, interview loops, keep building |
With prior programming or analyst experience, cut this roughly in half. Starting from zero, 6-9 months of consistent effort is honest; a “data engineering course” that promises the job in six weeks is not.
Salary expectations
Typical ranges, not promises:
- US: $85K-$110K entry level; $120K-$160K+ with 2-4 years
- Canada: $75K-$95K CAD entry; $110K-$140K CAD with experience
Data engineering is the strongest driver of the 2-3x income growth Surfalytics members typically see, and established members in Canada and the US average around $150K.
How Surfalytics helps
Surfalytics replaces the expensive bootcamp model with a community: a structured curriculum through SQL, BI, ETL, and cloud, a personal roadmap, real portfolio projects, plus mock interviews and resume reviews from working data engineers. Start with the 7-day free trial on the pricing page.
Frequently asked questions
Can I become a data engineer without a computer science degree? ▾
Yes. Many data engineers come from analyst roles, backend development, or unrelated fields entirely. Interviewers test SQL, Python, and pipeline design — not your diploma. A portfolio of working pipelines answers the experience question.
Is a data engineering bootcamp worth it? ▾
Most bootcamps charge $10K-$20K for content you can get for far less. What actually gets you hired is hands-on projects, interview practice, and people who review your work. Judge any program by those three things, not by its certificate.
Should I learn data analysis before data engineering? ▾
It is the easier path for most people. Analyst roles have a shorter skill list, and 1-2 years of analyst experience plus Python and cloud skills is a common bridge into data engineering. Going straight to data engineering works too if you have programming background.
What is the hardest part of becoming a data engineer? ▾
Cloud platforms. SQL and Python have endless free practice resources, but real AWS or Azure experience is what most career changers lack. Building portfolio pipelines on a cloud free tier closes that gap.
How much do entry-level data engineers make? ▾
Typical ranges are $85K-$110K USD in the US and $75K-$95K CAD in Canada for a first data engineering role, rising quickly with cloud experience. It is usually the highest-paying entry point among data roles.
Ready to ride the wave?
Join the next cohort. Personalized roadmap delivered the moment you sign up.
Get started — it takes 2 minutes