Designing at Scale: Challenges, Pitfalls, and Lessons Learned (DESIGNING 2026)
Large-scale software systems have an inconvenient truth: every architectural decision eventually turns into a mistake. The only uncertainty is when. In this talk, I’ll talk about real architectural and design choices that once looked reasonable, or even “the best one”, but later became liabilities that constrained teams, slowed delivery, and complicated evolution. From these failures, I’ll extract recurring patterns of pain in large-scale design and challenge some of the assumptions we commonly rely on when “designing for the future.” This is not a talk about best practices or silver bullets. It’s about making trade-offs consciously, accepting that regret is inevitable, and learning how to leave fewer landmines for the engineers who will inherit your system, including your future self.
Keynote at DESIGNING 2026, workshop co-located with ICSE 2026 in Rio de Janeiro.