Menu

Career guide · Guide 2 of 7

18 Behavioral Interview Questions for Data Engineers (with STAR Answers)

18 behavioral interview questions for data engineers with STAR-style answers: project walkthroughs, incidents, mistakes, stakeholders and leadership.

  • Intermediate
  • 52 min read
  • Updated Oct 2026
On this page
  1. Question list
  2. Beginner behavioral questions (freshers)
  3. 1. Walk me through a recent project end to end
  4. 2. Tell me about a mistake you made
  5. 3. How did you learn a new technology quickly?
  6. 4. Why are you leaving, and why this company?
  7. 5. Do you have any questions for us?
  8. Intermediate behavioral questions
  9. 6. Tell me about the most complex pipeline you built
  10. 7. Describe a production incident you owned
  11. 8. Tell me about a disagreement with a stakeholder or peer
  12. 9. How do you prioritise competing requests?
  13. 10. Explain a technical concept to a non-technical audience
  14. 11. Pushing back on an unrealistic deadline
  15. 12. Handling ambiguous requirements
  16. 13. The business found a data quality issue before you did
  17. Advanced behavioral questions (experienced)
  18. 14. A process or cost improvement you drove
  19. 15. How do you mentor junior engineers?
  20. 16. An architecture decision made with incomplete information
  21. 17. Leading a migration and influencing without authority
  22. 18. Balancing technical debt against feature work

These 18 behavioral questions cover project walkthroughs, incidents, mistakes, conflict, prioritisation, stakeholders, mentoring and leadership. They are grouped from beginner (freshers) to advanced (experienced). Each one starts with the answer you would give in the first 20 seconds; open the full answer for the detailed explanation, an example, how it shows up in real work, common mistakes and the follow-up questions interviewers ask.

Question list

All 18 questions
  1. Walk me through a recent project end to end
  2. Tell me about a mistake you made
  3. How did you learn a new technology quickly?
  4. Why are you leaving, and why this company?
  5. Do you have any questions for us?
  6. Tell me about the most complex pipeline you built
  7. Describe a production incident you owned
  8. Tell me about a disagreement with a stakeholder or peer
  9. How do you prioritise competing requests?
  10. Explain a technical concept to a non-technical audience
  11. Pushing back on an unrealistic deadline
  12. Handling ambiguous requirements
  13. The business found a data quality issue before you did
  14. A process or cost improvement you drove
  15. How do you mentor junior engineers?
  16. An architecture decision made with incomplete information
  17. Leading a migration and influencing without authority
  18. Balancing technical debt against feature work

Beginner behavioral questions (freshers)

1. Walk me through a recent project end to end

Beginner · Very Common · Project Experience

Short answer

Tell a structured story in 2–3 minutes: the business problem and why it mattered, your role, the architecture and the key decisions with their trade-offs, the challenges you solved, and measurable results. Then invite deeper questions. Use “I” for your contributions and “we” for the team’s, and pick a project relevant to the role you’re applying for.

Full answer: explanation, example and follow-ups

Detailed explanation

Structure (STAR, extended for technical projects)

  1. Situation: business context and the pain point (“finance closed the books in 8 days because of manual reconciliations”).
  2. Task: your goal and role (“I owned the data pipeline design and delivery, working with 2 engineers and a finance analyst”).
  3. Action:
    • Architecture: sources, ingestion, storage, transformation, serving.
    • 2–3 key decisions with alternatives considered and why you chose one (batch vs streaming, Snowflake vs Databricks, incremental strategy).
    • The hardest problem and how you solved it (late data, skew, stakeholder conflict).
    • How you ensured quality and reliability (tests, monitoring, idempotency).
  4. Result: numbers such as runtime, cost, latency, error rate, adoption or business outcome. Add what you’d do differently.

What interviewers listen for

  • Ownership: clear personal contribution, not a vague “we”.
  • Depth: can you go three levels deep on any component they pick?
  • Trade-off thinking: why this design, and what you rejected.
  • Business awareness: you know why the project mattered.
  • Honesty: you admit limitations and lessons learned.

Preparation tips

  • Prepare 2–3 projects at different scales or types (batch platform, streaming, migration).
  • Draw the architecture once on paper. Many interviews ask you to sketch it.
  • Know your numbers: volumes, SLAs, team size, timeline, outcomes.
  • Keep it confidential-safe. Anonymise company names or data if needed.
  • Practise a 2-minute version and a 10-minute deep-dive version.

Example

Sample answer outline (2 minutes):
S: "At a mid-size retailer, store managers saw sales data 36 hours late; daily nightly jobs on
   an on-prem SQL Server kept failing."
T: "I led the redesign of the sales pipeline as the senior engineer on a 3-person team."
A: "We moved ingestion to CDC from the POS database into Snowflake via Kafka, rebuilt transformations
   in dbt with incremental models and tests, and orchestrated with Airflow. The hardest part was
   late-arriving store uploads; I designed a 3-day lookback with partition replacement so numbers
   self-correct. I also set up freshness alerts and a data quality dashboard."
R: "Latency dropped from 36 hours to 45 minutes, pipeline failures from ~6/month to <1, and compute
   cost fell 30% versus the old servers. If I did it again, I'd involve store ops earlier to agree
   what 'final' numbers mean."

Real-world use case

In a panel interview, a candidate who sketched the pipeline, explained why they chose incremental MERGE over full rebuilds, and quoted the before-and-after metrics passed the deep-dive round easily. Another candidate with a bigger project but vague details didn’t.

Common mistakes and red flags

  • Rambling 10-minute stories with no structure.
  • Only “we”, with no personal contribution.
  • No numbers, or no business outcome.
  • Being unable to answer follow-ups on your own design.

Follow-up questions

  • What would you change if you did it again? — Show reflection with a specific improvement.
  • How did you test it? — Describe unit, data and reconciliation tests.
  • How big was the data, and how did it scale? — Give volumes and growth handling.

2. Tell me about a mistake you made

Beginner · Very Common · Ownership & Growth

Short answer

Choose a genuine, meaningful mistake, such as a bad deployment, a wrong assumption, or a missed requirement. Own it without excuses. Explain what you did immediately to limit the impact, how you fixed it, and the lasting changes you made, to your process or the team’s safeguards, so it doesn’t recur. Keep the focus on learning.

Full answer: explanation, example and follow-ups

Detailed explanation

Choosing the mistake

  • Real, with consequences, but recoverable and not ethically questionable.
  • Ideally technical or process-related: deploying without tests, a destructive command, an underestimated migration, an untested assumption about data.
  • Avoid humble-brags (“I work too hard”) and catastrophic negligence stories without strong learning.

Structure

  1. What happened: be concise and honest, using “I”.
  2. Impact: who was affected and how.
  3. Immediate response: how you detected it, escalated, contained and fixed it. Speed and transparency matter.
  4. Root cause in your own behaviour: an assumption, rushing, a skipped review.
  5. Lasting change:
    • A personal habit (a checklist, dry runs).
    • A team safeguard (CI checks, permissions, protected configs), ideally a system fix rather than just “be more careful”.
  6. Evidence the change worked.

What interviewers assess

  • Self-awareness and accountability.
  • Transparency: you raised it quickly rather than hiding it.
  • Systems thinking: you turned a personal mistake into a guardrail for everyone.

Keep the story to about two minutes, and spend at least half of it on what changed afterwards.

Example

"Early in a role, I ran `dbt run --full-refresh` on the whole project in production to fix one model.
A large events model was rebuilt from raw data that only had 13 months of retention, so we lost older
history in that table. I spotted the row count drop within an hour, told my lead immediately, and we
restored the table from Snowflake Time Travel within the retention window, so no data was ultimately
lost. Afterwards I added `full_refresh: false` to all large incremental models, removed prod write
access from personal roles, and wrote a runbook for safe backfills. Since then, rebuilds go through
the orchestrator with explicit model selection — and I always dry-run selections with `dbt ls` first."

Real-world use case

Interviewers frequently cite this question as a strong predictor of how candidates behave during incidents. Those who describe clear ownership plus a systemic fix tend to be trusted with production access sooner.

Common mistakes and red flags

  • Blaming tools or colleagues.
  • A trivial mistake with no impact.
  • No lasting change.
  • Defensive tone.

Follow-up questions

  • How did your manager react? — Show transparency and the trust it earned.
  • What would you do differently today? — Name specific practices.
  • How do you help others recover from mistakes? — Blameless culture, focus on systems.

3. How did you learn a new technology quickly?

Beginner · Common · Learning

Short answer

Describe a specific situation where you had to become productive in a new tool or domain under time pressure (for example dbt, Spark Structured Streaming, Snowflake or Kafka). Explain your learning approach: official docs and tutorials, a small hands-on prototype, reading existing code, and asking experts. Then cover how you applied it to deliver results and shared what you learned with the team.

Full answer: explanation, example and follow-ups

Detailed explanation

An effective learning approach to describe

  1. Define what “good enough” means for the task. You don’t need to learn everything, only what the project requires first.
  2. Fundamentals first: official documentation, the getting-started guides, and core concepts (for Kafka: partitions, consumer groups, offsets).
  3. Build a small prototype that mirrors the real problem. That’s the fastest way to hit the real issues.
  4. Learn from existing code and people: internal repos, a colleague or community expert, vendor solution architects.
  5. Use reliable references: docs, books and course material, plus AI assistants with verification against the docs.
  6. Apply it to the real work with guardrails: code reviews by experienced people, tests.
  7. Teach others: write an internal guide or run a demo session, which also deepens your own understanding.

What interviewers look for

  • Self-direction and a structured method.
  • Speed to impact: you delivered something real.
  • Humility: you sought feedback and expertise.
  • Multiplication: you helped the team learn too.

Tips

  • Quantify it: “in two weeks I…”.
  • Mention how you validated your understanding (benchmarks, reviews).
  • Show a continuous learning habit beyond one example (reading release notes, side projects).

Example

"My team adopted Databricks while I'd only used Snowflake. We had six weeks to migrate a Spark job.
I spent the first week on fundamentals — Delta Lake, cluster types, Spark UI — via official docs and
building a toy pipeline on sample data that reproduced our join and MERGE pattern. That surfaced our
real issue early: skew on customer_id. I paired with a colleague who knew Spark well for two sessions
on reading the Spark UI. By week three I'd migrated the job with AQE and liquid clustering; it ran
in 35 minutes instead of 2 hours. I wrote a 'Spark UI in 10 minutes' guide for the team, which became
part of our onboarding."

Real-world use case

Data platforms change quickly. Candidates who can show a repeatable learning method, beyond one lucky experience, are favoured for roles with evolving stacks.

Common mistakes and red flags

  • “I watched some videos” with no outcome.
  • Learning only in theory.
  • Not mentioning validation or feedback.

Follow-up questions

  • How do you keep up with changes in the field? — Release notes, communities, small experiments.
  • What’s something you’re learning now? — Be specific and genuine.
  • How do you evaluate a new tool for the team? — Proof of concept, criteria, cost, operability.

4. Why are you leaving, and why this company?

Beginner · Very Common · Motivation

Short answer

Keep it positive and forward-looking. Explain what you’re seeking (scale, a modern stack, ownership, domain interest, growth) rather than criticising your current employer. Connect it to specific, researched aspects of this company: its products, data challenges, engineering blog posts, tech stack or mission. Show how your experience fits what the role needs.

Full answer: explanation, example and follow-ups

Detailed explanation

Why leaving: frame it positively

  • Growth: “I’ve built our batch platform end to end; I want to work on large-scale streaming and real-time systems.”
  • Scope: “I’m looking for a role with more ownership of platform architecture.”
  • Domain: “I want to apply data engineering in healthcare and climate, where the impact matters to me.”
  • Stability or other reasons: be honest but brief and neutral (a restructuring, a relocation).
  • Avoid: badmouthing managers or colleagues, focusing on salary alone, and vague answers.

Why this company: do your research

  • The product and business model: how data creates value for them.
  • Engineering signals: tech blog posts, conference talks, open-source projects, job description details (tools, scale).
  • Challenges you can help with: “You’re migrating to a lakehouse; I led a similar migration.”
  • Culture and values that resonate, with evidence (team practices, mission).
  • The role specifics: the team’s responsibilities, and why they match your goals.

Structure: 30 seconds on why you’re looking, 60 seconds on why here, and a 30-second bridge on the value you bring.

Example

"I've spent three years building our analytics platform from scratch — Snowflake, dbt, Airflow —
and I'm proud of where it is. What I want next is work on higher-scale, lower-latency systems; most
of our data is batch, and the streaming work I've done has been small. Your engineering blog post on
moving fraud features to streaming at 100k events/sec is exactly that challenge, and your stack
(Kafka, Spark, Delta) overlaps with my recent projects. I also like that your data team owns its
platform and on-call — I enjoy that ownership. I think my experience in CDC pipelines and data
quality frameworks would help with the reliability goals mentioned in the job description."

Real-world use case

Hiring managers often reject otherwise strong candidates who show no knowledge of the company, or who speak negatively about previous employers. It signals low motivation or a poor culture fit.

Common mistakes and red flags

  • Negativity about the current job.
  • Generic answers that fit any company.
  • Only compensation-focused.
  • Not knowing what the company does.

Follow-up questions

  • Where do you see yourself in 3–5 years? — Realistic growth aligned with the role (e.g. staff engineer, tech lead).
  • What other companies are you considering? — Be honest but brief; focus on what you’re looking for.
  • What would make you stay long term? — Growth, impact, team quality.

5. Do you have any questions for us?

Beginner · Common · Closing the Interview

Short answer

Always ask 2–4 thoughtful questions tailored to the interviewer’s role. Ask about the team’s biggest data challenges, how success is measured in the first 6 months, the data stack and its pain points, on-call and incident practices, how data quality and ownership work, and growth paths. Use the answers to evaluate the role. Avoid asking only about perks.

Full answer: explanation, example and follow-ups

Detailed explanation

Why it matters: it signals genuine interest and seniority, and it’s your chance to assess fit: workload, culture, technical maturity.

Good questions by interviewer

Interviewer Questions
Hiring manager “What would success look like for this role in 6 and 12 months?” / “What are the biggest challenges the team faces right now?” / “How do you balance roadmap vs reliability work?”
Engineers (peers) “What does a typical week look like?” / “How does on-call work and how often are you paged?” / “What’s one thing you’d change about the data platform?” / “How are code reviews and deployments done?”
Senior leadership “How does the company use data in decision-making?” / “What are the data strategy priorities for the next year?” / “How is the data team positioned relative to product/engineering?”
Stakeholders (analysts, PMs) “What do you wish the data team did differently?” / “Which datasets do you rely on most, and how much do you trust them?”

Signals to listen for in their answers

  • Clear ownership and priorities, or chaos.
  • A healthy on-call load and blameless culture, or burnout.
  • An investment in quality and tooling.
  • Growth opportunities and mentoring.

Avoid

  • “No questions.”
  • Questions answered on the careers page.
  • Only salary, perks or remote policy early on (those belong with the recruiter or HR).
  • Asking for interview feedback in a way that puts the interviewer on the spot. It’s fine to ask about next steps and the timeline.

Example

Strong closing set (for a hiring manager):
1. "What would make someone in this role clearly successful after six months?"
2. "What's the biggest risk or pain point in the current data platform?"
3. "How does the team decide between new features and reliability or tech-debt work?"
4. "What are the next steps in the process, and is there anything from today you'd like me to
   clarify about my experience?"

Real-world use case

Candidates who ask about the team’s current challenges often end up in a deeper conversation, sometimes revealing a problem they’ve solved before. That’s a powerful last impression.

Common mistakes and red flags

  • No questions.
  • Generic questions.
  • Interrogating the interviewer about weaknesses aggressively.
  • Questions showing no listening during the interview.

Follow-up questions

  • (Interviewer) “Anything else you’d like us to know?” — Summarise fit in 30 seconds: key strengths tied to their needs.
  • (Recruiter) “Do you have any concerns about the role?” — Raise genuine concerns constructively.
  • (You) “What are the next steps?” — Clarify timeline and process.

Intermediate behavioral questions

6. Tell me about the most complex pipeline you built

Intermediate · Very Common · Technical Depth

Short answer

Choose a pipeline that was complex for good reasons: scale, latency, many sources, correctness constraints, or difficult failure modes. Explain what made it hard, the specific technical decisions you made, how you handled reliability and correctness, and the outcome. Show that you reduced complexity where possible rather than adding it.

Full answer: explanation, example and follow-ups

Detailed explanation

Dimensions of complexity worth highlighting

  • Scale: billions of rows per day, or TB-scale shuffles.
  • Latency: streaming with exactly-once requirements.
  • Correctness: financial reconciliation, SCD2, late data, deduplication.
  • Heterogeneous sources: CDC plus APIs plus files, with schema drift.
  • Operational: multi-region, strict SLAs, regulatory constraints.
  • Organisational: many teams depending on the output.

How to tell it

  1. Describe the goal and constraints first (SLA, volume, accuracy requirement).
  2. Explain the architecture briefly.
  3. Pick one or two hard problems and go deep: what you tried first, why it failed, the final solution, and how you verified it.
  4. Mention reliability features: idempotency, checkpointing, monitoring, testing.
  5. Results and lessons learned.

Signals interviewers look for

  • You can explain why it was complex, beyond just listing tools.
  • You understand failure modes (what happens when X breaks).
  • You made pragmatic trade-offs and didn’t over-engineer.
  • You measured outcomes.

Pitfalls

  • Complexity from poor design (“we had 40 Airflow DAGs calling each other”) presented as an achievement. Reframe it: explain how you simplified it.
  • Too many tool names with no reasoning.
  • Not being able to explain parts someone else built. Be clear about what you owned.

Example

"The most complex was a real-time payments ledger feed: ~8k events/sec from 3 payment processors,
needing exactly-once balances for finance and fraud within 2 minutes.
Hard problem #1: duplicates and out-of-order events across processors. I designed idempotent
processing keyed on (processor, transaction_id) with dedupe inside a 2-hour watermark in Spark
Structured Streaming, and MERGE into Delta via foreachBatch with sequence guards.
Hard problem #2: reconciliation. I built an hourly batch job comparing streaming balances against
processor settlement files; mismatches > $1 created tickets automatically.
Result: p95 latency 70 seconds, reconciliation mismatches < 0.001% of volume, and finance stopped
manual daily balancing (saving ~2 FTE-days/week)."

Real-world use case

Interviewers for senior roles often pick one component of your answer, such as “how did dedupe interact with the watermark?”, and probe it for 15 minutes. Candidates who built the system themselves answer confidently. Those exaggerating their role get caught.

Common mistakes and red flags

  • Can’t explain failure handling.
  • Claims ownership of everything.
  • Complexity without a clear business reason.

Follow-up questions

  • What was the hardest bug? — Give a specific symptom, root cause and fix.
  • How did you test exactly-once? — Fault injection, restarts, reconciliation.
  • What would break first at 10× scale? — Show capacity thinking.

7. Describe a production incident you owned

Intermediate · Very Common · Incident Management

Short answer

Pick a real incident where you played a central role. Describe the detection, impact, your triage and communication, the fix, and the root cause. Most importantly, cover the prevention measures you put in place afterwards. Show calm prioritisation (stop the bleeding first), transparency with stakeholders, and a blameless learning mindset.

Full answer: explanation, example and follow-ups

Detailed explanation

Story structure

  1. Detection: how you found out, by an alert or a user report. If it was a user report, say what you changed so alerts catch it next time.
  2. Impact: who and what was affected, how much, and for how long.
  3. Triage: containment first (pause the pipeline, roll back, serve the last good data), then diagnosis.
  4. Communication: updates to stakeholders at a regular cadence, and who you looped in.
  5. Resolution: the fix, plus data repair (backfill, restatement).
  6. Root cause: technical cause and contributing factors (process, missing tests, monitoring gaps).
  7. Prevention: concrete action items you drove (tests, alerts, runbooks, architecture changes), and how you verified them.

What interviewers assess

  • Ownership: you didn’t wait for someone else.
  • Judgement: you protected the business impact first (for example, not publishing wrong numbers).
  • Communication under pressure.
  • Learning culture: blameless post-mortem, and systemic fixes rather than “be more careful”.
  • Technical depth in diagnosis.

Choosing the incident

  • Real impact, but recoverable. Avoid stories where you look negligent without learning anything.
  • Ideally, one where your diagnosis or design change made a lasting difference.
  • Be honest if your own change caused it. Ownership of mistakes is valued (see Tell me about a mistake you made).

Example

"A Monday 06:00 alert showed revenue in our exec dashboard down 38%. Impact: CFO meeting at 09:00.
I paused downstream refreshes so the bad numbers wouldn't spread, posted in #data-incidents, and
traced it via lineage to a staging model: an upstream team had changed currency codes from ISO to
lowercase, so our join to FX rates dropped 38% of rows. I added a normalisation fix, rebuilt the
affected two days, verified totals against billing, and had correct dashboards by 07:40.
In the post-mortem we added accepted_values tests on currency, a row-count drop alert (>10% vs 7-day
average), and a schema contract with the upstream team. We had zero repeat incidents of that class."

Real-world use case

A hiring manager for an on-call-heavy platform team said the best signal in this answer is the prevention section. Candidates who list two or three systemic fixes they personally drove are usually strong hires.

Common mistakes and red flags

  • Blaming others.
  • No prevention steps.
  • Panic-driven actions without containment.
  • Inability to explain the root cause.

Follow-up questions

  • How did you communicate during the incident? — Give the cadence, channels and content.
  • What did the post-mortem change? — Specific actions and their results.
  • How do you decide between a quick fix and a proper fix? — Contain first, then a durable fix tracked to completion.

8. Tell me about a disagreement with a stakeholder or peer

Intermediate · Very Common · Collaboration

Short answer

Describe a real disagreement about a technical approach, a priority or a requirement. Show how you understood the other person’s goals, used data or a quick experiment to compare options, found a resolution (theirs, yours, or a hybrid), and kept the relationship healthy. End with the outcome and what you learned.

Full answer: explanation, example and follow-ups

Detailed explanation

Good story elements

  1. Context: who (a product manager, an analyst, a senior engineer), and what the disagreement was about. For example: streaming vs batch, building vs buying, or a deadline vs the quality bar.
  2. Their perspective: show that you understood their incentives and constraints, and didn’t just think they were “wrong”.
  3. Your approach:
    • Clarify the underlying goal behind each position.
    • Bring data: cost estimates, a prototype, benchmark numbers, user impact.
    • Propose options with trade-offs, and agree decision criteria.
    • Escalate respectfully only if needed, with both views presented fairly.
  4. Resolution: what was decided, and why. It’s fine if their approach won, as long as you show how you supported it fully.
  5. Outcome and learning: the result, and how the relationship continued.

What interviewers look for

  • Emotional maturity and respect.
  • Data-driven persuasion, not authority or stubbornness.
  • Willingness to “disagree and commit”.
  • A focus on business outcomes.

Avoid

  • Stories where you were simply right and the other person was foolish.
  • Conflicts resolved by going over someone’s head immediately.
  • Trivial disagreements with no stakes.

Example

"Our product manager wanted a real-time dashboard for campaign spend, which would have meant a
streaming pipeline and ~3 months of work. I asked what decisions it would drive: pausing failing
campaigns within the day. I pulled data showing ad platforms only update spend hourly, so 'real-time'
couldn't be fresher than hourly anyway. I proposed an hourly micro-batch we could ship in 3 weeks,
with a review after a month to see if faster refresh would change decisions. She agreed; after a
month, the team was satisfied and we avoided the streaming build entirely. I learned to ask
'what decision does this enable?' early in every request."

Real-world use case

Collaboration questions are often weighted heavily for senior data roles, because data engineers sit between producers, platform teams and consumers. Conflicts about priorities and definitions are part of the job.

Common mistakes and red flags

  • Disparaging colleagues.
  • No attempt to understand the other side.
  • No resolution, or ongoing hostility.

Follow-up questions

  • What if you’d been wrong? — Explain how you’d recognise it and adapt.
  • Have you ever had to disagree with your manager? — Use the same principles: data, options, respect.
  • How do you handle disagreements in code review? — Focus on standards and reasoning, offer alternatives, and know when to let go.

9. How do you prioritise competing requests?

Intermediate · Common · Prioritisation

Short answer

Make the requests visible in one backlog, clarify each one’s business impact, urgency and effort, and prioritise with a simple framework: impact vs effort, or RICE. Protect a share of capacity for reliability work and incidents. Align on priorities with stakeholders or your manager, communicate trade-offs and timelines transparently, and revisit them regularly.

Full answer: explanation, example and follow-ups

Detailed explanation

A practical process

  1. Intake: all requests go into a single backlog (tickets) with a requester, goal, deadline and the decision the request supports. Don’t let side-channel requests bypass it.
  2. Clarify the actual need behind each request. Often a smaller deliverable meets the goal (see Should this request be batch or streaming?).
  3. Score them:
    • Impact: revenue, cost, risk or compliance, number of users.
    • Urgency: hard deadline (regulatory, launch) vs a nice-to-have date.
    • Effort: a rough size estimate.
    • Dependencies and risk.
    • Frameworks: impact/effort matrix, RICE (Reach, Impact, Confidence, Effort), or WSJF.
  4. Capacity allocation: for example, 60% roadmap, 20% stakeholder requests, 20% reliability and tech debt (see Balancing technical debt against feature work). Incidents preempt everything.
  5. Agree and communicate: review the priorities with your manager and stakeholders, publish the order and expected dates, and explain what moves down and why.
  6. Revisit weekly or each sprint as new information arrives.

Handling conflicts between stakeholders

  • Bring both to the same conversation with the data, or escalate to the person who owns the shared priority (the head of data, a product leader).
  • Offer options: partial delivery, sequencing, or temporary workarounds.

Signals interviewers want

  • A structured approach, not “whoever shouts loudest”.
  • A business-impact focus.
  • Transparency and saying no gracefully.
  • Protecting reliability time.

Example

"Last quarter I had three urgent asks in one week: finance needed a new revenue recognition report
for an audit (hard deadline in 3 weeks), marketing wanted attribution changes, and sales wanted a new
territory dashboard. I put all three in our backlog with impact and effort estimates. The audit report
had regulatory risk, so it went first. The sales dashboard was mostly reusable work (2 days), so I
slotted it after. Marketing's request needed a definition workshop first, so I scheduled that while
we built the audit report. I shared the plan with all three leads and my manager; nobody was
surprised by dates, and all three shipped within 6 weeks."

Real-world use case

Teams that publish a visible, ranked backlog with clear intake rules report fewer escalations and less context switching. Stakeholders can see why their request is where it is.

Common mistakes and red flags

  • First-come-first-served.
  • Saying yes to everything.
  • Never doing reliability work.
  • Prioritising without telling stakeholders.

Follow-up questions

  • What if your manager and a VP disagree on priority? — Surface the conflict with impact data; let the accountable leader decide.
  • How do you say no? — Explain trade-offs, offer alternatives and timelines.
  • How do you handle urgent ad-hoc requests? — Triage against impact; small fast-lane capacity.

10. Explain a technical concept to a non-technical audience

Intermediate · Common · Communication

Short answer

Start from what the audience cares about (impact, risk, cost, time), use a familiar analogy, avoid jargon, and use one simple visual or example. Check their understanding and tie the explanation to a decision they need to make. Interviewers may ask you to explain something on the spot, such as a data warehouse, ETL, data freshness or a data quality issue, to a business executive.

Full answer: explanation, example and follow-ups

Detailed explanation

Principles

  1. Know the audience and the goal: what decision or understanding do they need? An executive needs impact and options, an analyst needs how to use the data.
  2. Lead with the bottom line: “Your dashboard numbers will be correct by 10 AM. Here’s why they were wrong.”
  3. Use analogies, carefully:
    • A data warehouse is a well-organised library where books (data) are catalogued and checked.
    • A pipeline is a supply chain from raw materials to finished products.
    • Late-arriving data is like a store sending receipts a day late, so yesterday’s totals change.
    • Data lineage is a recipe showing which ingredients went into each dish.
  4. One visual: a simple box-and-arrow diagram beats ten bullet points.
  5. Remove jargon, or define it once (“incremental load means we only process what’s new”).
  6. Concrete numbers and examples from their world.
  7. Check understanding: “Does that answer your question?”, and invite questions.
  8. End with options and a recommendation if a decision is needed.

On-the-spot practice: interviewers may say “Explain what a data lakehouse is to our CFO in one minute.” Structure it as purpose, analogy, benefit and trade-off.

Example

Prompt: "Explain why our revenue dashboard changes after the fact to the VP of Sales."
Answer: "Think of it like counting daily sales from every store, but some stores send their receipts
a day or two late — especially when their internet is down. When those late receipts arrive, we add
them to the day the sale actually happened, so last Tuesday's total can go up a bit on Thursday.
That's actually the correct number. To make this predictable, we'll mark each day 'provisional' for
3 days and 'final' after that, so your team knows which numbers to use in forecasts."

Real-world use case

A data lead used the “late receipts” analogy, plus a provisional or final label on dashboards, to end months of complaints from sales leadership that “the numbers keep changing”. The data didn’t change; the shared understanding did.

Common mistakes and red flags

  • Jargon overload.
  • Over-simplifying to the point of being wrong.
  • Not linking to the audience’s decisions.
  • Talking down to people.

Follow-up questions

  • How do you explain a delay or failure to executives? — Impact, cause in plain words, fix, prevention, timeline.
  • How do you write documentation for analysts? — Task-oriented, examples, definitions, known caveats.
  • How do you present a technical proposal for budget approval? — Problem, options, cost/benefit, risk, recommendation.

11. Pushing back on an unrealistic deadline

Intermediate · Common · Stakeholder Management

Short answer

Don’t just say no or silently overcommit. Understand why the date matters, break the work down to show a realistic estimate with its risks, and offer options: reduce the scope (an MVP), phase the delivery, add resources, or accept specific risks. Agree the trade-off explicitly with the decision-maker, then communicate progress and risks early.

Full answer: explanation, example and follow-ups

Detailed explanation

A step-by-step approach

  1. Understand the driver: is the deadline tied to a board meeting, a regulatory filing or a launch? Is it fixed or aspirational? What’s the minimum needed by that date?
  2. Estimate transparently: break the work into tasks with ranges, including testing, reviews, data validation and deployment, the parts that are often forgotten. Identify the dependencies (upstream teams, access approvals).
  3. Present options:
    • Scope: deliver the critical subset by the date (for example, the three most important KPIs, with the rest two weeks later).
    • Quality trade-offs: manual steps temporarily, with a clear plan to automate. Never silently compromise data correctness.
    • Resources: extra people or help from another team, noting that adding people late has diminishing returns.
    • Date: if the scope is fixed, give the realistic date with a confidence level.
  4. Agree on the chosen option with the accountable stakeholder, and document it.
  5. Execute and communicate: regular status updates, early warnings when risks materialise.

What interviewers look for

  • Constructive pushback, grounded in data and options.
  • Business empathy: understanding why the date matters.
  • Integrity: not promising what you can’t deliver, and not cutting corners on correctness or security silently.
  • Follow-through.

Example

"Leadership wanted a new customer churn dashboard for a board meeting in 2 weeks; my estimate for the
full scope — 4 new sources, history backfill, ML-based churn risk — was 6–8 weeks. I asked what the
board needed: trend of churn rate by segment and top reasons. I proposed delivering churn rate and
reasons from our existing subscription data in 10 days, with the new sources and risk scoring in a
second phase. I wrote the options in a one-page note with risks; the COO chose phase 1. We delivered
on day 9, the board deck used it, and phase 2 followed 5 weeks later."

Real-world use case

Teams that consistently negotiate scope rather than overcommitting build credibility. Their estimates come to be trusted, which makes future negotiations easier.

Common mistakes and red flags

  • Agreeing and then missing the date.
  • Refusing without alternatives.
  • Cutting testing silently.
  • Blaming stakeholders for “unrealistic expectations”.

Follow-up questions

  • What if they insist on full scope by the date? — Escalate risks in writing, propose resourcing, and track risk visibly.
  • How do you estimate data work? — Break down, include validation/backfill/testing, use ranges and past velocity.
  • Have you ever missed a deadline? — Explain how you communicated early and recovered.

12. Handling ambiguous requirements

Intermediate · Common · Requirements

Short answer

Clarify before building. Ask what decision or problem the request serves, who the users are, the definitions and grain of the metrics, the freshness and accuracy needed, and what “done” looks like. Write the understanding down, validate it with a quick prototype or sample output, then iterate. Separate must-haves from nice-to-haves, and confirm assumptions explicitly.

Full answer: explanation, example and follow-ups

Detailed explanation

Typical ambiguous request: “We need a customer health dashboard.”

Questions to clarify

  1. Purpose: what decisions will it drive (renewal outreach, upsell targeting)? Who uses it, and how often?
  2. Definitions: what does “customer” mean (account, subscription, user)? What makes up “health”: usage, support tickets, payments? Is there an existing definition elsewhere?
  3. Grain and dimensions: per account per week? Breakdowns by segment or region?
  4. Freshness and history: daily? How much history? Do they need point-in-time history?
  5. Accuracy and sources: which systems are authoritative, and what are the known data issues?
  6. Constraints: deadline, privacy (PII access), tools.
  7. Success criteria: how will we know it’s useful?

Process

  • Write a one-page spec or data contract: metric definitions, grain, sources, refresh schedule, owners. Get sign-off.
  • Prototype quickly: a sample table or mock dashboard with real data for a few accounts. People react much better to concrete outputs than to abstract questions.
  • Iterate in short cycles, and log decisions.
  • Flag assumptions in writing (“we assume trial accounts are excluded”).
  • Hand over documentation and definitions, ideally in the catalog or semantic layer.

What interviewers look for: proactive clarification rather than guessing, structured discovery, prototyping, and documentation of agreements.

Example

"Customer Success asked for a 'customer health score' with no definition. I held a 45-minute session
with two CSM leads, asking which signals predicted churn in their experience and what action they'd
take on a low score. We agreed on four inputs (weekly active users trend, support tickets, payment
failures, feature adoption) at account-week grain, refreshed daily. I wrote that into a one-page spec
and built a prototype for 20 known accounts; CSMs immediately spotted that enterprise accounts needed
different thresholds. Two iterations later, the score was live, documented in our semantic layer, and
CSMs used it to prioritise 300 renewal calls per month."

Real-world use case

Many failed data projects come from building the wrong thing precisely. A one-page definition doc plus a prototype in week one prevents weeks of rework.

Common mistakes and red flags

  • Building immediately on assumptions.
  • Endless discovery without delivering anything.
  • Not documenting definitions.

Follow-up questions

  • What if stakeholders can’t define what they want? — Prototype options and let them react.
  • How do you handle changing requirements mid-project? — Change log, impact assessment, re-prioritise.
  • How do you document requirements for data work? — Metric definitions, grain, sources, SLA, owners (data contract).

13. The business found a data quality issue before you did

Intermediate · Common · Data Quality Ownership

Short answer

Acknowledge it quickly and without defensiveness, assess the impact, fix it and communicate clearly. Then focus on why your checks missed it: add the missing test or monitor, and check for similar gaps elsewhere. Rebuilding trust comes from transparency, a fast response, and showing that the same class of issue will now be caught by the platform, not by users.

Full answer: explanation, example and follow-ups

Detailed explanation

Immediate response

  1. Thank the reporter and acknowledge it within minutes. Give them an ETA for an update.
  2. Assess the scope: which reports, dates and users are affected? Is it still getting worse?
  3. Contain: add a banner to the affected dashboards, or pause downstream distribution if the numbers are materially wrong.
  4. Fix and backfill (see Reprocess a single corrupted partition), then verify with the reporter.
  5. Communicate the resolution: what was wrong, the impact, and what changed.

Learning response (the part that differentiates candidates)

  • Why didn’t we detect it? No test for that rule, thresholds too loose, a monitor routed to the wrong channel, or a check that existed but warnings were ignored.
  • Add a detector: a test, an anomaly monitor or a reconciliation that would have caught it. Ideally verify it by replaying the bad data.
  • Generalise: are there similar models without that check? Apply it broadly (see Build a data quality framework for 200 tables).
  • Measure: track the share of issues found by users vs by the platform as a team KPI.

Trust-building

  • Proactive communication next time (“we detected and fixed an issue affecting X before your 9 AM report”).
  • Visible quality signals: freshness and test status on dashboards, certified datasets.

Example

"A finance analyst noticed our Q3 deferred revenue was $180k lower than the ERP. I replied within
15 minutes, confirmed the gap, and found a join that dropped contracts with null end dates (evergreen
contracts). I fixed the join, rebuilt the quarter, and verified the totals with her before her
close meeting. Then I asked why our tests didn't catch it: we had no reconciliation against the ERP.
I added a daily reconciliation test (difference > 0.1% fails the build) and a row-count check on the
contract join. The next month, the reconciliation test caught an unrelated FX issue before finance
saw it — and I told them proactively, which visibly improved their confidence in our data."

Real-world use case

Data teams that track “issues detected by us before users” as a KPI, and post brief post-mortems, steadily reduce user-reported incidents and gain trust with finance and leadership.

Common mistakes and red flags

  • Defensiveness (“the source was wrong”).
  • Fixing silently without communicating.
  • No new detection.

Follow-up questions

  • How do you rebuild trust after repeated issues? — Transparency, quality SLAs, visible test status, consistent follow-through.
  • What if the issue was in an upstream system? — Still own communication; work with the owner; add source checks/contracts.
  • How do you prioritise which checks to add? — By business impact of the dataset (tiering).

Advanced behavioral questions (experienced)

14. A process or cost improvement you drove

Advanced · Common · Impact & Initiative

Short answer

Describe an improvement you identified and drove without being asked. For example: cutting warehouse spend 40%, reducing pipeline failures, speeding up CI, or automating manual reconciliation. Cover how you found the opportunity (data), built the case, got buy-in, implemented it in stages, and measured results. Senior candidates should show organisation-level impact and sustainability.

Full answer: explanation, example and follow-ups

Detailed explanation

Structure

  1. Discovery: how you noticed. A cost dashboard, on-call pain, a slow developer workflow, a user complaint. Use data to quantify the problem.
  2. Business case: the expected savings or benefit, effort and risk. Explain how you prioritised it against feature work (see Balancing technical debt against feature work).
  3. Buy-in: who you needed (your manager, finance, other teams), and how you convinced them (a pilot results, a cost model).
  4. Execution:
    • Phased rollout, starting with quick wins.
    • Automation and guardrails so the improvement sticks (policies, alerts, CI checks).
    • Bring others along (docs, office hours).
  5. Results: before-and-after metrics: dollars per month, hours saved, failure rate, time to deliver.
  6. Sustainability: what prevents a regression, for example ongoing monitoring and ownership.

Strong examples in data engineering

What interviewers assess: initiative, data-driven reasoning, influence, execution, and measuring impact.

Example

"I noticed our Snowflake bill had grown 70% in six months while data grew 20%. Using
WAREHOUSE_METERING_HISTORY and QUERY_HISTORY, I found three drivers: BI warehouses never suspending,
120 dbt models rebuilt fully every hour, and a forgotten 2X-Large dev warehouse. I wrote a one-page
proposal with estimated savings of ~$22k/month and a 6-week plan; my director approved. Quick wins in
week 1 (auto-suspend 60s, resource monitors) saved $8k/month. Then I converted the 15 most expensive
models to incremental and moved hourly runs to only exposure-critical models. Final result: −42%
monthly spend (~$25k/month), with a cost dashboard per team and budget alerts so it didn't creep back."

Real-world use case

Promotion committees for senior and staff data engineers often look for exactly this kind of self-initiated, measurable improvement with lasting guardrails. It shows ownership beyond assigned tickets.

Common mistakes and red flags

  • Vague claims (“improved performance a lot”).
  • One-off fixes that regressed.
  • Taking credit for team work without acknowledging others.

Follow-up questions

  • How did you get buy-in? — Data, quick wins, low-risk pilots.
  • What resistance did you face? — Name a concern and how you addressed it.
  • How did you make it last? — Guardrails, ownership, dashboards.

15. How do you mentor junior engineers?

Advanced · Common · Leadership

Short answer

Tailor the support to each person’s goals and level. Set clear expectations, pair on real work, give scoped tasks with increasing ownership, and give specific, kind feedback through code reviews and 1:1s. Teach the reasoning behind decisions, not just answers. Create safe chances to own production work, and measure success by their growing independence and impact.

Full answer: explanation, example and follow-ups

Detailed explanation

Practices to describe

  1. Understand the person: their background, career goals, and learning style. Agree on growth areas (SQL performance, testing, system design).
  2. Structured onboarding: a curated reading list, an architecture walkthrough, a first task that’s small but real and ships to production within the first two weeks.
  3. Pairing: pair-program on debugging and design. Think out loud so they learn how you approach problems.
  4. Progressive ownership: move from tasks to small features to owning a pipeline end to end, then to joining on-call with backup.
  5. Code reviews as teaching: explain the “why”, link to standards, distinguish blocking issues from suggestions, and praise good work specifically.
  6. Socratic questions: “What happens if this job runs twice?” rather than handing over the fix.
  7. Psychological safety: normalise questions and mistakes, share your own past mistakes (see Tell me about a mistake you made), and run blameless reviews.
  8. Visibility: let them present their work in demos, and credit them publicly.
  9. Feedback cadence: regular 1:1s, with specific feedback (situation, behaviour, impact), and check progress against the goals.

Measuring success: they need less guidance over time, ship bigger pieces independently, review others’ code, and eventually mentor someone themselves.

Example

"A junior engineer joined with strong Python but little SQL or warehouse experience. In our first
1:1 we set a 3-month goal: independently own one dbt domain. Week 1, I walked her through our
architecture and gave her a small staging model to add with tests. I paired with her on reading
query profiles when her first incremental model was slow, asking 'what's being scanned and why?'
rather than fixing it. In code reviews I tagged comments as 'blocking' vs 'nit' and explained the
reasoning. By month 3 she owned the marketing models, by month 5 she joined on-call with me as
backup, and by month 8 she was reviewing other engineers' PRs and mentoring an intern."

Real-world use case

Senior engineer levels typically include mentoring as an explicit expectation. Interviewers want concrete examples with outcomes, not a philosophy of mentoring.

Common mistakes and red flags

  • “I just answer their questions.”
  • Rewriting juniors’ code instead of teaching.
  • No examples of growth outcomes.

Follow-up questions

  • How do you handle a mentee who isn’t improving? — Clarify expectations, find blockers, adjust approach, involve manager if needed.
  • How do you give difficult feedback? — Private, specific, behaviour-focused, with support.
  • How do you scale mentoring across a team? — Documentation, guilds, review standards, pairing rotations.

16. An architecture decision made with incomplete information

Advanced · Common · Decision Making

Short answer

Describe a significant decision, such as a platform choice, a batch vs streaming design, or build vs buy, where you couldn’t know everything up front. Explain how you defined the criteria, gathered the most critical information quickly (prototypes, benchmarks, expert input), made the decision reversible where possible, documented it (ADRs), and set checkpoints to revisit it. Share how it turned out.

Full answer: explanation, example and follow-ups

Detailed explanation

A good decision process to describe

  1. Frame the decision: what problem, which constraints (time, budget, skills), and what “good” looks like.
  2. Separate one-way from two-way doors: irreversible decisions (a core platform, a data model contract) get more rigour. Reversible ones (a library choice, a config) are made fast.
  3. Reduce uncertainty cheaply:
    • A focused proof of concept with representative data.
    • Benchmarks on cost and performance.
    • Reference calls with other teams or vendors.
    • Identify the riskiest assumption and test that first.
  4. Decide with explicit criteria: a weighted scoring matrix, or a pros and cons list against the requirements. Involve stakeholders.
  5. Document: an Architecture Decision Record (ADR) with the context, options, decision, consequences and assumptions.
  6. Build in flexibility: open formats, abstraction at the right boundaries, a phased rollout.
  7. Review checkpoints: “we’ll revisit after 3 months or if volume passes X”.
  8. Outcome and reflection: what went well, and what you’d change.

What interviewers look for: comfort with ambiguity, structured reasoning, bias for action without recklessness, accountability for the outcome, and learning when assumptions turned out wrong.

Example

"We needed a CDC solution for 60 Postgres tables within a quarter, but didn't know future volumes
or whether other teams would consume the change streams. Options: managed ELT (fast, per-row cost),
Debezium+Kafka (flexible, ops-heavy). The riskiest unknown was cost at scale, so I ran a 2-week PoC
of both on our 5 busiest tables and modelled cost at 3× growth. Managed ELT was ~40% cheaper for us
at current scale and needed far less ops. I documented an ADR choosing managed ELT, with a trigger:
'revisit if two or more teams need raw change streams or monthly cost exceeds $X'. Eighteen months
later the trigger hit when product wanted event streams; because we'd kept raw change tables in open
formats, migrating hot tables to Debezium was incremental, not a rewrite."

Real-world use case

Staff-level interviews often include a decision with uncertainty. Interviewers value ADRs, explicit reversibility thinking, and revisit triggers. They show mature engineering judgement.

Common mistakes and red flags

  • Analysis paralysis.
  • Choosing based on hype.
  • No documentation.
  • Not acknowledging what turned out wrong.

Follow-up questions

  • What if the decision turned out wrong? — Show how you detected it and adapted.
  • How do you get alignment on contested decisions? — Clear criteria, data, inclusive review, decision owner.
  • What’s an ADR? — A short document recording context, options, decision and consequences.

17. Leading a migration and influencing without authority

Advanced · Occasional · Leadership & Influence

Short answer

Explain how you drove a cross-team migration, such as moving 15 teams from a legacy warehouse or orchestrator, without being their manager. Show how you built a shared case (pain points, cost, risk), made migration easy (tooling, templates, office hours), started with willing early adopters, tracked progress publicly, and handled resistance by understanding and addressing specific concerns.

Full answer: explanation, example and follow-ups

Detailed explanation

Influence toolkit

  1. Shared why: quantify the pain of the status quo in terms each team cares about: outages, slow development, cost, deprecation risk. Get leadership sponsorship for the overall goal and timeline.
  2. Make the right thing easy:
    • Migration tooling (conversion scripts, templates, CI checks).
    • Documentation and examples.
    • Office hours and pairing sessions.
    • A dedicated “migration squad” that does the first migrations with each team.
  3. Early adopters and champions: start with a team that’s motivated, make them successful, and let them present the results.
  4. Reduce risk: parallel runs, validation tooling, rollback plans (see Migrate an on-prem Oracle/Teradata warehouse to the cloud, Migrate orchestration from Airflow to a managed service).
  5. Visibility: a public tracker (team, status, blockers), regular updates to leadership, and celebrated milestones.
  6. Handle resistance: listen for the real concern (no time, a missing feature, fear of breaking things), then address it specifically: schedule help, build the feature, provide validation.
  7. Deadlines with support: announce sunset dates early, with escalating reminders and help, and enforce them only after support has been offered.

What interviewers look for: influence through empathy, data and enablement, program management skills, and persistence with diplomacy.

Example

"I led migrating 14 teams' pipelines from a self-hosted Airflow 1 cluster to managed Airflow 2 in
two quarters — none of the teams reported to me. I started with a doc quantifying the risk: 11
outages in 6 months and an unsupported version, and got our VP to sponsor a sunset date. I built a
compatibility checker that flagged required DAG changes, a template repo, and ran weekly office hours.
Two motivated teams migrated first with my pairing; they presented their results (fewer failures,
faster deploys) at the engineering all-hands. A public tracker showed progress; for the two resistant
teams, the blocker was capacity, so my squad migrated their DAGs while they reviewed. We finished a
week before the sunset date with zero migration-related incidents."

Real-world use case

Platform engineers increasingly lead migrations across many teams. Success depends more on enablement and communication than on technical brilliance, which is why staff-level interviews probe this question.

Common mistakes and red flags

  • Mandating without support.
  • Ignoring resistance.
  • No progress visibility.
  • Doing all migrations yourself without enabling teams (doesn’t scale).

Follow-up questions

  • What if a team refuses outright? — Understand why, offer help, escalate to the sponsor with facts if needed.
  • How did you measure success? — Migration completion, incidents, developer satisfaction, cost.
  • What would you do differently? — Be specific (e.g. start tooling earlier).

18. Balancing technical debt against feature work

Advanced · Occasional · Engineering Judgement

Short answer

Make tech debt visible and measurable through incidents, on-call load, lead time and cost. Prioritise the debt with the highest interest, the debt that slows feature work or causes failures, and tie it to business outcomes. Use a consistent capacity allocation (for example 20%), combine debt reduction with related feature work when possible, and avoid big-bang rewrites without clear value.

Full answer: explanation, example and follow-ups

Detailed explanation

Making debt visible

  • Keep a tech debt register (backlog items), with the impact: incident count, hours lost per month, risk (security, unsupported versions), cost.
  • Use metrics: on-call pages per week, pipeline failure rate, time to add a new source or model, CI duration, compute waste.

Prioritising

  • Interest rate: how much the debt costs per month (failures, slowdowns) vs the effort to fix it.
  • Risk: end-of-life software, security vulnerabilities, compliance gaps. These are often non-negotiable.
  • Enablement: debt blocking upcoming features (for example, an incremental framework needed before adding 50 new sources).
  • Classic quadrants: high-impact and low-effort first. Plan high-impact, high-effort work as projects with business cases.

Allocation strategies

  • A fixed percentage per sprint (15–25%) for reliability and debt.
  • The “Boy Scout rule”: improve code you touch while building features.
  • Periodic “fix-it weeks” for focused cleanup.
  • Tie debt to features: “to build X safely we first refactor Y” (scope it into the feature estimate).

Communicating with product and business: translate debt into business terms. “This refactor reduces nightly failures from 6 to 1 a month, saving about 30 on-call hours and preventing late dashboards,” rather than “the code is messy”.

Avoid: unbounded rewrites, gold-plating, and ignoring debt until a crisis.

Example

"Our ingestion code had 40 copy-pasted connectors; each new source took 2 weeks and failures caused
~8 pages/month. Product wanted 12 new sources this year. I showed that a config-driven framework
would take 5 weeks but cut new sources to 2–3 days each — breaking even after about 4 sources — and
reduce pages by unifying retries and alerting. We agreed to build it alongside the first two new
sources (so feature work didn't stop), then migrate old connectors gradually, using 20% capacity.
By year-end we'd onboarded 14 sources, pages dropped to ~2/month, and the remaining legacy
connectors were retired."

Real-world use case

Teams that quantify debt in business terms get sustained capacity for it. Teams that argue “best practice” alone tend to lose prioritisation battles until an outage forces the work.

Common mistakes and red flags

  • “We never have time for debt.”
  • Rewriting everything.
  • Can’t quantify the impact.
  • Ignoring security and end-of-life risks.

Follow-up questions

  • How do you convince a PM to prioritise debt? — Business impact numbers and enabling features.
  • When is a rewrite justified? — When incremental refactoring can’t meet requirements and the business case is clear, with a phased migration.
  • How do you prevent new debt? — Standards, reviews, CI checks, definition of done including tests/docs.

By , Data Engineer · Last reviewed Oct 2026 · Product names and defaults as of October 2026; code snippets state their dialect or runtime

Search
Filter by type