ICSE 2026
Sun 12 - Sat 18 April 2026 Rio de Janeiro, Brazil

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.

Dr. Maurício Aniche’s life mission is to help software engineers to become better and more productive. Maurício is currently a Staff Engineer at Uber, working on its Identity platform. In the past, Maurício was a Tech Lead at Adyen, where he headed the Testing Enablement team. Maurício is a former assistant professor of software engineering at Delft University of Technology in the Netherlands. His teaching efforts in software testing gave him the Computer Science Teacher of the Year 2021 award and the TU Delft Education Fellowship, a prestigious fellowship given to innovative lecturers. He is the author of the “Effective Software Testing”, and “Simple Object-Oriented Design”, both published by Manning.