Three job posts, one confused student
Placement season. TiffinGo, where Kabir interned, has opened three positions: Data Engineer, Data Analyst and Data Scientist. All three job posts mention SQL and Python. Riya wants to apply but has no idea which role is hers, or what each person actually does all day. Kabir, now with a full-time offer, joins her in Arjun Sir's cabin.
Sir, all three posts ask for SQL and Python. Aren't they the same job with different titles?
They share tools, Riya, but they answer different questions. The data engineer asks “is the right data arriving, clean and on time?” The analyst asks “what happened, and why?” The scientist asks “what will happen next, and what should we do about it?”
At TiffinGo I saw it every day. When orders dropped one Friday, the analyst found it was rain in two areas, the scientist built a model that predicts rain-day demand, and the engineer piped live weather data into the platform.
So it's a relay race?
A relay where everyone runs at once. Today you'll see a full Monday for all three, compare their skills and career paths, and even run a program that tells you which role your current skills match best.
What do the three roles do?
A data engineer designs, builds and maintains the systems that collect, store, transform and deliver data reliably at scale: ingestion, pipelines, data lakes and warehouses, and their quality and performance. A data analyst examines prepared data to answer business questions, using SQL, spreadsheets, statistics and visualisation to produce reports, dashboards and recommendations about what happened and why. A data scientist uses statistics, machine learning and experimentation to build models that predict outcomes, find patterns and support decisions about what is likely to happen and what to do.
Engineer: makes sure the data is there, correct and on time. Analyst: explains what the data says about the past and present. Scientist: uses the data to predict the future and test ideas.
Words you'll meet in this lesson
The three roles at a glance
| Data engineer | Question: Is the data there, correct and on time? · Builds pipelines, lakes, warehouses · Python, SQL, Spark, Kafka, Airflow, cloud, Linux |
|---|---|
| Data analyst | Question: What happened and why? · Builds reports, dashboards, analyses · SQL, Excel, Power BI/Tableau, statistics, communication |
| Data scientist | Question: What will happen, and what should we do? · Builds models, experiments · Python, statistics, machine learning, SQL |
The three roles at three levels
Beginner The restaurant again
- Data engineer = the person who sets up the kitchen's supply chain: vegetables arrive fresh, on time, washed and in the right shelves, every single day.
- Data analyst = the person who reads the bills every evening and tells the owner: “Paneer sold out at 8 pm on Fridays; dal makhani sells less on Mondays.”
- Data scientist = the person who predicts next Friday's paneer demand from weather, cricket matches and festivals, and tests whether a new combo meal increases orders.
All three need the others. Without the engineer, the analyst has no data; without the analyst, nobody knows what is happening; without the scientist, the business only looks backwards.
Intermediate Skills, deliverables and a typical week
- Engineer: writes Python and SQL that runs every night; builds Spark jobs and Kafka consumers; schedules DAGs in Airflow; designs tables; fixes failures; adds data-quality checks. Success = pipelines that run on time, every time.
- Analyst: writes SQL queries; builds Power BI or Tableau dashboards; explains changes in KPIs; prepares weekly business reviews; turns vague questions (“why are sales down?”) into precise analyses. Success = decisions made from their insights.
- Scientist: explores data in notebooks; builds features; trains and evaluates models (scikit-learn, sometimes deep learning); designs A/B tests; explains uncertainty. Success = models and experiments that improve a business metric.
- Shared ground: all three use SQL daily, use Git, and must communicate clearly with non-technical people.
Advanced Adjacent roles, career paths and how AI is changing the work
- Adjacent roles: analytics engineer (between analyst and engineer: builds clean, tested models of data in SQL with tools like dbt), ML engineer (puts models into production and keeps them running), data architect (designs the whole platform), BI developer, MLOps engineer, data product manager.
- Seniority: junior → senior → lead/staff (deep technical ownership) or manager (people and planning). Seniority means owning bigger, more ambiguous problems, not just knowing more tools.
- Common switches: analyst → analytics engineer → data engineer; analyst → data scientist (with statistics and ML); software developer → data engineer; scientist → ML engineer.
- AI assistants now write much routine SQL and boilerplate code. This raises the value of what they can't do alone: understanding the business, judging data quality, designing reliable systems, and asking the right question.
- Hiring signals: a small real project you can explain end to end (a pipeline, a dashboard with insights, or a model with an honest evaluation) usually counts for more than a long list of certificates.
Exam tip: For “compare data engineer, data analyst and data scientist”, tabulate: main question, responsibilities, tools, deliverables, typical background and who uses their work. Add one line on how they depend on each other.
Side by side, and the roles in between
| Data engineer | Data analyst | Data scientist | |
|---|---|---|---|
| Main question | Is the data there, correct, on time? | What happened and why? | What will happen? What should we do? |
| Builds | Pipelines, lakes, warehouses, data models | Reports, dashboards, analyses | Predictive models, experiments |
| Core tools | Python, SQL, Spark, Kafka, Airflow, cloud, Linux, Git | SQL, Excel, Power BI / Tableau, some Python | Python (pandas, scikit-learn), SQL, statistics, notebooks |
| Maths needed | Moderate | Descriptive statistics | Strong statistics, probability, ML |
| Works mostly with | Platform and software teams | Business teams and managers | Product, business and engineering |
| A bad day | A pipeline failed at 2 am and dashboards are empty | Two dashboards show different numbers | A model that looked great in testing fails on real data |
| Typical start | CS/IT graduates, software developers | Any graduate with strong SQL/Excel (commerce, science, engineering) | Maths/statistics/CS graduates, often with a master's |
Roles in between (Advanced)
Analytics engineer
Turns raw warehouse tables into clean, tested, documented models with SQL and dbt, so analysts can trust them. A popular step from analyst towards engineering.
Analyst ↔ EngineerML engineer
Takes a scientist's model to production: serving, monitoring, retraining pipelines and performance at scale.
Scientist ↔ EngineerData architect
Designs the overall platform: which storage, which engines, how data is modelled, secured and governed across the company.
Senior engineeringIndicative salary ranges in India (2026)
| Experience | Data analyst | Data engineer | Data scientist |
|---|---|---|---|
| Fresher (0–2 years) | ₹3.5–6 LPA | ₹4–8 LPA | ₹6–9 LPA |
| Mid-level (3–6 years) | ₹6–12 LPA | ₹8–20 LPA | ₹12–22 LPA |
| Senior (7+ years) | ₹12–20 LPA and above | ₹15–35 LPA and above | ₹20–35 LPA and above |
Indicative ranges compiled from salary guides published in 2026 that draw on job portals and salary aggregators (such as Glassdoor India and AmbitionBox). Real offers vary widely by city, company type and skills: product companies and global capability centres often pay far more than these ranges, and specialised skills (cloud, streaming, ML engineering) raise pay further. Always check current listings before deciding.
Choose by the work you enjoy, not by the title. If you like building things that run reliably, try engineering. If you like explaining patterns to people, try analysis. If you like statistics and experiments, try data science. The first year's skills overlap a lot, so switching later is common.
One business question, three roles
The question
Monday morning, the city manager asks: “Why did Pune orders drop 12% last Friday, and will it happen again?”
A vague question. Each role turns part of it into precise work.Engineer: can we trust the data?
First, rule out a broken pipeline: were all of Friday's files loaded on time? They were, so the drop is real, not a data problem. Engineers save teams from analysing missing data.SELECT date, COUNT(*) AS orders, MAX(loaded_at) AS last_load FROM silver.orders WHERE city = 'Pune' AND date >= '2026-10-13' GROUP BY date ORDER BY date;Analyst: what happened and where?
The drop is concentrated in two areas, during 7–10 pm, when heavy rain was reported. The analyst shows it on a dashboard and explains it in two sentences to the manager.SELECT area, SUM(CASE WHEN date = '2026-10-17' THEN 1 ELSE 0 END) AS fri, SUM(CASE WHEN date = '2026-10-10' THEN 1 ELSE 0 END) AS last_fri FROM silver.orders WHERE city = 'Pune' GROUP BY area ORDER BY fri - last_fri;Scientist: will it happen again?
A demand model using weather, time and area predicts rainy-evening drops. The scientist also designs an A/B test: do higher rider incentives on rainy evenings recover the lost orders?from sklearn.ensemble import GradientBoostingRegressor model = GradientBoostingRegressor().fit(X_train, y_train) # features: hour, area, rain_mm, match_day … print(model.score(X_test, y_test))Engineer again: make it run every day
The model needs live rain data, so the engineer adds a weather feed to the pipeline and schedules the model's daily features.
This handover from notebook to production is where ML engineers and data engineers work closely with scientists. The result: on rainy evenings, rider incentives switch on automatically.
A Monday at TiffinGo: three screens, one platform
Step through six moments of the day. Left: whose screen we are looking at. Right: which part of the data platform they are working on.
- 09:00, data engineer: a nightly load failed because a new column appeared. Kabir fixes it and re-runs only the failed step.
- 10:30, data analyst: Priya compares the last two Fridays and finds the drop in two areas during rainy evening hours.
- 12:00, data scientist: Arnav trains a model that predicts demand from rain, hour and area, and checks its error honestly.
- 15:00, meeting: each role contributes one piece of the answer; the manager approves an experiment.
- 17:00: the engineer and scientist turn the notebook into scheduled pipeline tasks with a live weather feed.
- Next rainy Friday: incentives switch on automatically and the drop shrinks. The analyst measures the result. (Numbers illustrative.)
- The engineer works on the left of the platform: ingestion, storage, processing and orchestration.
- The analyst works on clean gold tables through SQL and BI tools.
- The scientist uses silver and sometimes raw data to build features and models.
- All three meet on the same platform, using SQL, Git and the data catalogue.
- Turning the model into a daily job needs both ends of the platform: new ingestion plus model scoring.
- Reliable data, clear insight and good predictions combine into one decision.
Careers in motion: three real-time scenarios
Watch the three roles respond to a live incident, see how careers grow over ten years, and (advanced) compare the skill profile each role needs.
Real-time scenario 1Diwali night: the dashboard shows zero orders
20:47 on the busiest night of the year. The live orders dashboard suddenly drops to zero. Is the business down, or is the data down? Watch who does what, minute by minute.
- 20:47: the analyst notices orders at zero but sees payments still happening, so the problem is the data, not the business.
- 20:52: the engineer finds the stream job crashed under 4× traffic and restarts it with more capacity.
- 21:05: the job replays the missed minutes from Kafka; nothing is lost and an alert is added.
- Next day: the scientist forecasts festival-night traffic so capacity is planned in advance.
- The review shows each role's contribution. (Times and numbers illustrative.)
Ten years in fast-forward: how the three careers grow
Riya, Kabir and Arnav start in 2026 as a junior analyst, engineer and scientist. Watch typical paths over ten years, including the switches people commonly make.
- Year 0: three friends start as a junior analyst, a junior data engineer and a junior data scientist.
- Years 2–3: each becomes trusted with larger, less clearly defined problems.
- Years 5–6: Riya the analyst moves into analytics engineering; Arnav the scientist specialises in putting models into production (ML engineer).
- Years 8–10: leadership tracks appear: leading a team, architecting platforms, heading data science, or staying a deep individual expert.
- Careers in data are not fixed lanes. The shared foundation (SQL, Python, data thinking) makes switching realistic. (Paths are typical examples, not rules.)
Skill profiles: what each role needs most
Seven skills, scored from 1 (basic) to 5 (deep), for a typical mid-level person in each role. Watch the three profiles appear, then compare them to your own.
- Seven skills, each scored 1 (basic) to 5 (deep), for a typical mid-level professional.
- Engineer: strongest in distributed systems, Python, SQL and cloud; lighter on statistics and visualisation.
- Analyst: strongest in SQL, visualisation and business communication.
- Scientist: strongest in Python and statistics/ML, with solid SQL.
- The overlap is SQL. Learn it well first, then deepen in the direction you enjoy. (Scores are illustrative.)
Where these roles work
1. Banks and fintech
Engineers build regulatory and risk data pipelines; analysts track products, collections and customer behaviour; scientists build credit-scoring and fraud models under strict review.
2. E-commerce and quick commerce
Very large data teams: streaming engineers for live inventory, analysts for category and marketing performance, scientists for recommendations, pricing and delivery-time prediction.
3. Healthcare
Engineers integrate hospital systems with strict privacy controls; analysts monitor bed occupancy and outcomes; scientists build models that flag high-risk patients for doctors to review.
4. IT services and global capability centres
Many Indian freshers start here, working on data projects for clients worldwide: migrating platforms to the cloud, building pipelines, and creating dashboards. It is a common route into all three roles.
5. Government and public sector
Public digital systems generate large datasets. Data roles support dashboards for programmes, detect anomalies and fraud, and plan services, with strong emphasis on data protection.
Role boundaries differ between companies; small startups often expect one person to do parts of all three.
Which role fits you? A tiny quiz engine
Each statement adds points to one or more roles. Change the answers to match yourself (True if the statement describes you) and run it. Then try the challenges: classify real job-description lines, find your skill gap, and plan a team.
statements = {
"I enjoy building things that run automatically every night": {"engineer": 2},
"I like explaining numbers to people in simple words": {"analyst": 2},
"Statistics and probability interest me": {"scientist": 2, "analyst": 1},
"I like fixing things when they break": {"engineer": 2},
"I enjoy making charts and dashboards": {"analyst": 2},
"I want to predict the future from past data": {"scientist": 2},
"Linux, servers and cloud sound exciting": {"engineer": 2},
"I like running experiments to test ideas": {"scientist": 2},
}
answers = [True, False, False, True, False, True, True, False] # change these!
scores = {"engineer": 0, "analyst": 0, "scientist": 0}
for (statement, points), yes in zip(statements.items(), answers):
if yes:
for role, p in points.items():
scores[role] += p
for role, s in sorted(scores.items(), key=lambda x: -x[1]):
print(f"{role:9} {'#' * s} {s}")
print("Best match today:", max(scores, key=scores.get))statements = {...}A dictionary of dictionaries: each statement maps to the roles it points towards and how strongly.zip(statements.items(), answers)zippairs each statement with your True/False answer, in order.'#' * sMultiplying a string repeats it: a quick text bar chart.max(scores, key=scores.get)The role with the highest score. A match today is not destiny; skills change with learning.
Run it on your PC: match your skills to job descriptions
Put your real skills in my_skills, paste real job descriptions you find online into job_descriptions, and run. The program shows how well you match each one and which skills to learn next. Save it as jd_matcher.py.
How close are you to each role?
# Compare YOUR skills with three typical job descriptions and see the gap.
my_skills = {"python", "sql", "excel", "statistics", "power bi", "git"}
job_descriptions = {
"Data Analyst": """Strong SQL and Excel. Build dashboards in Power BI or Tableau.
Basic statistics. Communicate insights to business teams. Python is a plus.""",
"Data Engineer": """Python and SQL. Build batch and streaming pipelines with Spark and Kafka.
Orchestrate with Airflow. Cloud (AWS or Azure), Linux, Git, data modelling.""",
"Data Scientist": """Python, SQL, statistics and machine learning (scikit-learn).
Feature engineering, experiment design, model evaluation. Git; Spark is a plus.""",
}
vocabulary = ["python", "sql", "excel", "power bi", "tableau", "statistics", "spark", "kafka",
"airflow", "cloud", "linux", "git", "machine learning", "data modelling",
"communicate", "dashboards", "feature engineering", "experiment design"]
for role, text in job_descriptions.items():
text = text.lower()
wanted = {skill for skill in vocabulary if skill in text}
have = wanted & my_skills
missing = sorted(wanted - my_skills)
score = round(len(have) / len(wanted) * 100)
print(f"{role:15} match {score:>3}% ({len(have)}/{len(wanted)} skills)")
print(f"{'':15} learn next: {', '.join(missing[:4])}")
# In a terminal: python jd_matcher.pyRecorded from a real run with the sample skills and job descriptions above; your output will match until you change them. A keyword match is a rough guide: real job posts use different words for the same skill, so extend the vocabulary list as you read more posts.
The role quiz, one line at a time
A shorter quiz with three statements. Watch the scores dictionary change only when an answer is True, and watch the inner loop add points to each role a statement mentions.
Worked examples: real problems, solved and traced in memory
Four career problems: recognising the work, reading job posts, closing a skill gap and planning a team. Each runs live and is traced.
Whose job is this task?
Problem statement
Assign each everyday task to the role that usually owns it.
fix a failed nightly load · build a sales dashboard · predict next week's demand · add a Kafka topic · explain a drop in KPIs · design an A/B test
engineer : fix a failed nightly load; add a Kafka topic analyst : build a sales dashboard; explain a drop in KPIs scientist: predict next week's demand; design an A/B test
Approach
- Map each task to its owner with a dictionary.
- Group tasks by role.
- Print each role with its tasks.
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.
Score a job post by role keywords
Problem statement
A post titled “Data Analyst” says: Build ETL pipelines in Spark, schedule with Airflow, create one Power BI report. Count keywords for each role to see what the job really is.
the job post text
{'engineer': 4, 'analyst': 2, 'scientist': 0}
Title says analyst; work says engineerApproach
- Keep a keyword list per role.
- Count how many keywords from each list appear in the lower-cased post.
- The highest count suggests the real role.
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.
What should I learn first?
Problem statement
Your target is data engineering. Each missing skill has a priority (how often it appears in job posts, out of 10). List missing skills, highest priority first.
needed with priorities; you have python, sql, git
spark priority 8 cloud priority 8 airflow priority 7 kafka priority 6
Approach
- Store needed skills with priorities in a dictionary.
- Keep only those not in your skills set.
- Sort by priority, highest 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.
How many people of each role?
Problem statement
A startup expects these weekly hours: pipelines 95, dashboards 60, models 25. One person works 40 hours a week. Startups with less than a full role of work often combine roles. Show the full-time headcount and any leftover hours.
pipelines 95 h, dashboards 60 h, models 25 h
engineer : 2 full-time + 15 h left over analyst : 1 full-time + 20 h left over scientist: 0 full-time + 25 h left over Combined leftover hours: 60 -> about 1.5 more people
Approach
- Full-time people = hours // 40.
- Leftover hours = hours % 40, which may be combined into a mixed role.
- Print both for each type of work.
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.
Check yourself
Quick revision
Lesson 6.1 in one screen
- Engineer: is the data there, correct, on time? → pipelines, lakes, warehouses.
- Analyst: what happened and why? → SQL, dashboards, insights.
- Scientist: what will happen and what should we do? → models, experiments.
- All three use SQL, Git and clear communication; they depend on one another.
- In between: analytics engineer (analyst↔engineer), ML engineer (scientist↔engineer), data architect.
- Careers move: analyst → analytics/data engineer; analyst → scientist; developer → data engineer.
- Pay varies widely by company type, city and skills; check current listings. A real project beats a list of certificates.
Interview and viva questions
Differentiate the roles of data engineer, data analyst and data scientist.
A data engineer builds and maintains the infrastructure and pipelines that deliver reliable data. A data analyst queries and visualises that data to explain business performance and support decisions. A data scientist applies statistics and machine learning to predict outcomes and design experiments. Engineers enable the work of the other two; analysts and scientists turn data into decisions.
Why do you want to be a data engineer rather than a data scientist?
A good answer is honest and specific: for example, “I enjoy building systems that run reliably and at scale, I like debugging pipelines and working with distributed tools like Spark and Kafka, and I want my work to enable every analyst and scientist in the company.” Back it with a project you built.
What skills does a fresher need for a data analyst role?
Strong SQL (joins, group by, window functions), Excel, one BI tool (Power BI or Tableau), basic statistics (averages, percentages, distributions), and the ability to explain findings clearly. Basic Python is a plus. A portfolio dashboard with clear insights helps a lot.
Can a data analyst become a data engineer or data scientist?
Yes, and it is common. Towards engineering: deepen Python, learn data modelling, Spark, Airflow, a cloud platform and Git, often via an analytics-engineer role. Towards science: deepen statistics, learn machine learning with Python, and practise experiments on real problems.
What is the difference between a data scientist and an ML engineer?
A data scientist explores data, builds and evaluates models, and interprets results. An ML engineer takes models to production: building serving systems, feature pipelines, monitoring and retraining at scale. In smaller companies one person may do both.
Practice problems
Career-flavoured coding exercises. The last two are planning decisions a data team lead makes.
Count tasks per role
Count how many tasks each role has in the list.
engineer, analyst, engineer, scientist, analyst, engineer
{'engineer': 3, 'analyst': 2, 'scientist': 1}Show solution and explanation
tasks = ["engineer", "analyst", "engineer", "scientist", "analyst", "engineer"]
counts = {}
for r in tasks:
counts[r] = counts.get(r, 0) + 1
print(counts)How it works: The dictionary counter pattern, again. You will use it in every data role.
Shared skills
Print the skills common to both job posts.
analyst: sql, excel, power bi · engineer: sql, python, spark
Common: {'sql'}Show solution and explanation
analyst = {"sql", "excel", "power bi"}
engineer = {"sql", "python", "spark"}
print("Common:", analyst & engineer)How it works: Set intersection (&): SQL is the overlap.
Match percentage
A job needs 8 skills and you have 5 of them. Print your match as a percentage.
5 of 8
62 % match
Show solution and explanation
print(round(5 / 8 * 100), "% match")How it works: A simple, honest progress measure for job preparation.
Missing skills
Print the skills a data scientist post needs that you don't have yet, in alphabetical order.
needs: python, sql, statistics, machine learning · have: python, sql
['machine learning', 'statistics']
Show solution and explanation
needs = {"python", "sql", "statistics", "machine learning"}
have = {"python", "sql"}
print(sorted(needs - have))How it works: Set difference (−) shows the gap; sorted makes the output stable.
Title vs content
Given keyword counts from a post, print whether the title matches the content.
title analyst · counts engineer 4, analyst 1, scientist 0
Real role: engineer
Show solution and explanation
title = "analyst"
counts = {"engineer": 4, "analyst": 1, "scientist": 0}
real = max(counts, key=counts.get)
print("Matches title" if real == title else f"Real role: {real}")How it works: Read job descriptions, not just titles; companies use titles differently.
Rank roles for a profile
Given your skill depth (1–5) and each role's required depth, score each role as the sum of the smaller of the two values, and rank the roles.
you: sql 4, python 3, stats 4, cloud 1
scientist 11 analyst 10 engineer 9
Show solution and explanation
me = {"sql": 4, "python": 3, "stats": 4, "cloud": 1}
roles = {"engineer": {"sql": 4, "python": 4, "stats": 1, "cloud": 4},
"analyst": {"sql": 5, "python": 2, "stats": 3, "cloud": 1},
"scientist": {"sql": 3, "python": 5, "stats": 5, "cloud": 2}}
fit = {r: sum(min(me[s], need) for s, need in req.items()) for r, req in roles.items()}
for r, f in sorted(fit.items(), key=lambda x: -x[1]):
print(r, f)How it works: Using min means extra depth beyond what the role needs doesn't add points.
Weeks to job-ready
Each missing skill takes a number of weeks; you study 10 hours a week and each week of the estimate assumes 10 hours. If you can study 15 hours, how many weeks will the plan take?
spark 3, airflow 2, cloud 3, kafka 2 (weeks at 10 h)
6.7 weeks at 15 hours a week
Show solution and explanation
plan = {"spark": 3, "airflow": 2, "cloud": 3, "kafka": 2}
hours_needed = sum(plan.values()) * 10
print(round(hours_needed / 15, 1), "weeks at 15 hours a week")How it works: Convert to hours first, then divide by your real weekly capacity.
First data hire
A startup has 3 data needs with weekly hours: dashboards 30, pipelines 25, models 5. Print which role should be hired first (the one with most hours).
dashboards 30, pipelines 25, models 5
Hire first: analyst
Show solution and explanation
needs = {"analyst": 30, "engineer": 25, "scientist": 5}
print("Hire first:", max(needs, key=needs.get))How it works: Many startups hire an analyst or analytics engineer first, and a scientist only when there is enough clean data to model.
Team cost (illustrative)
Monthly cost per person: analyst Rs 60,000, engineer Rs 90,000, scientist Rs 1,10,000 (illustrative). Print the cost of a team of 2 analysts, 2 engineers and 1 scientist.
2 · 2 · 1
Monthly team cost: Rs 410000
Show solution and explanation
cost = {"analyst": 60000, "engineer": 90000, "scientist": 110000}
team = {"analyst": 2, "engineer": 2, "scientist": 1}
print("Monthly team cost: Rs", sum(cost[r] * n for r, n in team.items()))How it works: Team planning combines workload and cost; the numbers are examples only.
Real-world scenario questions (asked in company interviews)
Career and teamwork questions asked in data interviews. Decide your answer first, then open the model answer.
“Why this role and not the other two?”
You are interviewing for a data engineer role. The panel asks why you didn't apply for the data scientist opening, which “pays more”.
The interviewer is checking: do you understand the role, and is your interest genuine?
Show a strong answer
Answer with the work, not the salary: “I enjoy building things that run reliably: in my project I built a pipeline that ingests daily data, cleans it with Spark and loads a warehouse, with a scheduled DAG and quality checks. Data science interests me too, but I get the most satisfaction from making data trustworthy for everyone who depends on it.”
- Mention one concrete project and one problem you debugged.
- Show you know how the roles depend on each other.
Avoid: “Data science was too hard” or “I'll switch later anyway.”
Finance says your dashboard is wrong
You are a junior analyst. Finance says your revenue dashboard is 4% higher than their numbers. Your SQL looks correct.
The interviewer is checking: can you investigate calmly and work with engineering?
Show a strong answer
- Agree the definition first: gross or net of refunds? Which time zone and date cut-off?
- Reconcile on a small slice (one day, one city) to find where the numbers diverge.
- Check the source tables for duplicates or late data; involve the data engineer if the pipeline is the cause.
- Fix, document the definition, and add a check so it doesn't recur.
Avoid: defending your number without checking, or quietly changing it to match.
From analyst to data engineer in a year
You have two years as a data analyst (strong SQL, Power BI, basic Python). Your manager asks what your plan is to move into data engineering.
The interviewer is checking: a realistic, structured growth plan.
Show a strong answer
- Months 1–3: solid Python (functions, testing, packaging), Git workflows, Linux basics.
- Months 4–6: data modelling and dbt; take on analytics-engineering tasks in the current team.
- Months 7–9: Spark and Airflow; build an end-to-end pipeline project on one cloud.
- Months 10–12: shadow the data engineering team, own a small pipeline, then apply internally.
Your analyst background is an asset: you know the business data and what users need from it.
Avoid: a plan that is only a list of certificates.
“We want to hire a data scientist first”
A 40-person startup has data spread across its app database, spreadsheets and a payment provider. The founder wants to hire a data scientist first “to do AI”. You are asked for advice.
The interviewer is checking: do you understand dependencies between roles?
Show a strong answer
A scientist without reliable, joined data will spend most of the time cleaning and connecting sources. Usually the first hire should be someone who can build the foundation and deliver early value:
- Hire a data/analytics engineer who can set up a cloud warehouse, load the sources and build clean tables, or an analyst with strong engineering skills.
- Deliver core dashboards first (revenue, retention, operations) to build trust.
- Hire a scientist once there is clean history and a specific prediction problem worth solving.
Avoid: hiring for “AI” before there is data to learn from.