Describe a significant architectural decision you made under uncertainty
cs-sen-003
Your answer
Answer as you would in a real interview — explain your thinking, not just the conclusion.
Model answer
We were migrating a monolithic WCF service to microservices on a tight deadline. I had to decide between a shared database (fast to ship, but high coupling) and separate databases per service (correct, but complex). I proposed a strangler-fig approach: keep the shared database short-term behind a repository abstraction, deploy services independently, then decouple the data layer in a second phase once value was proven. We shipped on time, reduced deployment coupling significantly, and completed data separation six months later. I documented the trade-off explicitly — shared database was intentional tech debt, not an oversight — so the team committed to paying it back on schedule.
Follow-up
How do you ensure technical debt decisions are actually paid back rather than accumulating indefinitely?