#DDD #Architektura #EventSourcing #EventStorming

Jesteś we właściwym miejscu.

Obserwuj i zyskaj potęgę większą niż Behemoty w I tygodniu *

* Nie wiesz o co chodzi? Zadanie domowe: Heroes III

Cześć, tutaj Mateusz 👋

(Zycie)NaKodach.pl - Wpisujemy w komputerze odpowiedni kod, a na nasze konto przychodzą niemałe pieniądze. Kupujemy za to ubrania, wyposażenie, a nawet budujemy dom. Jeśli znasz grę komputerową The Sims, to z pewnością spotkało Cię coś podobnego. A co gdybym Ci powiedział, że jest to możliwe nie tylko w grze na kodach? Ponadto można to naprawdę lubić i cieszyć się z każdej zakodowanej linijki. Witaj w życiu na kodach! Znajdziesz tutaj moje przemyślenia na tematy ciekawe nawet dla developerów z wieloletnim doświadczeniem. Większość mojego czasu "komputerowego" spędzam na zgłębianiu technik takich jak Domain-Driven Design, Event Modeling i Event Sourcing. Z pewnością nie zabraknie też porad dla początkujących adeptów sztuki programowania. Suchą teorię znajdziesz wszędzie, ale nie tutaj. Here we go!

Nie chciałbym, żebyśmy pozostawali dla siebie anonimowi. Dlatego już teraz zapraszam Cię na zakładkę o mnie. Możemy też popisać poprzez mailing lub spotkać się na konsultacje.

⚔️ Moc i magia Domain-Driven Design w świecie Heroes III: Mapa Kontekstów i Hydra - co mają wspólnego i jak kąsają Twój biznes?

Zobrazujemy zależności między modułami i zespołami — kto będzie musiał się do kogo dostosować, a gdzie potrzebne są wspólne ustalenia i partnerstwo. Context Mapping jest w stanie uwidocznić Ci problemy niedostrzegalne na pierwszy rzut oka, ale niestety odczuwalne przez wszystkich. Możesz wziąć niebieską pigułkę i dalej żyć w błogiej nieświadomości, aż brutalne realia projektu nie wyrwą Cię z tego marazmu. Albo przeczytać ten wpis...

📄 CV NA KODACH: Wysyłasz już 100+ cv i dalej nic? Sprawdź jak się wyróżnić!

📈 170 - tyle CV otrzymałem do weryfikacji podczas ostatniej rekrutacji na Senior Developera. A miejsce było tylko jedno! Nic dziwnego, że większość zostanie odrzucona na tym etapie. Już teraz zrób pierwszy krok, aby pokonać ten status quo i dostać zaproszenie na rozmowę. Od 7 lat pracuję jako programista (obecnie Tech Lead). Przeprowadziłem ponad 100 rozmów rekrutacyjnych i widziałem tysiące CV. Nieraz miałem okazję porównać CV odrzucane, z tymi które robiły największe wrażenie. Na tej podstawie opracowałem porady, które pomogą Ci przejść ten etap rekrutacji.

⚔️ Moc i magia Domain-Driven Design w świecie Heroes III: EventStorming, Event Modeling, stawianie granic i wysoka jakość bez code review

W jaki sposób zbudować model architektury, gotowy do przełożenia na kod? Jak wyznaczyć co musimy zrobić najpierw i nad czym możemy pracować równocześnie? Dostrzeż w fantastycznej domenie Heroes III analogie do realnych projektów i sprawdź jak wykorzystać DDD i Event Modeling w Twojej pracy. Przeprowadzisz szybkie eksperymenty, zwiększysz jakość i unikniesz naparzanek przy code review, a dodatkowo zaoszczędzisz mnóstwo czasu i pieniędzy.

⚔️ Moc i magia Domain-Driven Design w świecie Heroes III: Modelowanie, modularyzacja i produktyzacja + Bounded Context

Statystyki bohatera wpływają na jednostki w bitwie, a wynik bitwy przecież na armię bohatera. Bohatera możemy zatrudnić w tawernie, która może być zbudowana w mieście, ale nie musi... W takim razie jak do tego podejść, aby znowu nie zginąć w gąszczu ifów i relacji między tabelkami z setkami kolumn? Zobacz jak wyznaczyć autonomiczne moduły i umożliwić powstawanie nowych produktów dzięki analogii do procesów znanych z Heroes III.

🍕 Przepis na udany EventStorming krok po kroku!

Jako programiści głównie musimy się uczyć zasad działania danego biznesu, a powstały kod to tylko skutek uboczny tego procesu. Powiedz, jaka jest wartość dobrego kodu, napisanego na czas i w budżecie, przez kogoś, kto nie zrozumiał problemu do rozwiązania? Można go od razu wyrzucić do kosza. Jako developerzy optymalizujemy naszą aplikację, ale nie proces pozyskiwania wiedzy domenowej. A niestety, aby rozwiązać jakiś problem / zautomatyzować działanie czegoś musimy najpierw dogłębnie zrozumieć o co chodzi. Spisane setki stron analizy biznesowej i diagramy UML tutaj nie pomogą. Wiem to z własnego doświadczenia. Ty pewnie niestety też. EventStorming usprawnia proces zwany „knowledge crunching”, czyli wyciągania wiedzy od osób, które ją mają.

📱 Instagram | Ekspresowa skarbnica wiedzy dla programisty i bezpośredni dostęp do ekspertów! Kogo obserwować?

Ciężko Ci się zebrać do czytania książki albo oglądania kursu online? Łatwiej Ci przychodzi scrollowanie na telefonie? Ta skondensowana forma wiedzy może być właśnie dla Ciebie! Ale kogo tutaj znajdziesz? Influencerzy IT, a może celebryci z gumowymi kaczuszkami w wannie? Nie tylko! Czyli w skrócie: kogo z polskiej branży IT, warto obserwować na Instagramie? Codzienna dawka wiedzy nt. Domain-Driven Design, umiejętności miękkich, Event Stormingu, budowania marki osobistej, tworzenia kursów online. A także angażujące formy interakcji, dzielenia się wiedzą i wiele więcej. Instagram to łatwy i szybki dostęp do specjalistów, podobnie jak konferencyjne kuluary. Wystarczy tylko wysłać "privka"!

◓ Bulbasaur, Squirtle czy Charmander? A raczej Java, C#, czy może Python? Co wybrać na start? Zostań programistą w 2024 roku!

Pamiętasz jak Ash Ketchum, główny bohater serii Pokémon zastanawiał się jakiego Pokemona wybrać: Charmander, Squirtle czy Bulbasaur? Taki dylemat miał każdy rozpoczynający przygodę Trenera Pokemon, podobnie jest z językami programowania. Wybierz na początek jeden język, z którego zamierzasz być „najlepsza/y jak nigdy dotąd nikt”! Skup się na tym, który pozwoli Ci wykonać wymarzony program. A wtedy przyszła praca programisty i związane z nią benefity przyjdą same. Od czego zacząć, aby zostać programistą jeszcze w tym roku?

🕹️ Domain-Driven Design | Google to tylko jeden guzik i dwa ekrany? + Zadanie z EventStormingu

Mnie tak uczyli i Ciebie pewnie też. Tak wykładają przez lata na uczelni, a jednak branża IT idzie do przodu. "Szukajcie rzeczowników" + tabelka i strzałeczki. Czy to jest właśnie legendarny model? Model danych... być może. Model domenowy - obrazujący problem do rozwiązania, o który chodzi w DDD, skupiony na zachowaniach i zdarzeniach — z pewnością nie! To nie rzeczowniki budują zrozumienie... W skrócie: NIE ZACZYNASZ PROJEKTOWANIA SYSTEMU OD BAZY DANYCH. Ale jak to zrobić?

🇵🇱 Polska na kodach, czyli państwo open-source. Kiedy ustawa staje się "pull requestem"?

Polska Rzeczypospolita Opensourcowa... GitHub wkracza na salę sejmową? Jak cudownie to brzmi! Rewolucja w legislacji? Kiedy ustawa staje się "pull requestem"? Kontynuując myśl jednego z polityków, zobaczymy, jak mógłby działać system państwowy oparty na platformie GitHub. A tym samym poznasz funkcjonalności platformy przydatne w Twoim projekcie. Czy programiści przejmują władzę? A co na to wszystko Konstytucja? Z pomocą przychodzi sztuczna inteligencja w postaci ChatGPT! Podobno przy klawiaturze nie rozmawia się o polityce, dlatego postaramy się zostać w tym dobrym tonie i nie zanurzyć się w meandry waśni politycznych, a przy tym dowiedzieć się na czym polega Prompt Engineering. Czas na ustawowy `git blame`!

🦁 Domain-Driven Design | Bounded Context | Być albo nie być? + zadanie praktyczne!

Pytanie brzmi: kim Ty jesteś? To najważniejsze zdanie, jakie pada w znanej bajce "Król Lew". Odpowiedź na nie totalnie zmienia bieg wydarzeń. Dlatego po poznaniu podstawowych zasad podziału na moduły, będziesz dla swojego projektu, niczym dobry Rafiki (w suahili znaczy przyjaciel) dla zagubionego w świecie Simby. Uchronisz go od sięgnięcia samego dna! Twój kod nie raz potrzebuje pomocy, w zrozumieniu kim właściwie jest. Kolejne instrukcje if-else i rozgałęzienia procesów biznesowych pokazują, że nie jest to takie oczywiste. A niewłaściwy podział na moduły, doprawiony mikroserwisami prowadzi do nieuchronnej katastrofy w projekcie.

🔸 Figma | Przeprowadź EventStorming z gotowym szablonem!

Kotlin jest tylko do aplikacji mobilnych, a Figma nadaje się tylko do robienia mockupów? Jedno i drugie to wielkie kłamstwo! Przeprowadzić EventStorming zdalnie? Jeszcze niedawno sam twórca metody, Alberto Brandolini intencjonalnie zostawił w swojej książce pustą stronę na ten temat. Więc to niemożliwe. Jednak... prawda bywa przeterminowana. Rok 2020 udowodnił, że to bzdura! Szukasz narzędzia, które pozwoli Ci zacząć w łatwy sposób? Użyj mojego sprawdzonego szablonu do EventStormingu za pomocą Figmy!

🐕 O psie, który jeździł koleją. 🚂 Jak zapłacić za koszyk w serwisie PKP? Odrobaczanie systemu.

O psie, który jeździł koleją, albo bardziej o naszym polskim PKPowym `isPies` czy "kłopotliwych zniżkach" słyszał w branży IT już prawie każdy. Chociaż w międzyczasie doszła "szybka szpachla ifem" w postaci fragmentu `if(ZakupBiletuUtil().isCOVID())`, to dzisiaj także nie o tym. Dzisiaj historia z życia na kodach wzięta. Co stanie się, kiedy trzech programistów podejmie się karkołomnego wyzwania zapłacenia za jedyny bilet w koszyku? Czy zwyciężą "Cannot read properties of null"? W jaki sposób wyruszą w swoją podróż? Czy przeprowadzą odrobaczanie? A może się poddadzą? Przeczytaj, jak 3 programistów bilet na PKP kupowało i pokonali siejącego czerwone logi buga, który mieszkał w przypadku brzegowym.

Mailing Domain-Driven Design

Wciąż za mało życiowych cheatów?

Zostaw swój adres e-mail i zobacz moje spojrzenie na codzienność programisty.

Na sam początek opowiem Ci o zetknięciu z Domain-Driven Design, zmianie myślenia i nowej erze mojego programistycznego ja.

Możesz liczyć na materiały o Event Sourcingu, Event Modelingu, DDD, programowaniu obiektowym i funkcyjnym oraz innych powiązanych tematach.

Na pewno poświęcę trochę maili umiejętnością miękkim.

Będziesz też informowany o nowościach Życia na kodach prosto na Twoją skrzynkę!