Data engineering roadmap, portfolio, certifications and resume

Long lists of tools and badges rarely get anyone hired. Projects with numbers do. In this lesson you build a roadmap from your own skills and hours, choose the certification that matches the jobs you want, design a portfolio project reviewers trust, and rewrite resume bullets from vague duties into results, with a program that scores them.

Module 6 · Careers⏱ 30 minBeginner → AdvancedRuns in your browser (Python)3 real-time scenariosRoadmap planner for your PC9 practice problems
1 The story

Badges or evidence?

Kabir’s internship at TiffinGo ends in three months, and the full-time data engineer role will be open to outside candidates too. His friends have long lists of certificates and courses on their resumes. Kabir has a list of every tool he has heard of, two vague bullet points and no projects outside work.

Kabir’s resume, version 1• Worked on data pipelines using various tools• Responsible for Spark jobs• Skills: Python, SQL, Spark, Kafka, AWS, Azure, GCP, Hadoop, Hive, Flink, …Version 4• Reduced a nightly PySpark job from 3 h to 25 min (skew fix, date partitions)• Built an Airflow DAG loading 2 lakh orders a day into Delta tables• Project: UPI-style payments pipeline ↗ Hiring teams look for evidence, not lists of tool names. myphatshala.in
Kabir

Sir, should I do five certifications before the interview? Everyone on LinkedIn has a wall of badges.

Arjun Sir

One good certification can help, Kabir, especially for cloud roles. But what gets you shortlisted is evidence: specific results with numbers, and a project an interviewer can open and run.

Riya

But freshers don’t have results. What do we write?

Arjun Sir

Projects are your results, Riya. “Built a pipeline that ingests 10 lakh rows, checks quality and serves a dashboard, with tests and an architecture diagram” beats “knows Spark” every time.

Kabir

And what should I learn first? There’s so much.

Arjun Sir

A roadmap in order: foundations first (SQL, Python, Linux, Git, modelling), then distributed processing, orchestration, streaming, one cloud and a lakehouse, with a portfolio project tying it together. Today you’ll build that plan for your own hours, fix your resume bullets with a scoring program, and see what a strong portfolio repository looks like.

2 Definition

Roadmap, portfolio, certifications and resume

Formal definition (write this in exams)

A career roadmap for data engineering is an ordered plan of skills, projects and credentials leading to employment and growth in roles that design, build and operate data pipelines and platforms. Core competencies include SQL, programming (usually Python), data modelling, distributed processing, orchestration, streaming, cloud data services and data quality. Employability is demonstrated through a portfolio of documented projects, a resume with measurable achievements, and optionally vendor certifications that validate platform knowledge.

In simple words

Learn the skills in a sensible order, prove them with projects people can see, write a resume that shows results with numbers, and add a certification only where it helps with the jobs you want.

Words you’ll meet in this lesson

Portfolio projectA complete project you can show: code, README, architecture diagram, sample data and results.
ATSApplicant tracking system: software many companies use to store, search and filter applications.
Quantified bulletA resume line with an action, a tool and a measurable result (“from 3 h to 25 min”).
Associate / professional certificationVendor exams at entry and advanced levels, usually valid for 2–3 years.
ReferralAn employee recommending you for a role; often the most effective way to get an interview.
Take-home assignmentA small project set by a company during hiring, judged on correctness, clarity and tests.
STARSituation, Task, Action, Result: a structure for answering behavioural questions.
Medallion architectureBronze, silver and gold layers in a lakehouse; a common portfolio project structure.

Your data engineering career plan at three levels

Pick your level. New to this? Start at Beginner and climb.

Beginner Getting started (0–3 months)

  • SQL deeply: joins, GROUP BY, window functions, CTEs, query plans. It is in nearly every data engineering interview.
  • Python for data: files, JSON, CSV, functions, error handling, pandas basics, writing small scripts.
  • Linux, Git and the command line: navigating servers, shell scripts, branches, pull requests.
  • Data modelling: normalisation for transaction systems, star schemas (facts and dimensions) for analytics.
  • First small project on GitHub with a clear README.

Intermediate Becoming job-ready (3–8 months)

  • Distributed processing: Spark (PySpark DataFrames, partitions, joins, shuffles) and file formats (Parquet).
  • Orchestration: Airflow DAGs, scheduling, retries, backfills; dbt for SQL transformations and tests.
  • Streaming basics: Kafka topics, partitions, consumer groups; when to use streaming.
  • One cloud well: its object storage, managed Spark, warehouse and IAM. Optionally one associate-level certification.
  • Lakehouse: Delta Lake or Iceberg tables, medallion layers, data quality checks.
  • An end-to-end portfolio project; a resume with quantified bullets; active applications.

Advanced Growing after you are hired

  • Depth: Spark tuning, cost optimisation, data modelling at scale, streaming with exactly-once semantics.
  • Engineering practice: testing, CI/CD for data, infrastructure as code (Terraform), observability, code review.
  • Ownership: data contracts, governance, on-call, design documents and estimating cost and capacity.
  • Paths: senior/staff data engineer, analytics engineer, platform or streaming engineer, ML/data platform engineer, data architect, engineering manager.

Exam tip: Describe a learning path for a data engineer (foundations → processing → orchestration → streaming → cloud → lakehouse → projects), explain why projects and quantified results matter more than tool lists, and name one certification each for AWS, Azure, Google Cloud and Databricks.

3 Types and ways to use it

Certifications and other ways to prove skills

CertificationProviderLevelGood for
AWS Certified Data Engineer – Associate (DEA-C01)Amazon Web ServicesAssociateRoles on AWS: S3, Glue, EMR, Redshift, Kinesis
Microsoft Certified: Fabric Data Engineer Associate (DP-700)MicrosoftAssociateAzure / Microsoft Fabric shops (DP-203 was retired in 2025)
Google Cloud Professional Data EngineerGoogle CloudProfessionalBigQuery, Dataflow, Pub/Sub, Dataproc roles
Databricks Certified Data Engineer Associate / ProfessionalDatabricksAssociate / ProfessionalSpark and lakehouse roles on any cloud
SnowPro Core (then SnowPro Advanced: Data Engineer)SnowflakeCore / AdvancedSnowflake-based analytics teams
Confluent Certified Developer for Apache KafkaConfluentDeveloperStreaming-heavy roles

Exam fees are roughly US$150–200 each as of mid-2026 (DataCamp’s certification guide, July 2026). Names, fees and validity change; always check the provider’s certification page.

Four ways to prove your skills

Projects

End-to-end pipelines on GitHub with README, diagram, tests and results. The strongest evidence for freshers.

Most weight

Work and internships

Quantified achievements: data volumes, time saved, cost cut, errors prevented.

Real impact

Certifications

Validate platform knowledge and help pass resume filters, especially for cloud roles and service companies.

Signal

Writing and community

Blog posts explaining what you built, answers on forums, talks at meetups, open-source contributions.

Visibility

Pick the certification that matches the jobs you are applying for (look at 20 job posts first), and take it after you have built something on that platform. Passing is much easier when the services are familiar.

4 Step by step

From job posts to interviews

  1. Study 20 job posts

    Collect 20 data engineer postings for roles you want (product companies, service companies, start-ups) and count the skills that repeat.

    In India, SQL, Python, Spark, a cloud, Airflow and data modelling appear in most posts. The posts tell you what to learn and which certification matters.
  2. Make a time-boxed plan

    hours_needed, hours_per_week = 367, 12
    weeks = -(-hours_needed // hours_per_week)
    print(weeks, "weeks, about", round(weeks / 4.3, 1), "months")
    31 weeks, about 7.2 months
    Honest hours per week turn a vague goal into a date. Skip what you already know well; spend most time on gaps.
  3. Build one end-to-end project

    Ingest real data (for example from data.gov.in or a public API), land it raw, clean it with Spark or dbt, run quality checks, orchestrate with Airflow, and serve a small dashboard.

    One complete, documented project beats five half-finished notebooks. Interviewers ask about decisions, so write them down in the README.
  4. Write quantified resume bullets

    bullet = "Reduced a nightly PySpark job from 3 h to 25 min"
    print("has a number:", any(ch.isdigit() for ch in bullet))
    print("starts with action:", bullet.split()[0] in ("Built", "Reduced", "Designed"))
    has a number: True starts with action: True
    Use action + tool + scale + result. Keep the resume to one page as a fresher, with projects above a skills list.
  5. Apply with referrals and polish your profiles

    Update LinkedIn and GitHub, ask former classmates and colleagues for referrals, apply on job portals and company career pages, and track every application in a sheet.

    Referrals and direct messages to hiring managers often get faster replies than portal applications alone.
  6. Prepare for interviews

    Practise SQL and Python problems, Spark and data-modelling questions, a system design for a pipeline, and STAR stories about your projects. The next lesson has a full question bank.

    Most data engineering rounds are SQL, coding, a project deep-dive, design and a behavioural round.
5 See it happen

A resume in 30 seconds: what the recruiter sees, and what she checks

Step through the six frames. Left: Kabir’s resume as the recruiter scans it. Right: the questions in her mind.

What the recruiter sees, and what she is checking 6 steps
What you see KABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associateopened from 180 applicationsKABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associateeyes go to the projects firstKABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associatethen the internship resultKABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associatea short, relevant skills lineKABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associateeducation and one certificationKABIR SHAH · Data Engineer (Fresher)github.com/kabir-de · PuneProjectsExperienceSkillsEducation & certification• Payments pipeline: Kafka → Spark → Delta, 10 lakh rows/day• TiffinGo intern: PySpark job 3 h → 25 minSQL · Python · PySpark · Airflow · AWSB.Tech CSE · AWS Data Engineer – Associateabout 30 seconds: shortlist myphatshala.in
Behind the screen Filter: search applicationsfor “Spark”, “SQL”, “Airflow”, “AWS”.Kabir’s resume matches the role’s words.(An ATS or a human keyword search.)Is there a real project?A named pipeline with a scale (10 lakh rows/day)and a link they can open.✓ evidence, not just claimsIs there measurable impact?3 h → 25 min shows he understands Sparkperformance, not just syntax.✓ a great interview topicDo the skills match the job?Five relevant tools, no 25-item list.Each one appears in a project or bullet.✓ believableBasic requirements met?Degree and one relevant certification.Nice to have, rarely the deciding factor.✓Decision: shortlistInterview questions already forming:“Why Delta?” “How did you fix the skew?”Your resume sets your interview agenda. myphatshala.in
6 Real-world use

Real-time scenarios: roadmap, resume and portfolio

Three live scenarios: a personal roadmap (numbers from the program below), one resume bullet improving from 0/4 to 4/4, and an advanced look at a portfolio repository that reviewers trust.

Real-time scenario 1

An 8-month roadmap built from Kabir’s own skills

These figures come from the program in “Run it on your PC” below. It skips what Kabir already knows and spreads the rest across 12 hours a week.

Personal roadmap 5 steps
Animated example Weeks at 12 hours a week (from the planner program)1–67–9now: Data modellingWeeks 1–9: foundations. Kabir is good at SQL andPython already, so he only revises (20 h each).Weeks at 12 hours a week (from the planner program)1–67–910–1516–18now: AirflowWeeks 10–18: Spark from scratch (70 h),then Airflow for scheduling and retries.Weeks at 12 hours a week (from the planner program)1–67–910–1516–1819–2122–26now: One cloudWeeks 19–26: Kafka basics and one cloud(storage, managed Spark, warehouse, IAM).Weeks at 12 hours a week (from the planner program)1–67–910–1516–1819–2122–2627–30now: Lakehouse + dbtWeeks 27–30: Delta Lake and dbt,bronze/silver/gold, quality tests.Weeks at 12 hours a week (from the planner program)1–67–910–1516–1819–2122–2627–3031–35now: Portfolio projectWeeks 31–35: one end-to-end project.Total 367 hours, about 8 months. myphatshala.in
Real-time scenario 2

One bullet, four versions

The scores come from the program below, which checks each bullet for an action verb, a named tool, a number and an impact. Watch a vague line become an interview magnet.

Resume bullets 5 steps
Animated example Worked on data pipelines using various tools.score 0/4missing: verb, tool, number, impact“Worked on” and “various tools” say nothing.An interviewer can’t ask anything about it.Responsible for Spark jobs.score 1/4missing: verb, number, impactA tool appears, but “responsible for”is a duty, not an achievement.Built an Airflow DAG that loads 2 lakh orders a dayinto Delta tables.score 3/4missing: impactAction, tools and scale. Better.What changed because of it?Reduced a nightly PySpark job from 3 h to 25 minby fixing skewed joins and partitioning by date.score 4/4all four presentAction + tool + method + measurable result.Every word can be discussed in an interview.Reduced a nightly PySpark job from 3 h to 25 minby fixing skewed joins and partitioning by date.score 4/4true and explainable?Only write what you did and can explainin depth. Interviewers will dig into it. myphatshala.in
Real-time scenario 3 · advanced

A portfolio repository a senior engineer would trust

Hiring managers often open a candidate’s main project for two minutes. Watch what turns a folder of notebooks into evidence of professional skill.

Portfolio quality 5 steps
Animated example github.com/kabir-de/payments-lakehouse✓ README: problem, architecture diagram, how to run○ docker-compose: Kafka, Spark, Airflow, MinIO locally○ pipelines/ with bronze → silver → gold code○ tests/ + data quality checks, CI on every push○ results: dashboard screenshot, data volumes, costs, lessons learntThe README answers in 1 minute: what problem,what architecture, how to run it, what result.github.com/kabir-de/payments-lakehouse✓ README: problem, architecture diagram, how to run✓ docker-compose: Kafka, Spark, Airflow, MinIO locally○ pipelines/ with bronze → silver → gold code○ tests/ + data quality checks, CI on every push○ results: dashboard screenshot, data volumes, costs, lessons learntAnyone can run it locally with one command:docker compose up.github.com/kabir-de/payments-lakehouse✓ README: problem, architecture diagram, how to run✓ docker-compose: Kafka, Spark, Airflow, MinIO locally✓ pipelines/ with bronze → silver → gold code○ tests/ + data quality checks, CI on every push○ results: dashboard screenshot, data volumes, costs, lessons learntClear layers, small functions, config separatefrom code; no secrets committed.github.com/kabir-de/payments-lakehouse✓ README: problem, architecture diagram, how to run✓ docker-compose: Kafka, Spark, Airflow, MinIO locally✓ pipelines/ with bronze → silver → gold code✓ tests/ + data quality checks, CI on every push○ results: dashboard screenshot, data volumes, costs, lessons learntUnit tests and data quality checks run in CI(e.g. GitHub Actions) on every push.github.com/kabir-de/payments-lakehouse✓ README: problem, architecture diagram, how to run✓ docker-compose: Kafka, Spark, Airflow, MinIO locally✓ pipelines/ with bronze → silver → gold code✓ tests/ + data quality checks, CI on every push✓ results: dashboard screenshot, data volumes, costs, lessons learntResults with numbers and honest limitations:the part interviewers love to discuss. myphatshala.in

Portfolio project ideas with Indian data

₹ UPI

1. Payments analytics lakehouse

Simulate UPI-style transactions into Kafka, process them with Spark Structured Streaming into Delta tables, flag suspicious patterns and build daily settlement reports.

Kafka→Spark → Delta→Fraud + reports

2. Railway or metro performance

Use public timetable or delay data, model it as a star schema, load with Airflow daily and show punctuality by route and station.

Open data→Airflow + dbt→Punctuality dashboard

3. Air quality across cities

Collect air-quality readings from public sources (for example data.gov.in), clean and partition by city and date, and alert when levels cross thresholds.

API ingest→Partitioned Parquet→Alerts + trends

4. E-commerce clickstream

Generate sale-day clickstream, compute live funnels (view → cart → buy) and hourly product rankings, with batch reprocessing for corrections.

Events→Streaming + batch→Live funnel

A one-page fresher resume, top to bottom

SectionWhat to includeAvoid
HeaderName, target role, city, email, phone, GitHub and LinkedIn linksPhotos, date of birth, full address
Summary (optional, 2 lines)Target role and your strongest evidenceGeneric “hard-working team player”
Projects2–3 projects: what, tools, scale, result, linkTutorial copies without your own decisions
Experience / internshipsQuantified bullets: action + tool + scale + resultDuties (“responsible for…”)
SkillsThe tools you can discuss in depth, grouped25-item lists, skill-level bars
Education and certificationsDegree, college, year; relevant certificationsUnrelated certificates

Sources

7 Run the code

Plan your roadmap from your own skills

Rate yourself from 0 to 3 in each skill. The program works out the hours you still need and the weeks it will take at your pace. Then try the challenges: job-post keyword counts, bullet checks, application tracking and certification choices.

skills = {            # skill: (hours from zero, your level 0-3)
    "SQL": (60, 2),
    "Python": (60, 2),
    "Spark": (70, 0),
    "Airflow": (30, 0),
    "Cloud": (50, 1),
    "Project": (60, 0),
}
hours_per_week = 10
total = 0
for skill, (hours, level) in skills.items():
    need = round(hours * (3 - level) / 3)
    total += need
    print(f"{skill:8}: {need:3} h")
print(f"total {total} h -> {total / hours_per_week:.0f} weeks at {hours_per_week} h/week")
SQL : 20 h Python : 20 h Spark : 70 h Airflow : 30 h Cloud : 33 h Project : 60 h total 233 h -> 23 weeks at 10 h/week
  • need = round(hours * (3 - level) / 3)Level 3 means nothing left to learn; level 0 means the full hours.
  • hours_per_week = 10Be honest: a plan based on real hours gives a real date.

Run it on your PC: roadmap planner and resume-bullet scorer

This program plans a 10-skill data engineering roadmap from your self-ratings and weekly hours, then scores resume bullets for an action verb, a named tool, a number and an impact. Edit the levels, hours and bullets to your own and run it again. Save it as career_planner.py.

Your weeks, and your bullets

"""Plan a data engineering learning roadmap from your current skills,
then score resume bullets the way a busy reviewer would."""
import re

# 1) skills: (hours needed from zero, your level 0-3)
skills = {
    "SQL (joins, windows, CTEs)": (60, 2),
    "Python for data": (60, 2),
    "Linux, Git, shell": (25, 1),
    "Data modelling (star schema)": (30, 0),
    "Spark / PySpark": (70, 0),
    "Airflow orchestration": (30, 0),
    "Kafka basics": (30, 0),
    "One cloud (storage, Spark, warehouse)": (50, 0),
    "Lakehouse: Delta / Iceberg, dbt": (40, 0),
    "Portfolio project end to end": (60, 0),
}
HOURS_PER_WEEK = 12
week, plan = 1, []
for skill, (hours, level) in skills.items():
    need = round(hours * (3 - level) / 3)
    if need == 0:
        continue
    weeks = -(-need // HOURS_PER_WEEK)          # ceiling division
    plan.append((week, week + weeks - 1, skill, need))
    week += weeks
print(f"Roadmap at {HOURS_PER_WEEK} hours a week:")
for start, end, skill, need in plan:
    print(f"  weeks {start:2}-{end:2}: {skill:38} ({need} h)")
print(f"Total: {sum(p[3] for p in plan)} hours, about {week - 1} weeks ({(week - 1) / 4.3:.1f} months)")

# 2) resume bullets: action verb + tool + number + impact
VERBS = ("built", "designed", "reduced", "migrated", "automated", "optimised", "optimized", "created", "led", "improved")
TOOLS = ("spark", "pyspark", "airflow", "kafka", "sql", "python", "dbt", "delta", "parquet", "aws", "azure", "gcp", "bigquery", "s3")
def score(bullet):
    b = bullet.lower()
    checks = {
        "action verb": b.split()[0] in VERBS,
        "tool named": any(t in re.findall(r"[a-z0-9]+", b) for t in TOOLS),
        "number": bool(re.search(r"\d", b)),
        "impact": any(w in b for w in ("reduc", "faster", "saving", "cut", "improv", "%", "from")),
    }
    return sum(checks.values()), [k for k, ok in checks.items() if not ok]

bullets = [
    "Worked on data pipelines using various tools.",
    "Responsible for Spark jobs.",
    "Built an Airflow DAG that loads 2 lakh orders a day into Delta tables.",
    "Reduced a nightly PySpark job from 3 h to 25 min by fixing skewed joins and partitioning by date.",
]
print("\nResume bullet scores (out of 4):")
for b in bullets:
    s, missing = score(b)
    print(f"  {s}/4  {b}")
    if missing:
        print(f"        missing: {', '.join(missing)}")

# In a terminal:  python career_planner.py
Roadmap at 12 hours a week: weeks 1- 2: SQL (joins, windows, CTEs) (20 h) weeks 3- 4: Python for data (20 h) weeks 5- 6: Linux, Git, shell (17 h) weeks 7- 9: Data modelling (star schema) (30 h) weeks 10-15: Spark / PySpark (70 h) weeks 16-18: Airflow orchestration (30 h) weeks 19-21: Kafka basics (30 h) weeks 22-26: One cloud (storage, Spark, warehouse) (50 h) weeks 27-30: Lakehouse: Delta / Iceberg, dbt (40 h) weeks 31-35: Portfolio project end to end (60 h) Total: 367 hours, about 35 weeks (8.1 months) Resume bullet scores (out of 4): 0/4 Worked on data pipelines using various tools. missing: action verb, tool named, number, impact 1/4 Responsible for Spark jobs. missing: action verb, number, impact 3/4 Built an Airflow DAG that loads 2 lakh orders a day into Delta tables. missing: impact 4/4 Reduced a nightly PySpark job from 3 h to 25 min by fixing skewed joins and partitioning by date.

Recorded from a real run with Python 3.13 (standard library only). The hour estimates are rough guides for focused study; adjust them to your pace. The bullet scorer is a simple checklist, not a replacement for feedback from an experienced engineer.

8 Line by line

Turning skills into weeks

Three skills with your current level are converted into hours still needed and a running week count.

Worked examples: real problems, solved and traced in memory

Four career-planning calculations. Each runs live and is traced.

Example 1BeginnerPlanning · dates

When will I be job-ready?

Problem statement

Kabir needs 367 hours of study and can do 12 hours a week, starting on 1 November 2026. On which date does he finish?

Input
367 hours, 12 h/week, start 2026-11-01
Expected output
31 weeks -> finish on 2027-06-06

Approach

  1. Weeks = ceiling of hours ÷ hours per week.
  2. Add that many weeks to the start date.
  3. Print the date.

Solution: run it live

What happens in memory, step by step

Recorded from a real Python run: press Next to execute one line at a time. Watch variables change in each frame, and lists and dictionaries (numbered #1, #2 …) fill up as objects.

Example 2IntermediateJob search · keywords

Skills your resume is missing

Problem statement

Compare the skills in a job description with the skills on a resume. Print what matches and what is missing.

Input
job skills set, resume skills set
Expected output
match  : ['python', 'spark', 'sql']
missing: ['airflow', 'aws', 'data modelling']
coverage: 50%

Approach

  1. Store both as sets.
  2. Intersection = matching skills.
  3. Difference = skills to add (only if you really have them) or learn.

Solution: run it live

What happens in memory, step by step

Recorded from a real Python run: press Next to execute one line at a time. Watch variables change in each frame, and lists and dictionaries (numbered #1, #2 …) fill up as objects.

Example 3IntermediateResume · scoring

Rank bullets by strength

Problem statement

Score each bullet: +1 action verb, +1 number, +1 named tool. Print bullets from strongest to weakest.

Input
3 bullets
Expected output
3 Built Kafka consumer for 5k events/s
2 Automated SQL checks
0 Helped team with reports

Approach

  1. Write a score function with three checks.
  2. Sort bullets by score, highest first.
  3. Rewrite the weakest first.

Solution: run it live

What happens in memory, step by step

Recorded from a real Python run: press Next to execute one line at a time. Watch variables change in each frame, and lists and dictionaries (numbered #1, #2 …) fill up as objects.

Example 4AdvancedJob search · funnel

How many applications do I need?

Problem statement

From past data: 12% of applications get a recruiter call, 45% of calls reach a technical round, 30% of technical rounds lead to an offer. How many applications for an expected 2 offers? How does that change if referrals double the call rate?

Input
12% → 45% → 30%, target 2 offers
Expected output
portals only   : 1.62% per application -> 124 applications
with referrals : 3.24% per application -> 62 applications

Approach

  1. Offer rate per application = product of the stage rates.
  2. Applications = target ÷ offer rate, rounded up.
  3. Repeat with a 24% call rate.

Solution: run it live

What happens in memory, step by step

Recorded from a real Python run: press Next to execute one line at a time. Watch variables change in each frame, and lists and dictionaries (numbered #1, #2 …) fill up as objects.

9 Quiz and revision

Check yourself

Quick revision

Lesson 6.2 in one screen

  • Roadmap: SQL, Python, Linux/Git, modelling → Spark → Airflow/dbt → Kafka → one cloud → lakehouse → project.
  • Study 20 job posts first; learn what repeats; plan with honest hours per week.
  • Evidence beats lists: 2–3 end-to-end projects with README, diagram, tests, results and links.
  • Bullets = action + tool + scale + result; one page; only what you can explain in depth.
  • Certs: AWS DEA-C01 · Microsoft DP-700 (DP-203 retired) · Google Professional Data Engineer · Databricks · SnowPro · Confluent.
  • Take a certification after hands-on work on that platform, matched to target jobs.
  • Apply with referrals, track a funnel, prepare SQL, coding, design and STAR stories.

Interview and viva questions

How do I become a data engineer as a fresher in India?

Learn SQL and Python thoroughly, then data modelling, Spark, an orchestrator such as Airflow, the basics of Kafka and one cloud platform. Build two or three end-to-end projects on GitHub with clear documentation, write a one-page resume with quantified bullets, apply through referrals, job portals and company career pages, and practise SQL, coding and pipeline design questions.

Which certification is best for data engineers?

The best one matches the jobs you target: AWS Certified Data Engineer – Associate for AWS roles, Microsoft Certified: Fabric Data Engineer Associate (DP-700) for Azure and Fabric, Google Cloud Professional Data Engineer for GCP, and Databricks Certified Data Engineer Associate for Spark and lakehouse roles. Certifications help most when combined with projects on the same platform.

What projects should a data engineer have in a portfolio?

End-to-end projects that ingest real or realistic data, store it in layers (bronze, silver, gold), transform it with Spark or dbt, run data quality checks, are orchestrated by Airflow, and serve results in a dashboard or table. Include a README with problem, architecture diagram, run instructions, results and limitations; add tests and CI if possible. Examples: payments streaming with Kafka and Spark, public transport punctuality, air quality monitoring, e-commerce clickstream funnels.

How long does it take to become a data engineer?

With prior programming knowledge, a focused learner studying 10–15 hours a week can usually become job-ready in about 6–9 months; full-time study can shorten that. The time depends on your starting skills, so plan from an honest self-assessment and measure progress with finished projects.

How should a data engineer write a resume?

Keep it to one page for freshers, with a header including GitHub and LinkedIn links, projects near the top, and bullets written as action plus tool plus scale plus result. List only tools you can discuss in depth, add relevant certifications, avoid duties and generic adjectives, and tailor keywords to each job description truthfully.

Practice problems

Small career-planning programs. The last two are business-style tasks.

P1Easy

Hours to weeks

You need 120 hours and study 9 hours a week. Print the number of weeks (round up).

Input
120 h, 9 h/week
Expected output
14
Show solution and explanation
print(-(-120 // 9))
14

How it works: Ceiling division: -(-a // b).

P2Easy

Most common skill

Print the most common skill in ["SQL", "Spark", "SQL", "Python", "SQL", "Spark"].

Input
list
Expected output
[('SQL', 3)]
Show solution and explanation
from collections import Counter
print(Counter(["SQL", "Spark", "SQL", "Python", "SQL", "Spark"]).most_common(1))
[('SQL', 3)]

How it works: Counting skills across job posts shows what to learn first.

P3Easy

Has a number?

Print whether "Built 3 Airflow DAGs" contains a digit.

Input
bullet
Expected output
True
Show solution and explanation
print(any(c.isdigit() for c in "Built 3 Airflow DAGs"))
True

How it works: Numbers make bullets concrete.

P4Medium

Skill coverage

Job needs {sql, python, spark, aws}; you have {sql, python, excel}. Print coverage as a percentage.

Input
two sets
Expected output
50%
Show solution and explanation
job, me = {"sql", "python", "spark", "aws"}, {"sql", "python", "excel"}
print(f"{len(job & me) / len(job):.0%}")
50%

How it works: Set intersection finds matching skills.

P5Medium

Reply rate

You sent 40 applications and got 6 replies. Print the reply rate.

Input
6/40
Expected output
15%
Show solution and explanation
print(f"{6 / 40:.0%}")
15%

How it works: Track your funnel to see what works.

P6Advanced

Funnel offers

60 applications, 15% calls, 50% pass technical, 35% offers. Print expected offers.

Input
as given
Expected output
1.57
Show solution and explanation
print(round(60 * 0.15 * 0.50 * 0.35, 2))
1.57

How it works: Multiply through each stage of the funnel.

P7Advanced

Weakest bullet

Scores {"A": 2, "B": 4, "C": 1}. Print the bullet to rewrite first.

Input
dict
Expected output
C
Show solution and explanation
s = {"A": 2, "B": 4, "C": 1}
print(min(s, key=s.get))
C

How it works: Improve the weakest evidence first.

P8Business problem

Certification return

A certification costs US$150 (about Rs 13,000) and 40 hours of study. If it raises your interview rate from 10% to 13% across 50 applications, print the extra interviews expected.

Input
50 apps, 10% → 13%
Expected output
1.5 extra interviews
Show solution and explanation
print(round(50 * (0.13 - 0.10), 1), "extra interviews")
1.5 extra interviews

How it works: Weigh the cost of a credential against what it actually changes.

P9Business problem

Study budget

You can study 2 hours on weekdays and 5 hours on weekend days. Print hours per week and weeks for a 367-hour plan.

Input
2×5 + 5×2
Expected output
20 h/week, 19 weeks
Show solution and explanation
h = 2 * 5 + 5 * 2
print(h, "h/week,", -(-367 // h), "weeks")
20 h/week, 19 weeks

How it works: A realistic weekly budget turns a plan into a date.

Real-world scenario questions (asked in company interviews)

Career questions students and early-career engineers ask. Decide your answer first, then open the model answer.

Career planningFresher

“I have 6 months. What should I learn?”

A final-year student wants a data engineering job in six months and asks for a plan.

The interviewer is checking: can you prioritise ruthlessly?

Show a strong answer
  1. Weeks 1–6: SQL (windows, CTEs), Python, Git and Linux, data modelling.
  2. Weeks 7–14: PySpark and Parquet, then Airflow and dbt.
  3. Weeks 15–18: one cloud’s storage, Spark and warehouse; Kafka basics.
  4. Weeks 19–24: one end-to-end project, resume, applications and interview practice (SQL daily).

Skip Hadoop administration, multiple clouds and five certifications; depth in the core beats breadth.

Avoid: trying to learn every tool on a “roadmap” poster.

ResumeFresher

Fix this resume

A resume lists 30 tools, has no projects and says “responsible for data pipelines” for an internship.

The interviewer is checking: can you turn duties into evidence?

Show a strong answer
  • Cut skills to tools the candidate can discuss in depth.
  • Add 2–3 projects with tools, scale, results and GitHub links, above the skills section.
  • Rewrite each bullet as action + tool + scale + result, for example “Automated a daily sales load with Airflow, cutting manual work by 2 hours a day”.
  • Keep it to one page and check each line is true and explainable.

Avoid: adding more tools or decorative design.

Certifications1–3 years

Which certification first?

An analyst moving into data engineering has budget for one certification and works at a company on Azure.

The interviewer is checking: can you link a certification to real goals?

Show a strong answer

Start with the platform you use or the jobs you target. On Azure/Microsoft Fabric that is the Fabric Data Engineer Associate (DP-700); on AWS the AWS Certified Data Engineer – Associate; on Google Cloud the Professional Data Engineer; for Spark/lakehouse roles the Databricks Data Engineer Associate. Take it after building something on that platform, and pair it with a project so the badge has evidence behind it.

Avoid: choosing the most popular badge without checking job posts.

Interview · behaviouralFresher

“Tell me about your project.”

The first question in most data engineering interviews.

The interviewer is checking: can you explain your project clearly and honestly in 2 minutes?

Show a strong answer

Use a clear structure: problem (what and why), architecture (sources → ingestion → storage → processing → serving, with tools), scale (rows, size, frequency), one hard problem you solved and how (STAR), result with numbers, and what you would improve. Be ready for “why this tool and not X?” and “what happens if this fails?”.

Avoid: reading the tool list or claiming work you didn’t do.