🤝 "Software Architecture: The Bad Parts"

- Fluttered Meetup Wrocław #12 (GDG) (18:15 - 19:00)
In this talk, I will demonstrate how so-called good practices combined with a shallow understanding of the domain can create a dangerous illusion of control. Using a real-world example from the Connected Health domain—specifically, liver cancer risk alerting—I will show how a noun-driven design approach leads to excessive coupling and brittle systems. The talk will explore common architectural pitfalls such as context violations, database coupling, domain leakage, and mixing read and write models. I will also challenge a popular industry belief by explaining why Clean/Hexagonal Architecture is not an architecture. Attendees will leave with a clearer understanding of how design decisions shape system behavior—and how easily “best practices” can fail when the domain is misunderstood.

🤝 "Każdy* system jest rozproszony"

- 4Dev Warszawa 2025 (14:00 - 14:45)
Każdy* system oprogramowania jest rozproszony. Udawanie, że tak nie jest, naraża system Twojego klienta na nieprzewidywalność rzeczywistości. Współczesny rozwój oprogramowania opiera się w dużej mierze na podmiotach trzecich — generycznych subdomenach pakowanych jako usługi SaaS: delegowane uwierzytelnianie, zarządzanie RBAC, powiadomienia itp. Połączenie tych komponentów z przewagą rynkową Twojego klienta tworzy produkt. W mojej prezentacji przedstawię dlaczego praktycznie zawsze powinniśmy się przejmować problemami architektur rozproszonych. Omówię to na teoretycznie prostym przypadku - rejestracji użytkowników.

🤝 "Porównanie implementacji Archetypu Dostępności Czasowej"

- DevFest Poznań 2024
- 4Developers Katowice
Archetypy architektoniczne to rozwiązania problemów biznesowych. Dzięki ich znajomości łatwiej rozpoznamy elementy składowe naszego projektu - klocki, z których budujemy architekturę. Jednym z najbardziej popularnych archetypów jest archetyp Dostępności. Podczas mojej prelekcji opowiem o wariacji tego problemu - Dostępności Czasowej (ang. Time Availability). Omówię definicję obiektową archetypu i szczegółowo opiszę trzy różne implementacje pod kątem ich wydajności w systemach gdzie spodziewamy się dużego ruchu.