Cześć, chciałbym podzielić się z Wami moimi opiniami na temat książek, które przeczytałem w tych kilku miesiącach 2019 roku. Nie było ich jakoś niesamowicie dużo, ale wydaje mi się, że parę fajnych pozycji udało mi się zaliczyć i oznaczyć jako przeczytane na moim Kindlu. Tak naprawdę to tylko kilka książek, które przeczytałem od lutego/marca, ale wydaje mi się, że to odpowiedni moment na tego typu podsumowanie; nazwijmy je podsumowaniem półrocznym.

Kindle?

Generalnie zawsze uważałem, że książka w innej formie niż papierowa to bezsens i nie ma opcji, abym coś takiego zechciał przeczytać. „Jakże cholernie się myliłem” – pomyślałem w momencie, gdy po zakupie Kindle-a skończyłem swoją pierwszą książkę w tym formacie.

To genialne urządzenie sprawiło, że zacząłem pochłaniać zdecydowanie więcej materiałów. Nigdy nie chciało mi się brać ze sobą do komunikacji miejskiej ogromnych książek jak przykładowo „DDD dla architektów oprogramowania” Vaughna Vernona, bo po prostu było to ciężkie i nieporęczne. To samo w momencie, gdy czytałem w innym miejscu niż na biurku – to było męczące! Dzięki Kindlowi czytam wszędzie i w każdej wolnej chwili – metro? Jasne! Samolot? Lećmy! Łóżko przed pójściem spać? Tak!

Gorąco polecam spróbować przygody z e-bookami jeżeli jeszcze nie daliście im szansy.

Books

Jakie typy książek?

Na początku chciałbym zaznaczyć, że nie spotkacie w moim wpisie literatury pięknej i podobnych. Jest to raczej zestaw książek, które mogą pomóc Wam w budowaniu zestawu umiejętności technicznych oraz miękkich. Chociaż osobiście uważam, że w 2019 roku określenie „umiejętności miękkie” trochę straciło, bo te umiejętności są równie ważne co zestaw wiedzy o inżynierii oprogramowania.

Dej listę!

Wybaczcie ten przydługi wstęp, ale dotarliśmy do listy książek, które przeczytałem w ciągu ostatnich miesięcy. Podzielone one są na kategorie i zawierają krótki opis oraz ocenę wyrażoną w wartości logicznej (polecam/nie polecam).

Książki techniczne:

  • „Software Craftsmanship” – Sandro Mancuso; książka, która mocno pokazuje obraz współczesnego programisty, który jest właśnie takim „rzemieślnikiem”, dla którego wytwarzanie oprogramowania to nie tylko sposób w jaki zarabia, ale przede wszystkim pasja. Autor świetnie opisał w jaki sposób rekrutować specjalistów, którzy będą podstawą dla naszego zespołu. Zdecydowanie rozdziały dotyczące rekrutacji oraz przygotowywania ofert pracy są warte przeczytania – niezależnie czy programujesz, jesteś liderem czy prowadzisz rekrutacje IT - to świetny zestaw wiedzy. Samo wprowadzenie mapy myśli podczas rozmawiania z osobą, od której chcemy wyciągnąć trochę informacji na temat stanu jej wiedzy to coś ciekawego i wydaje się ciekawym rozwiązaniem zaproponowanym przez Sandro. Poza tym trochę o historii pracy autora i tym jak zmieniła się branża na przestrzeni lat. POLECAM.
  • „Architektura ewolucyjna” – Neal Ford, Rebecca Parsons i Patrick Kua; naprawdę solidna pozycja, która uświadomi nas o tym, co znaczy, że dane rozwiązania architektoniczne są możliwe do ewoluowania i rozwijania bez zbędnego niszczenia budżetu na projekt. Autorzy tłumaczą czym jest sprzężenie w ujęciu architektury, jak się go pozbywać i poznajemy tutaj także pojęcia znane nam z GRASPa, ale w ujęciu architektonicznym; wcześniej wspominany LowCoupling oraz HighCohesion są brane na tapet jednego z rozdziałów. Poza tym można poukładać wiedzę związana z różnymi rodzajami architektury, sposobami ich migracji (np monolit -> mikroserwisy) i poznać kilka przydatnych antywzorców. POLECAM.
  • „Tao mikrousług” – Richard Rodger; książka przystępna, która pokazuje w jaki sposób mikrousługi potrafią polepszyć życie aplikacji, a także jakie dodatkowe benefity otrzymujemy wraz z poprawnym wdrożeniem microservice-ów. Dodatkowo w książce tej jesteśmy w stanie dostrzec poważniejsze problemy, które generują nam systemy opracowane w architekturze pojedynczego kwanta wdrożeniowego (monolity). Podoba mi się także stwierdzenie, że “kod mikrousługi jest jednorazowy”, które obrazuje to, że poprawnie zaprojektowane mikrousługi jesteśmy w stanie przepisać w bardzo krótkim czasie zostawiając za sobą poprzednie wersje i w bardzo łatwy sposób przełączając się do korzystania z nowych rozwiązań. Fajne jest także wyjaśnienie czym tak naprawdę jest architektura mikrousługowa i to wytłumaczenie jest bardzo szerokie, więc uważam, że dotrze do każdego. Niestety, czasami delikatnie czuć lanie wody przez autora i osoby pracujące w tego typu architekturze wdrożeniowej raczej nie odkryją czegoś super nowego, ale poza tym stosunkowo przyjemnie się czyta, więc POLECAM.
  • „Effective Java” – Joshua Bloch; dobra — pewnie większość osób czytających ten wpis wie, że do nazywania się Javowcem mi niezwykle daleko. Mimo wszystko sięgnąłem po tę książkę, bo uważam, że trzeba mieć oczy szeroko otwarte i nie zamykać się tylko na konkretne języki. Szczególnie gdy książka “Effective Java” zbiera naprawdę dobre noty i to nie tylko od kawowego świata. Po pierwsze — super tłumaczenie wielu dobrych praktyk związanych nie tylko z Javą, ale ogólnie światem programowania obiektowego. Tak naprawdę nawet temat immutability jest tutaj genialnie opracowany i nawet osoby, które nie do końca rozumieją to pojęcie powinny zmienić swój punkt widzenia. Generalnie książka bardzo mocno opowiada o poprawnych praktykach Object Oriented Programming, o sposobie budowy obiektów, hermetyzacji, abstrakcji, relacjach między obiektami, także to naprawdę kawałek solidnej lektury i uważam, że powinni ją przeczytać dosłownie wszyscy programiści, którzy w swoim CV umieszczają akronim OOP. POLECAM+.
  • „Software Architecture for Developers: Technical Leadership and balance with agility” – Simon Brown; tak naprawdę to najlepsza książka techniczna jaką przeczytałem od bardzo dawna. Genialnie sformułowane rozdziały, bardzo dużo praktycznej wiedzy i pomysłów. To tutaj dowiedziałem się o czymś takim jak Risk Storming czy Risk Matrix, które to wydają mi się czymś genialnym, czego często brakuje podczas planowania nowych funkcjonalności czy całych serwisów. Ponad to książka świetnie prezentuje kim tak naprawdę jest architekt i architektura, a także co oznacza słowo, którego nie przetłumaczę: architecting. Naprawdę obowiązkowa lektura dla wszystkich developerów, bo Simon świetnie tłumaczy, że Software Architect to nie stanowisko, a rola w zespole i pokazuje jak ważna jest ona w codziennej pracy. POLECAM+.
  • „W poszukiwaniu zwinności w architekturze” — Krzysztof Bończak; bardzo długo zabierałem się do technicznych książek polskich autorów i tak też trafiłem na tę książkę. Niestety, opisy wzorców architektonicznych bardzo mocno naciągane, w paru przypadkach także ostro kłóciłbym się z autorem. Nic nowego, tak naprawdę połączenie “Software Architecture for Developers” i “Architektura ewolucyjna” da nam totalne wypełnienie wszystkich tematów z książki pana Krzysztofa i osobiście uważam, że nie ma większego sensu sięgać po tę książkę. Sam przeczytałem z trudem 3/4 i stwierdziłem, że to nie ma najmniejszego sensu. NIE POLECAM.
  • “Applying UML and patterns” — Craig Larman; podobnie jak “Effective Java “— ta książka traktuje o obiektowości. Zapewne nigdy bym po nią nie sięgnął, gdyby nie to, że zebrałem listę książek polecanych w programie DevTalk Trio i przełamałem się. Tak naprawdę lektura nie traktuje o UML-u, a związana jest z tym jaki powinien być design aplikacji. To właśnie tutaj nauczyć się można bardzo wiele w temacie jakim jest GRASP (zapraszam do mojego wpisu). Świetnie układa wiedzę i można z niej wiele wyciągnąć, bo sam przedstawiony chwilę temu akronim jest super ważny. POLECAM.

Książki o zarządzaniu czasem i soft skills:

  • „Technical Leadership – Od eksperta do lidera” – Mariusz Sieraczkiewicz; nie byłem przekonany co do tego, czy potrzebuję tego typu lektury, ale jakże zmieniło się moje zdanie, po przedarciu się przez pierwszych kilka rozdziałów tej książki. Dowiemy się z niej w jaki sposób budować autorytet w zespole, w jaki sposób go mobilizować, jak rozwiązywać konflikty zespołowe czy przeprowadzać trudne rozmowy — naprawdę solidna pozycja i uważam, że każda osoba, dla której rola lidera zarówno technicznego jak i zespołu brzmi ciekawie - powinna sięgnąć po tę pozycję, by ułożyć swoją wiedzę. Zdecydowanie za mało jest tego typu materiałów, także jako, że jest to jedna z niewielu i do tego wysoko oceniana — fajnie sięgnąć i uzupełnić braki na naszym regale. POLECAM.
  • „15 tajemnic zarządzania czasem” – Kevin Kruse; ta książka nie odmieniła mojego postrzegania codziennego dnia czy omijania marnotrawienia czasu, ale dała mi parę fajnych zasad. Po pierwsze: praca z notatnikiem — kupiłem swojego Moleskine-a i zacząłem notować ważne rzeczy, mam także miejsce na ciekawe cytaty. Dzięki temu udaje mi się nie zapominać istotnych kwestii i zawsze pod ręką mam papier na którym mogę rozrysowywać swoje myśli. Trochę lania wody, nudnych fragmentów, które tak naprawdę niczego sensownego nam nie dadzą. Poleciłbym tylko osobom, które lubią czytać i poznawać różne sposoby radzenia sobie z organizacją czasu — reszcie NIE POLECAM.
  • „Eat That Frog” – Brian Tracy; a oto książka, którą polecił mi mój poprzedni przełożony — Bartek. Raczej sceptycznie podchodziłem do zabrania się za twór Briana Tracy-ego, jako że słyszałem na jego temat wiele skrajnych opinii. Ale! Nie, nie żałuję — przeczytałem wszystko na jeden rzut. Nie mamy tutaj miliona stron, wszystko jest bardzo przystępne i szybko się czyta kolejne strony. Książka traktuje o tym, w jaki sposób podejść do najtrudniejszych zadań każdego dnia. Codziennie wieczorem przygotowujemy listę zadań na dzień następny, a później klasyfikujemy je odpowiednimi poziomami A-C. Gdy rozpocznie się kolejny dzień musimy jak najszybciej zjeść największą żabę — czyli literkę A, która brzmi dla nas najstraszniej. Sama historia związana z jedzeniem żab dotyczyła osoby, która rozpoczynając dzień zjadała żabę, by wiedzieć, że nic bardziej strasznego i obrzydliwego jej nie spotka. Dzięki temu szybko się motywowała do kolejnych zadań. Wyciągnąłem z tej książki cholernie dużo, nauczyłem się porządnie korzystać z kalendarza, rozbijać problemy na mniejsze i radzić sobie z tymi wielkimi ropuchami. Zdecydowanie POLECAM jeśli macie jakiekolwiek problemy z organizacją zadań, czasu w pracy a i także poza nią. Po prostu solidna lektura.
  • „Znajdź swoje DLACZEGO” – Simon Sinek; kolejna książka z zakresu samodoskonalenia i umiejętności miękkich. Od niej już bardzo blisko do medytacji i mindfulness. Niestety zaniedbałem kilka zasad, o których dowiedziałem się z tworu Simona, a bardzo chciałbym do tego wrócić. Autor próbuje nas nauczyć żyć świadomie, zwracać uwagę nawet na najmniejsze rzeczy i po prostu je doceniać. Niestety dość ciężko czytało mi się niektóre rozdziały i musiałem do nich wracać, bo mimo, że książka traktuje o świadomym wykonywaniu różnych czynności — tak ja miałem problem ze świadomym jej czytaniem. Chętnie do niej wrócę, bo to lektura do której zwyczajnie się wraca. POLECAM.

Co dalej?

Kilka książek było, w kolejnych miesiącach niestety nie mam już tak dużego zbioru fajnych materiałów, które chciałbym przeczytać — także jeżeli macie coś, co Waszym zdaniem mogłoby mi się spodobać czy to tematycznie, czy po prostu Waszym zdaniem to pozycja godna polecenia: śmiało walcie drzwiami i oknami, bo chcę mieć co czytać! Tym bardziej, że jest coraz bliżej jesieni w trakcie której znajdzie się dużo czasu na wieczorne pożeranie literatury. Także kończąc ten wywód przedstawię Wam listę książek, za które to mam zamiar wziąć się w najbliższym czasie. Oto i one:

  • “Software Architecture for Developers: Visualise, document and explore your software architecture” — Simon Brown; druga z książek Simona. Pierwsza była fenomenalna i liczę na to, że z drugą będzie podobnie. Dotarłem już do 1/3 i póki co jest bardzo obiecująco. Niestety trzeba tutaj się wspomagać PDF-em, bo w książce mamy masę diagramów, wizualizacji i to wszystko po prostu nie jest najwygodniejsze do przeglądania w wersji e-bookowej na Kindlu, a szkoda!
  • “Just Enough Software Architecture”- George Fairbanks; podejść do jej przeczytania miałem już wiele, cały czas jednak znalazł się bloker. Mam nadzieję, że tym razem ją pochłonę.
  • “Design It!” — Michael Keeling; za wiele o tej książce nie wiem poza poznaniem jej spisu treści, który wydaje się bardzo interesujący. Dodatkowo dostałem dwa polecenia i oznacza to, że warto byłoby skusić się ku tworowi Michaela Keelinga.