Oskar Dudycz

Pragmatycznie o programowaniu

Konsulting architektury oprogramowania

Praktyczne wsparcie w decyzjach architektonicznych, Event Sourcingu, granicach spójności, procesach rozproszonych i systemach opartych na zdarzeniach.

Pomagam zespołom podejmować trudne decyzje architektoniczne, zanim staną się kosztownymi problemami na produkcji. Pracujemy praktycznie i wspólnie: na Twoich wymaganiach, modelu, kodzie oraz ograniczeniach operacyjnych, bez wciskania systemu w uniwersalny schemat architektoniczny.

Jeśli rozważasz Event Sourcing lub architekturę opartą na zdarzeniach, używasz ich już na produkcji albo próbujesz uporządkować system, który coraz trudniej rozwijać, możemy przeanalizować problem razem.

Umów bezpłatną rozmowę wstępną

Pierwsza rozmowa jest bezpłatna. Doprecyzujemy problem i kontekst oraz sprawdzimy, czy jestem właściwą osobą do pomocy. Nawet jeśli nie zdecydujemy się na współpracę, otrzymasz propozycję kolejnego kroku.

Umów bezpłatną rozmowę o konsultingu

Możesz też wysłać mi wiadomość.

W czym mogę pomóc

Przegląd architektury i wsparcie w decyzjach

Analizujemy obecną architekturę, jej ograniczenia oraz decyzje generujące największe ryzyko. Zamiast diagramu, który nie przetrwa zderzenia z produkcją, otrzymasz konkretne rekomendacje, kompromisy i drogę wdrożenia.

Typowe tematy to:

  • granice serwisów i modułów,
  • gwarancje spójności oraz współbieżność,
  • komunikacja synchroniczna i asynchroniczna,
  • procesy rozproszone i obsługa awarii,
  • dostarczanie i kolejność wiadomości, ponowienia oraz idempotencja,
  • kontrakty zdarzeń, ewolucja schematów i obserwowalność.

Wdrożenie lub naprawa Event Sourcingu

Pomogę ocenić, czy Event Sourcing pasuje do problemu, zaplanować jego świadome wdrożenie albo przeanalizować istniejące rozwiązanie, które staje się trudne w utrzymaniu lub rozwoju.

Możemy pracować nad modelowaniem zdarzeń, granicami strumieni, logiką biznesową, projekcjami, testowaniem, wersjonowaniem zdarzeń, migracjami, prywatnością i działaniem na produkcji. Celem nie jest dodawanie ceremonii, ale zachowanie wartościowych informacji biznesowych przy utrzymaniu zrozumiałego systemu.

Warsztaty z modelowania i granic spójności

Przy złożonych procesach biznesowych możemy przeprowadzić skoncentrowany warsztat z programistami, architektami, product ownerami i ekspertami domenowymi. Przechodzimy od wymagań, przez modelowanie procesu i czasu, do granic technicznych oraz działających przykładów.

To szczególnie pomocne, gdy zespół musi sprawdzić:

  • gdzie wyznaczyć granice spójności,
  • które operacje mogą wykonywać się równolegle,
  • co musi wydarzyć się synchronicznie,
  • jak wiadomości przepływają pomiędzy częściami systemu,
  • jakich gwarancji rzeczywiście potrzebuje biznes.

Praktyczne wsparcie we wdrożeniu

Mogę pracować bezpośrednio z zespołem nad kodem i projektem: przeglądać pull requesty, wspólnie zaimplementować pionowy wycinek, przygotować referencyjną implementację gotową na realia produkcyjne albo pomóc ustanowić praktyki testowe i operacyjne, które zespół będzie potrafił dalej rozwijać samodzielnie.

Formy współpracy

Zakres dopasujemy do problemu:

  1. Konsultacja konkretnej decyzji — rozwiązanie określonego problemu lub przegląd propozycji.
  2. Przegląd architektury lub kodu — analiza systemu oraz lista ustaleń i rekomendacji według priorytetu.
  3. Warsztat modelowania z zespołem — zbudowanie wspólnego zrozumienia i przełożenie go na decyzje techniczne.
  4. Stałe wsparcie doradcze — współpraca z zespołem podczas implementacji i wdrożenia.
  5. Prywatne szkolenie — dopasowanie jednego z praktycznych warsztatów do systemu i zespołu.

Pracuję zdalnie z zespołami z całego świata. Po uzgodnieniu możliwe są również warsztaty na miejscu.

Powiązane szkolenia i warsztaty

Konsulting można połączyć z praktyczną nauką, kiedy zespół potrzebuje zarówno decyzji, jak i umiejętności do jej samodzielnego wdrożenia:

Dlaczego warto pracować ze mną?

Od ponad 18 lat tworzę oprogramowanie bliskie biznesowi jako programista, lider techniczny i architekt. Rozwijam otwartoźródłowy toolkit Emmett i publikuję praktyczne materiały o Event Sourcingu, CQRS-ie, modelowaniu oraz architekturze opartej na zdarzeniach.

Podchodzę do architektury pragmatycznie. Event Sourcing, komunikacja asynchroniczna i systemy rozproszone są narzędziami, a nie celami. Tak samo chętnie zakwestionuję niepotrzebnie złożoną architekturę, jak pomogę wdrożyć tę, która ma uzasadnienie.

Przeczytaj więcej o moim doświadczeniu, przejrzyj artykuły według tematów albo zobacz wystąpienia i nagrania.

Porozmawiajmy o Twoim problemie

Nie potrzebujesz gotowego briefu. Wystarczy problem, ograniczenia i pytania, z którymi mierzy się zespół.

Umów bezpłatną rozmowę wstępną albo napisz do mnie.