01 / Co zbudowałem — wybrane osiągnięcia
Systemy, które zmieniły sposób działania biznesu, nie tylko wygląd kodu.
- 01
Multi-tenant portal pacjenta
LUX MED
Współarchitektura (odpowiedzialność za architekturę techniczną) i prowadzenie developmentu portalu, który przeniósł wprowadzanie danych nowych pacjentów z obsługi klienta LUX MED — najpierw do działów HR klientów, potem do samych pracowników — w modelu multi-tenant, w którym każdy klient administruje swoim obszarem.
Setki tysięcy żądań dziennie · multi-tenant - 02
Platforma autoryzacji dla wielu produktów
EcoVadis
Współarchitektura, implementacja i utrzymanie platformy autoryzacji obejmującej dostęp na poziomie uprawnień i pojedynczych rekordów, ze zautomatyzowaną ścieżką dla innych zespołów.
Dziesiątki milionów autoryzacji dziennie · jednocyfrowe milisekundy - 03
Modernizacja platformy i architektura event-driven
LUX MED
Ocena i wdrożenie przejścia z WCF/ExtJS na ASP.NET Core, .NET Core, RabbitMQ, Hangfire i Angular 4+ — niezależne serwisy budowane w vertical slices, komunikujące się zdarzeniami; od praktyk developerskich po utrzymanie i CI/CD. Do tego kultura pracy: knowledge sharing, documenting in public, planning for failure i safe-to-fail teams.
Zmiana stacku w całej firmie - 04
Regalia: Of Men and Monarchs — systemy gry
Pixelated Milk
Współprojektowanie i rozwój modułów: lokacje, podróż, questy, bantery, przepływ czasu, harmonogram NPC, wymagania, crafting, sklep, drużyna, powiadomienia i loot — każdy z narzędziami, by projektanci i testerzy budowali świat gry bez wsparcia programistów.
73 Metascore · debiut - 05
Pierwszy w pełni niezależny mikroserwis zespołu
EcoVadis
Architektura i prowadzenie developmentu serwisu łączącego dotychczasowe platformy organizacji z nowym rozwiązaniem BI opartym na Tableau — pierwsza autonomiczna usługa zespołu i wzorzec dla kolejnych.
Wzorzec dla autonomicznych usług
02 / Edukacja
Uczę tego, co najpierw sam musiałem rozwiązać.
Każdy kurs zaczynał się od problemu na produkcji — dopiero potem stawał się szkoleniem: wewnątrz zespołów, z którymi pracuję, i publicznie w DevMentors, firmie, którą współtworzę.
Szkolenia
- 01
Domain-Driven Design
Strategiczne i taktyczne DDD dla zespołów produktowych budujących platformę ratingową — od bounded contextów i języka domeny po kod, który ma je utrzymać.
EcoVadis - 02
Messaging
Messaging asynchroniczny taki, jaki jest na produkcji: kontrakty, gwarancje dostarczenia, kolejność i to, co się dzieje, gdy konsument padnie.
EcoVadis - 03
Szkolenia eksperckie i konsulting
Warsztaty architektoniczne wewnątrz zespołów klienta — DDD, messaging i dekompozycja na systemie, który faktycznie utrzymują, nie na przykładowym repo.
DevMentors
Kursy publiczne
devmentors.io/kursy- 01
Domain-Driven Design
Od strategii do taktyki, pragmatycznie — bounded contexty, język domeny i kod .NET, który je utrzymuje.
domain-driven-design.net - 02
Messaging Pragmatycznie
Projektuj, łącz, wdrażaj i utrzymuj messaging — razem ze scenariuszami awarii.
messaging-pragmatycznie.pl - 03
Mikroserwisy Revisited
Mikroserwisy po hype: co dekomponować, czego nie ruszać i ile kosztuje utrzymanie.
mikroserwisy-revisited.pl
Prelekcje
- 01
Dotnet wczoraj, dziś i jutro
Panel DevMentors na 150. spotkaniu Krakowskiej Grupy .NET: skąd przyszła platforma, czego się nauczyła i które stare nawyki .NET po cichu unieważnił. Z Dariuszem Pawlukiewiczem i Piotrem Gankiewiczem.
KGD .NET · Kraków - 02
xDDD — o wdrażaniu DDD w organizacji
Wdrażanie DDD w organizacji opowiedziane przez pryzmat porażek: bounded contexty i wzorce taktyczne niewiele znaczą, dopóki ktoś nie przeprowadzi organizacji przez ich przyjęcie. Z Dariuszem Pawlukiewiczem.
DDD-WAW · Warszawa
Podcasty
- 01
Architekt o cybersecurity
Czy wszyscy w IT muszą znać się na bezpieczeństwie? Shift-left i bezpieczeństwo jako odpowiedzialność całego zespołu, nie jednego specjalisty.
bezpiecznykod.pl - 02
O discovery i wprowadzaniu DDD do organizacji
Better Software Design #81 u Mariusza Gila — proces discovery i realny koszt wprowadzania DDD do organizacji. Z Dariuszem Pawlukiewiczem.
bettersoftwaredesign.pl
03 / Czym się zajmuję
Cztery role, jedna praca: wziąć zaplątany system i zostawić go czytelnym — a zespół zdolny, by tak go utrzymać.
Architekt oprogramowania
Systemy event-driven, zdekomponowane. DDD od strategii do taktyki. Modernizacja legacy na dużą skalę.
Inżynier
.NET / C#, Azure, Kubernetes, messaging. Staff engineer i tech lead rozproszonych zespołów.
Trener i mentor
Współautor trzech flagowych kursów DevMentors; szkolenia z DDD i messagingu wewnątrz EcoVadis. Warsztaty, prelekcje, podcasty.
Grafik
Systemy wizualne, bryły i światło. Ex-gamedev — Unity3D, Regalia: Of Men and Monarchs.
- C#/.NET
- Azure
- Kubernetes
- DDD
- Event-driven
- RabbitMQ/Kafka
- EF Core
- Terraform
04 / Gdzie pracowałem
Platformy klasy enterprise i małe zespoły, które musiały działać jak jedna.
- 2023 →
DevMentors.io
Architekt i współzałożyciel
Konsulting architektoniczny, szkolenia eksperckie i trzy flagowe kursy .NET.
Własna firma - 2022 →
EcoVadis
Staff Engineer · Tech Lead
Pierwszy w pełni niezależny mikroserwis zespołu łączący dotychczasowe platformy z Tableau BI; platforma autoryzacji dla wielu produktów — na poziomie uprawnień i pojedynczych rekordów. .NET na Azure/AKS.
Enterprise · SaaS - 2016 — 21
LUX MED
Senior .NET Developer → architektura
Multi-tenant portal pacjenta obsługujący setki tysięcy żądań dziennie. Prowadziłem przejście na .NET Core, RabbitMQ i architekturę event-driven.
Enterprise · ochrona zdrowia - 2015 — 16
Pixelated Milk
C# / Unity3D Developer
Systemy gry Regalia: Of Men and Monarchs — questy, podróż, crafting, loot — każdy z narzędziami, by projektanci tworzyli treść bez programistów.
Startup · gamedev - 2015
NAU S.A.
.NET Developer
ASP.NET MVC, SQL Server i analiza techniczna dla zarządzania szkołami.
Zespół produktowy - 2015
Outbox
Junior MS Dynamics Consultant
Wdrożenia CRM — backend C#/WWF, frontend JavaScript.
Konsulting
05 / Open source
Kod z kursów, biblioteki i eksperymenty — publicznie.
Sześć publicznych repo: trzy do kursów, toolkit do przetwarzania dokumentów, helpery UI do Unity i zestaw bibliotek C#.
- 01group-flights-dddDomain-Driven Design „Pragmatycznie” — od strategii do taktyki. Kod z kursu.
- 02UnityUIComponentsKomponenty UI i helpery do projektów w Unity3D.
- 03Messaging-PragmatycznieProjektuj, łącz, wdrażaj i utrzymuj messaging — pragmatycznie.
- 04Mikroserwisy-RevisitedMikroserwisy Revisited — kod towarzyszący kursowi.
- 05BureaucratizeToolkit do przetwarzania dokumentów — formularze pisane ręcznie na dane strukturalne.
- 06resonanceZbiór bibliotek C# używanych w moich projektach.
