Architekturę traktuję jako zestaw świadomych kompromisów, które mają utrzymać system zrozumiały i możliwy do zmiany wraz z jego wzrostem. Pilnuję granic modułów, zależności i kontraktów, a nowe warstwy czy wzorce wprowadzam dopiero wtedy, gdy rozwiązują konkretny problem złożoności.
Software Architecture, Modular Architecture, Modular Monolith, Microservices, Clean Architecture, Hexagonal Architecture, DDD, CQRS, Event-Driven Architecture, Dependency Inversion, Separation of Concerns, Bounded Contexts, API Contracts