hardScenarioDesignCodingMidSeniorStaff
You have read access to the customer's production database and there is no staging environment. How do you develop and test without putting their system at risk?
6 min readUpdated 2026-08-15
Answer
Short answer
Pull a bounded, representative extract into an environment you control and develop against that, keeping production for read-only verification under agreed limits, and treat every write path as something proven against a restored copy before it runs anywhere near live.
Was this answer helpful?
Likely follow-ups
- The customer refuses to let any data leave their network. How does your approach change?
- What would you insist on before running the first write against their production database?
- How do you keep a local extract useful as production data drifts over a twelve-week engagement?
- Their DBA offers you a nightly restore of last night's backup. What does that solve and what does it not?
Related questions
- The customer's schema has no documentation and the person who designed it has left. How do you work out what the tables actually mean?hardAlso on customer-data-integration6 min
- Go gives you no project layout and no dependency-injection container. How do you structure a service so it stays testable as it grows?mediumAlso on testing5 min
- The business told you a field is always populated, and in production it is null for a third of the rows. How do you work out what is going on and what do you do about it?hardAlso on customer-data-integration7 min
- You get a messy customer export and three hours to turn it into something they can use. What do you build first?mediumAlso on customer-data-integration5 min