# A producer team renamed customer_id to user_id last week, dropped a required column, and started sen

Canonical URL: <https://datadriven.io/problems/a-producer-team-renamed-customerid-to-userid-last-week-dr-6f1d2a77>

Domain: Pipeline Design · Difficulty: medium

## Problem

A producer team renamed customer_id to user_id last week, dropped a required column, and started sending strings where numbers were expected. The pipeline silently absorbed all three changes; downstream joins and aggregates are now wrong in ways nobody has noticed. The section's pattern is schema validation: assert column exists, type matches, nullability respected, value-in-declared-range. Tools that can author and run these assertions include Great Expectations, dbt tests, and Soda, all of which the team can adopt incrementally. Validate the schema by adding a schema-validation check between the source and the curated table whose name lists what it asserts (existence, types, nullability, ranges).

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-producer-team-renamed-customerid-to-userid-last-week-dr-6f1d2a77)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.