Dominik Czerwiński
Solution Architect | .NET | Distributed Systems | Cloud
Jestem Solution Architectem pracującym głównie w ekosystemie .NET. Projektuję systemy biznesowe tak, żeby można było je rozwijać bez dokładania zbędnej złożoności - z wykorzystaniem DDD, modularnej architektury i podejścia dopasowanego do skali oraz kontekstu systemu.
Aktualnie skupiam się na budowaniu praktycznego modelu AI-assisted software delivery - AI jako integralna część pełnego cyklu wytwarzania oprogramowania.

Co robię
Architektura systemów
Projektuję architekturę systemów backendowych - od modularnych monolitów po rozwiązania rozproszone. Dbam o granice odpowiedzialności, spójność i możliwość dalszego rozwoju.Wymagania i granice systemu
Przekładam wymagania biznesowe na granice domeny, API i odpowiedzialności komponentów - pracując z interesariuszami zanim zapadną decyzje projektowe..NET i Cloud
Buduję rozwiązania w oparciu o .NET i Azure, z naciskiem na skalowalność, niezawodność i utrzymywalność w środowisku produkcyjnym.AI-assisted SDLC
Buduję praktyczny model AI-assisted software delivery - AI jako integralna część pełnego cyklu wytwarzania, od specyfikacji po wdrożenie.Integracje i API
Projektuję i rozwijam API oraz integracje między systemami. Dbam o spójność kontraktów, stabilność i możliwość rozwoju bez częstych breaking changes.Alignment zespołów
Pomagam ustalać granice odpowiedzialności między frontendem, backendem, API i integracjami, tak aby zespoły pracowały na spójnym modelu.Pragmatyzm w mojej pracy
Jak pracuję
Zrozumienie problemu
Zaczynam od zrozumienia problemu biznesowego, ograniczeń systemu i miejsc, w których obecne rozwiązanie przestaje się skalować lub staje się zbyt kosztowne w utrzymaniu.Decyzje architektoniczne
Projektuję rozwiązania w oparciu o realne wymagania, ograniczenia i skalę, a nie na podstawie tego, co dobrze wygląda na diagramie. Jasno nazywam konsekwencje decyzji architektonicznych.Upraszczanie systemów
Eliminuję zbędną złożoność, rozdzielam odpowiedzialności i dbam o spójność. Projektuję tak, żeby dodanie nowej funkcji za rok nie wymagało istotnego przebudowania istniejących komponentów.Blisko implementacji
Nie kończę pracy na etapie projektowania architektury. Prowadzę design review, wspieram przy trudnych przypadkach i pilnuję, żeby decyzje architektoniczne trafiły do kodu.Zakres odpowiedzialności
- •Projektowanie architektury backendowej, integracyjnej i API
- •Prowadzenie decyzji architektonicznych od analizy problemu do wdrożenia
- •Przekładanie wymagań biznesowych na granice systemu, API i odpowiedzialności komponentów
- •Utrzymanie spójności architektury między zespołami i warstwami systemu
- •Mentoring developerów i technical leadów w zakresie architektury, DDD i system design
Doświadczenie
CSHARK
mar 2023 – obecnie
Domena: sprzedaż i obsługa zamówień, system enterprise dla globalnej firmy przemysłowej, integracja z SAP
Senior Software Engineer (Technical Leadership / Architecture)
mar 2023 – obecnie
Prowadzenie kierunku technicznego dla obszaru sprzedaży i obsługi zamówień.
- Projektowanie architektury dla procesów przyjmowania, zmiany i obsługi zamówień
- Wprowadzenie modularnej struktury zgodnej z domeną biznesową i granicami procesów
- Projekt spójnego API dla integracji wewnętrznych, frontendowych i zewnętrznych
- Porządkowanie odpowiedzialności i przepływów między backendem, frontendem, integracjami i systemami źródłowymi
- Koordynacja decyzji technicznych między zespołami
- Poprawa dokumentacji, onboardingu i utrzymywalności rozwiązania
- Rozwijanie praktycznego AI-assisted development flow wspierającego analizę, specyfikację, implementację i review
Sente Systemy Informatyczne
lut 2013 – lut 2023
Domena: system finansowy z modułami ERP i CRM, obejmujący sprzedaż, rozliczenia finansowe, księgowość i procesy operacyjne
Lead Architect
wrz 2016 – lut 2023
Odpowiedzialność za architekturę dużego systemu finansowego w warunkach ograniczeń legacy, wysokiej złożoności domenowej i ograniczonej dostępności kompetencji architektonicznych.
- Odpowiedzialność za kierunek architektury całego systemu
- Transformacja systemu z architektury opartej o bazę danych do rozproszonej
- Strategia migracji z użyciem mikroserwisów i wzorca strangler
- Wprowadzenie DDD, CQRS i architektury event-driven
- Budowa wewnętrznych frameworków i standardów inżynierskich
- Koordynacja architektury w projekcie rozwijanym przez 60+ developerów i wiele zespołów
.NET Developer
lut 2013 – sie 2016
Rozwój systemu finansowego z wykorzystaniem .NET i Firebird.
Wykształcenie
Politechnika Wrocławska
2009 – 2014
Magister, Informatyka
Projektowanie systemów informatycznych
2013 – 2014
Ocena: bardzo dobryInżynier, Informatyka
2009 – 2013
Ocena: celującyWybrane projekty
Transformacja systemu legacy
Sente Systemy Informatyczne
System legacy oparty o logikę bazodanową i Firebird, z problemami skalowalności oraz rosnącym ryzykiem operacyjnym.Podejście
- •Migracja z użyciem wzorca strangler.
- •Stopniowa dekompozycja monolitu do mikroserwisów.
- •Przeniesienie części procesów do przetwarzania w czasie rzeczywistym.
- •Wprowadzenie DDD jako podstawy modelowania domeny.
Efekty
- •Ograniczenie ryzyka operacyjnego przez rozdzielenie logiki serwisowej od kodu legacy.
- •Możliwość rozwijania i wymiany modułów bez wpływu na resztę systemu.
- •Spójna struktura modułów i wzorce integracyjne w projekcie z 60+ developerami.
Redesign domeny sprzedaży i obsługi zamówień
CSHARK
System z rozproszoną logiką biznesową, niespójnym API i rosnącymi potrzebami integracyjnymi.Podejście
- •Modularyzacja domenowa i uporządkowanie odpowiedzialności.
- •Redesign API pod spójność i integracje zewnętrzne.
- •Rozdzielenie logiki między backend, frontend i systemy źródłowe.
- •Wyrównanie decyzji technicznych między zespołami.
Efekty
- •Nowe procesy można budować na istniejących granicach domenowych bez modyfikowania obecnych.
- •Stabilne kontrakty API zmniejszyły liczbę breaking changes dla frontendu i integracji zewnętrznych.
- •Jasne granice odpowiedzialności zmniejszyły koszty koordynacji między zespołami.
AI-Assisted Software Delivery Flow (Pilot)
CSHARK
Budowa praktycznego procesu wykorzystania Generative AI w pracy zespołu: od wiedzy projektowej i specyfikacji po implementację oraz review.Podejście
- •Zaprojektowanie strukturalnego procesu SDLC z określonymi rolami AI: spec writer, implementer, reviewer i wsparcie analizy technicznej.
- •Budowa konfiguracji agentów i zestawów instrukcji dla GitHub Copilot i Claude Code.
- •Zastosowanie workflow w realnym projekcie komercyjnym - iteracje na organizacji bazy wiedzy, strukturze speców i cyklach review.
- •Udokumentowanie metodyki jako publicznej serii blogowej (w toku, EN/PL) i opublikowanie referencyjnej implementacji open-source.
Efekty
- •Proces stosowany na co dzień w realnym projekcie komercyjnym.
- •Referencyjna implementacja open-source dostępna na github.com/dczerwinskipl/ai-sdlc-from-scratch.
- •Seria blogowa dokumentująca praktyczne wnioski, decyzje narzędziowe i mechanizmy kontroli w AI-assisted software delivery.