Książki

Wersja MVP listy przeczytanych (lub nie) przeze mnie książek, krótkich wniosków, poleceń (lub nie). :) Prowadzenie bloga pozwala na usystematyzowanie wiedzy. W przypadku opisywania książek, wierzę że będzie to powód do przypomnienia sobie ich treści i ponownego ich przemyślenia.

Na początku ubiegłego dziesięciolecia napisałbym “site under construction”.

Aktualnie czytane

Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity, Kim Scott

Opisane

TDD. Sztuka tworzenia dobrego kodu. | Kent Beck

Bardzo przyjemny, 232-stronicowy tutorial wyjaśniający krok po kroku ideę Test Driven Development. Autor przeprowadza nas przez proces tworzenia konwertera walut przy wykorzystaniu programowania prowadzonego testami. Co ważne, nie jest to książka ucząca pisania testów jednostkowych, a jest to książka ucząca podstaw TDD.

Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych. | Bill Karwin

Pozycja, którą przeczytałem w 2012 roku i dość mocno mnie znudziła, ponieważ traktuje o czystym SQL. Mimo to, polecam ją jak najbardziej. Przez pierwsze 5 lat swojej kariery zawodowej napisałem prawdopodobnie kilkanaście tysięcy zapytań SQL, dlatego też wiedza w niej zawarta była mi dość bliska. W czasach, w których wykorzystywanie ORM oraz generowanie CRUDów jest tak powszechne można ją uznać za bardzo ważny powrót do korzeni. Mówi między innymi o standardzie IEEE-754 (floating-point standard) oraz modelu EAV, będącym zmorą wydajnościową wielu monolitycznych systemów open sourcowych.

Clean Code: A Handbook of Agile Software Craftsmanship. | Robert C. Martin

Jedna z lektur obowiązkowych dla osób piszących każdego dnia kod, który następnie będzie musiał być przeczytany przez kogoś innego. Wpadła mi w ręce, w roku 2012 i gdy czytałem ją po raz pierwszy - zdecydowanie przewyższała moje umiejętności. W tamtych latach tworzyłem głównie kod, który był zgodny ze standardami firmy w której pracowałem, ale nie był on ściśle obiektowy. Dlatego też miałem pewne problemy z przebrnięciem przez całą zawartość książki. Jeżeli jeszcze nie czytałeś/aś Clean Code - polecam szybkie przekartkowanie ksiażki, jeżeli masz już kilka miesięcy doświadczenia komercyjnego w programowaniu obiektowym oraz powrót do niej po kolejnym roku pisania kodu, aby tym razem przeczytać ją bardzo wnikliwie.

The Clean Coder: A Code of Conduct for Professional Programmers. | Robert C. Martin

W przeciwieństwie do “pierwszej części książki” ta nie traktuje o kodowaniu, a o odpowiedzialności w pracy programisty. Programując, czesto myślimy o naszej pracy jako obowiązku pisania kodu, tworzenia klas, interfejsów, znajomości skrótów w IDE, czy konfiguracji continious integration. Clean Coder pokazuje, że naszą rolą jest dostarczanie działających rozwiązań naszym klientom i rozwiązywanie ich problemów. Dojrzały programista rozumie, że ciąży na nim pewna odpowiedzialność i powinien wykorzystywać swoje umiejętności jako wsparcie w tworzeniu czegoś większego. Tej książki raczej nie poleciłbym osobom rozpoczynającym swoją przygodę z IT. Warto się z nią zapoznać, gdy posiądzie się już pewien poziom umiejętności kodowania pozwalający na skupienie na problemach, a nie składni języka.

Software Craftsman. Profesjonalizm, czysty kod i techniczna perfekcja. | Sandro Mancuso

Pozycja bardzo dobrze uzupełniająca się z The Clean Coder: A Code of Conduct for Professional Programmers.. Sandro Mancuso opisuje popularny na świecie ruch Software Crafstmanship ukazujący wytwarzanie oprogramowania jako sztukę. Podobnie jak The Clean Coder, mówi o odpowiedzialności w pracy programisty i wychodzeniu zakresu obowiązków poza realizowanie kolejnych tasków. Bardzo podobało mi się, że dostrzega potrzebę istnienia społeczności oraz przekazywania swojej wiedzy innym. Podobnie jak powyżej opisywania pozycja - warta przeczytania, po etapie rozwijania swoich podstawowych umiejętności koderskich. W mojej ocenie jest to pozycja ciekawsze od książki Roberta C. Martina.

Jak przestać się przejmować i zacząć żyć. | Dale Carnegi

Po obejrzeniu filmu Michała Sadowskiego - How to Stop Worrying & Stressing uznałem, że to już czas na obniżenie swojego poziomu stresu w życiu. W pierwszej połowie książki Dale Carnegi pokazuje kilka technik i sposobów myślenia myślenia o problemach, które można uznać za framework prowadzący do akceptacji trudnych sytuacji przytrafiających nam się w życiu. Druga połowa to seria “motywacyjnych” historii ludzi, którzy wychodzili z ciężkich sytuacji, pokazująca jak wiele w naszym życiu zależy od nastawienia i interpretacji zdarzeń. Jeżeli nie masz czasu - polecam przeczytanie książki do połowy i spróbowanie wykorzystania zaprezentowanego frameworka w praktyce. Według mnie bardzo przydatna wiedza w życiu. Największy problem, łatwo zapomnieć o jej stosowaniu - szczególnie w trudnych momentach.

Kto zabrał mój ser? | Spencer Johnson

Chyba najkrótsza treść z tej listy. Metaforyczna historia opisująca zachowania ludzi w sytuacjach wymagających od nas wprowadzenia zmian w życiu, opowiedziana na przykładzie 2 ludzi (Zastałek, Bojek) i 2 myszy (Nos, Pędziwiatr) szukających sera w labiryncie. Czym jest ser? Wszystkim, szczęściem. Niesamowicie prosta treść i genialny przekaz. Książka przepełniona jest rysunkami zawierającymi hasła, które są krótkim podsumowaniem jej treści. W Evernocie stale przechowuję notatkę ze zdjęciami tych rysunków. Co jakiś czas, warto poświęcić 15 sekund na powrót do nich.

Zarządzanie 3.0. Kierowanie zespołami z wykorzystaniem metodyk Agile. | Jurgen Appelo

Model, który z założenia (wg autora) jest błędny. Jurgen Appelo opowiada o sposobach zarządzania i przywołuje przykłady ze świata wytwarzania oprogramowania. Twierdzi, że nie ma prostych odpowiedzi, które można zastosować w każdym kontekście, a model jest jedynie uproszczeniem mającym przenieść 80 miliardów neuronów ludzkiego mózgu na 1 slajd. Bardzo interesującym elementem tej książki jest liczba odniesień do nauk niemających na pierwszy rzut oka wiele wspólnego z zarządzaniem. Autor twierdzi, że świat odkrywa koło na nowo, ponieważ nie zwraca wystarczającej uwagi na inne dziedziny z których mógłby się wiele nauczyć. Przytacza teorię chaosu i teorię złożoności, aby wyjaśnić sposób w jaki możemy wpłynąć na system, którego jesteśmy częścią. Osobiście najbardziej w pamięć zapadło mi 7 poziomów delegacji o których pisze Jurgen. Patrząc na współpracę z ludźmi w codziennej pracy przez pryzmat tych 7 poziomów, łatwiej jest mi dobierać odpowiednie narzędzia do zwiększania ich efektywności. Bardzo polecam przeczytanie. Przypomina że odpowiedzią na wiele pytań jest - “to zależy”.

Zero to One: Notes on Startups | Peter Thiel

Pierwszy audiobook w życiu jaki przesłuchałem i szczerze mówiąc pamiętam treść jak przez mgłę. Peter Thiel opisuje podejście do budowania biznesu prowadzące do tworzenia firm rangi jednorożców. Albo wszystko (1), albo nic (0). Książka mówiąca o sensie istnienia monopolistów na rynku. Firm, które zmieniły świat. Twierdzi, że wielkie momenty w biznesie dzieją się tylko raz i drogą do sukcesu nie jest ich kopiowanie. W pamięć zapada tzw. Zasada Anny Kereniny, która brzmi “Happy families are all alike; every unhappy family is unhappy in its own way.”. Autor twierdzi, że biznes jest odwrotnością tej zasady, czyli wszystkie szczęśliwe firmy czymś się wyróżniają. Wydaje mi się, że zrozumiałem jej treść, ale z drugiej strony ciężko mi było się z nią utożsamić. Miałem wrażenie, że opisuje świat niewielkiego wycinku ludzi żyjących w mentalności Doliny Krzemowej.

Oczekujące na opisanie

Refaktoryzacja. Ulepszanie struktury istniejącego kodu. | Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Erich Gamma

Do uzupełnienia.

Domain-Driven Design. Tackling Complexity in the Heart of Software. | Eric Evans

Do uzupełnienia.

Kroki w nieznane - Autobiografia. | Richard Branson

Do uzupełnienia.

Metoda Lean Startup. | Eric Ries

Do uzupełnienia.

Rework. | Jason Fried, David Heinemeier Hansson

Do uzupełnienia.

The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers. | Ben Horowitz

Do uzupełnienia.

Oczekujące na przeczytanie

Analiza biznesowa. Praktyczne modelowanie organizacji. | Jarosław Żeliński

Do uzupełnienia.

Zrozumieć programowanie. | Gynvael Coldwind

Do uzupełnienia.

Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization. | Dave Logan, John King, Halee Fischer-Wright

Do uzupełnienia.

Technical Leadership. Od eksperta do lidera. | Mariusz Sierakiewicz

Do uzupełnienia.

Tworzenie modeli biznesowych. | Alexander Osterwalder, Yves Pigneur

Do uzupełnienia.

Remote: Office not required. | Jason Fried, David Heinemeier Hansson

Do uzupełnienia.

Getting to Yes: Negotiating Agreement Without Giving In. | Roger Fisher, William L. Ury

Do uzupełnienia.

Getting Past No: Negotiating in Difficult Situations. | William Ury

Do uzupełnienia.

Finansowy Ninja. | Michał Szafrański

Do uzupełnienia.

Working Effectively with Legacy Code. | Michael Feathers

Do uzupełnienia.

Pragmatyczny programista. Od czeladnika do mistrza. | Andrew Hunt, David Thomas

Do uzupełnienia.

Java Concurrency in Practice. | Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Leas

Do uzupełnienia.

Design Patterns: Elements of Reusable Object-Oriented Software. | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Do uzupełnienia.

Implementing Domain-Driven Design. | Vernon Vaughn

Do uzupełnienia.

Projekt Feniks. Powieść o IT, modelu DevOps i o tym, jak pomóc firmie w odniesieniu sukcesu. | Gene Kim, Kevin Behr, George Spafford

Do uzupełnienia.