Przymierzam się do napisania książki odnośnie kilku typów architektur, wykorzystywanych w obecnych systemach informatycznych m. in. o klasycznej monolitycznej architekturze warstwowej, DDD, ports and adapters/clean architecture, microservices, reactive architecture, serverless.
Książka skierowana będzie do osób początkujących jeśli chodzi o dziedzinę architektury - programista, który ma rok, dwa doświadczenia programistycznego i chciałby złapać szerszą perspektywę architektoniczną, zrozumieć założeniu kilku popularnych podejść, rozumieć różnice, mieć wyobrażenie na temat tego jak architektura może ewoluować, jakie czynniki mogą decydować o tym, na jakie rozwiązanie się zdecydować w danym kontekście. Pewien zarys możecie znaleźć w artykułach z ostatnich numerów Programisty (kwiecień, maj, czerwiec), zainteresowanym mogę przesłać na maila.
Mam już za sobą napisane dwie książki i dziesiątki artykułów, natomiast tym razem do tematu chciałbym podejść inaczej. W związku z tym poszukuję osób, które chciałyby uczestniczyć w procesie tworzenia książki, osób które odpowiadają profilowi docelowego uczestnika, osoby dla których wspomniane tematy architektoniczne nie są znane, lub są znane powierzchownie, hasłowo, w niewielkim stopniu, ale za to mają pewne doświadczenie programistyczne (może nawet nie być komercyjne). Współpraca byłaby pewnego rodzaju barterem - uczestnicy będą mieli okazję zdobyć wiedzę i umiejętności związaną z tworzeniem architektury, brać udział w dyskusjach (w zasadzie cały projekt to będzie bardzo pogłębione szkolenie z architektury), dostawać feedback odnośnie tworzonych implementacji. Będzie też opcja otrzymania potwierdzenia nabytych umiejętności oraz informacja w samej książce. Dla mnie współpraca będzie źródłem informacji nt. temat tego, co potencjalnemu czytelnikowi jest potrzebne, jakie pytania się pojawiają, jakie problemy stają na drodze. Będzie to „drive” do pisania książki, doboru treści. Książka ma być przede wszystkim praktyczna i pragmatyczna, niekoniecznie będąc encyklopedią nt. architektury.
Jak by wyglądała współpraca:
- osób byłoby kilka, w zasadzie byłby to mały zespół biorący udział w projekcie
- kołem napędowym prac będzie implementacja przykładowego systemu w różnych architekturach (od najprostszej do najbardziej skomplikowanej), w tym również jego refaktoryzacja, projekt będzie miał kod otwarty w momencie wydania książki
- mniej więcej raz w tygodniu będzie odbywać się 2-3 godzinne spotkanie (hangout), w trakcie którego będziemy dyskutować konkretne tematy (rodzaj architektury, wzorzec architektoniczny), analizować stworzoną implementację, rozmawiać nt. zawartości treści książki,
- uczestnicy będą też recenzować powstającą treść książki.
Szacuję, że całe przedsięwzięcie potrwa ok. pół roku. Osoby które chciałyby się zaangażować musiałyby być w stanie wygospodarować przynajmniej kilka godzin w tygodniu i zadeklarować się na uczestnictwo. Start pierwsza połowa września.
Technologia (język) nie ma większego znaczenia, szczególnie jeśli nie masz oporów w liźnięciu czegoś, czego nie znasz. Choć dodam, że będzie to najprawdopodobniej Java.
Jeśli taka tematyka jest dla Ciebie interesująca, widziałbyś korzyść z udziału w tego typu przedsięwzięciu lub masz pytania, to napisz maila (m __ sieraczkiewicz __ bnsit __ pl - wstaw w odpowiednie miejsca małpkę i kropki):
- dlaczego chciałbyś wziąć udział w tym przedsięwzięciu,
- na jakie pytania chciałbyś znaleźć odpowiedzi,
- jakie jest twoje dotychczasowe doświadczenie: ile lat, jakiego typu projekty, jakie technologie, jaka rola,
- jakie masz pytania?
Obrazek: https://www.extremetech.com/wp-content/uploads/2017/05/471213-best-ebook-readers-640x360.jpg