🎙️ Podcast | Jak nauczyć się architektury oprogramowania? Kiedy i jak zacząć?

Z życia na kodach

To była moja pierwsza praca, chciałem się pokazać z jak najlepszej strony. Dosłownie stawałem na głowie, żeby doprowadzić tę aplikację do stanu, w którym moglibyśmy ją dalej rozwijać. Za cały problem winiłem “złą strukturę bazy danych”, jak to wtedy nazwałem. Zostawioną oczywiście przez poprzednika. Pamiętam to, jak dzisiaj. Wydrukowaliśmy wielki diagram ERD (gdzieś go nawet ostatnio znalazłem w szafie) i razem z kolegami nanosiliśmy poprawki. W końcu wyszła piękna 3. postać normalna, tak jak uczyli nas na studiach! Potem jeszcze refaktoring klas, usunięcie duplikacji wg. zasady (nie rób tak!) tylko jedna klasa reprezentująca realny obiekt w rzeczywistości. I oczywiście, adnotacje z ORM w stylu @OneToMany @ManyToMany, żeby wszystko połączyć referencją z obiektem User. Byłem z siebie dumny, ale… to nie rozwiązało naszych problemów. Z czasem robiło się coraz gorzej.

Modularność i reużywalnośc klocków lego uczy nas podejścia do architektury oprogramowania.

Modularność i reużywalnośc klocków lego uczy nas podejścia do architektury oprogramowania.

Co jest w architekturze najważniejsze

Wtedy jeszcze nie umiałem sobie odpowiedzieć na pytanie, co jest najważniejsze w architekturze oprogramowania. Oczywiście można powiedzieć, że “to zależy” i nie minąć się z prawdą. Ale już dzisiaj mam na to swoją osobistą odpowiedź. Wyciągnął ją ode mnie Michał Cwiękała z AnatomiaKodu.pl. Naszą rozmowę o tym, czym jest architektura oprogramowania i skąd się jej uczyć, znajdziesz poniżej. Ponadto dowiesz się:

  • Co ma wspólnego komoda w sypialni z architekturą oprogramowania.
  • Czy junior powinien uczyć się architektury? A może to wiedza tajemna tylko dla seniorów?
  • Kiedy kasa, a kiedy doświadczenie?
  • Jak w zrozumieniu architektury pomagają klocki LEGO?
  • Gdzie znaleźć źródła do opanowania architektury?

Jeśli wolisz, jedynie wersję dźwiękową to znajdziesz nas też na popularnych platformach podcastowych. Kliknij i odsłuchaj na GOOGLE PODCASTS lub SPOTIFY. Ja sam podcasty słucham najczęściej podczas spacerów albo jeżdżąc na rowerze :)

Nie stawaj na głowie!

Ja się nieźle namęczyłem, Ty już nie musisz! Jesteś we właściwym miejscu. Teraz już wiem, na co zwracać uwagę projektując architekturę i jak nie powtarzać błędów, dzięki którym prawie każdy projekt prędzej czy później jest określany jako sławne “Legacy”. I całe ŻycieNaKodach jest po to, żebym mógł się tą wiedzą podzielić też z Tobą, i to właśnie teraz!

Zrób to już dzisiaj

Jeśli trochę już siedzisz w tych tematach albo zainspirowała Cię nasza rozmowa czy ten blog, to mam dla Ciebie coś jeszcze. Możesz już dzisiaj wykonać dwa pierwsze kroki w kierunku lepszej architektury Twoich projektów!

  1. Zapisz się na listę mailingową, gdzie prowadzę Cię krok po kroku przez praktyczne zadania z zakresu architektury aplikacji. KLIKNIJ TUTAJ, ŻEBY SIĘ ZAPISAĆ.
  2. W trakcie rozmowy polecaliśmy książkę Patterns, Principles, and Practices of Domain-Driven Design. Ciężko opisać co tutaj znajdziesz, to trzeba po prostu przeczytać :) Jak dla mnie jest to najlepsza pozycja o architekturze, DDD i podejściu do wytwarzania oprogramowania, jaką kiedykolwiek czytałem. Jeśli chcesz być świadomym programistą, który jest nie tylko klepaczem kodu, ale realnym partnerem dla biznesu… a chyba chcesz :) ? To ta pozycja jest dla Ciebie! Książka jest droga, ale to z pewnością dobra inwestycja. I na szczęście nie ma polskiego tłumaczenia, więc nie muszę Ci go odradzać :) KLIKNIJ TUTAJ I ZAINWESTUJ W SIEBIE (link afiliacyjny-coś z tego zakupu skapnie też dla mnie, cena dla Ciebie bez zmian). A najlepsza inwestycja, to właśnie inwestycja w siebie i swój rozwój.
Od tej książki zaczęła się moja prawdziwa programistyczna ewolucja.

Od tej książki zaczęła się moja prawdziwa programistyczna ewolucja. Po tych wszystkich latach dalej jest to dla mnie pozycja TOP1.

Podziel się wpisem:

✉️ Lista Mailingowa

Otrzymasz materiały o Event Sourcingu, Event Modelingu, Domain-Driven Design, programowaniu obiektowym i funkcyjnym oraz innych powiązanych tematach. A także zaproszę Cię na wspólne sesje modelowania.

🫱🏻‍🫲🏽 Mentoring Online

Nauka Domain-Driven Design? Podział projektu na moduły? Zaplanowanie architektury? Konsultacja CV? A może rozwój w kierunku Seniora? Spotkajmy się! Umów się na mentoring lub konsultacje. Wspólnie opracujemy plan dla Ciebie 🫵

📖 SOLIDne CV?

🤔 Szukasz teraz nowej pracy? Masz wymagane kompetencje, ale nikt nie daje Ci szansy ich zaprezentować? Zmień to!

CV na kodach

💪 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 się pozytywnie wyróżnić i przejść ten etap rekrutacji.

Więcej o życiu na kodach

⚔️ 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...

⚔️ 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.

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ę!

SzkolenieWarsztaty dla zespołów
Event Modeling
  • Proces, który buduje zaufanie
  • Od modelu wprost do kodu — 1:1
  • Idealny kontekst dla ludzi i AI
  • Spec-Driven Development zrobione dobrze
DDDEvent SourcingAIVertical Slices
Sprawdź, czy to dla Ciebie