10 książek, które zamierzam przeczytać w 2019 roku

W podsumowaniu roku 2018 zwróciłem uwagę na to, że ostatnio poruszałem się w temacie jakości pracy oraz skupiłem się na przekazywaniu wiedzy. W tym roku mam zamiar kontynuować temat. Jednak nie można tego robić samemu nie dokształcając się i nie poszerzając listy poznanych zagadnień. Dlatego postanowiłem, że w tym roku poza nauką opartą o praktykę w pracy warto też odświeżyć sobie pewną wiedzę teoretyczną. W tym celu przygotowałem listę 10 książek, które mam zamiar przeczytać w roku 2019.

Większość porusza zagadnienia, które co prawda znam w jakimś stopniu albo z nich korzystam pobieżnie. Jednak aby być dobrym nie wystarczy znać czegoś „pobieżnie”. Trzeba się w temat zagłębić. Dla każdej pozycji piszę kilka słów dlaczego ją wybrałem i jak potencjalnie wpłynie na moją pracę.

Przy okazji załatwiam sobie tym wpisem również wpis na koniec roku. Będzie to pewnie coś w stylu „Książki, które przeczytałem w roku 2019” :P

Lista nie jest ułożona pod względem kolejności czytania albo wagi pozycji. Część z tych książek posiadam w swojej biblioteczce, część dostępna jest w bibliotece firmowej, a część trzeba będzie kupić. Są też dwie w formie strony internetowej.

„Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów”

Kolejna po „Czystym kodzie” książka od dobrze znanego programistom Wujka Boba.

Poprzedni rok to mój rozwój w obszarze zarządzania zespołem i prowadzenia projektu. Przestałem być odpowiedzialny za aktualnie robione zadanie, a zacząłem być odpowiedzialny za kod ogólnie. Co prawda po kilku latach pracy wiem albo czuję jaki kierunek działa, albo bardziej wiem co na pewno nie działa. Jednak nie ma co się opierać tylko na swoich błędach. O tej książce słyszałem już kilka miesięcy temu ale jeszcze nie było okazji po nią sięgnąć.

„Pro Git”

Kurs Gita może niektórych dziwić. Przecież pracuję z nim na co dzień więc po co mam się go uczyć? Jednak w pracy 99% czasu korzystania z tego systemu to dosłownie kilka poleceń. Bez szukania w Google nie znam bardziej zaawansowanych zagadnień. Mieliśmy też w zeszłym roku kilka dyskusji na temat repozytoriów i czułem, że nie mam wystarczająco dużej wiedzy żeby czuć się swobodnie przy proponowaniu jakichś rozwiązań.

Warto tę pozycję poczytać tym bardziej, że w wersji online jest dostępna za darmo w wielu językach, w tym po polsku.

„Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów”

Znowu coś od Wujka Boba. Mimo, że nie jestem jego wyznawcą to jednak treści jakie wypuszcza są naprawdę wartościowe. Skoro „Czysty kod” znam i stosuję to warto pójść o krok dalej i popracować nad samym sobą jako programistą. Tym bardziej, że dostrzegam ostatnio spadek „formy” jeżeli chodzi o trzymanie tempa i jakości pracy. Może coś z tej książki mi pomoże wrócić na właściwe tory. Zwłaszcza, że nawet na stronie „O mnie” mam zdanie „Liczy się dla mnie jakość” ;)

„Pragmatyczny programista. Od czeladnika do mistrza”

Ta pozycja dotyczy podobnego tematu co poprzednia. Po prostu jest spojrzeniem z perspektywy innych autorów. Dodałem ją tutaj bo słyszałem wiele dobrych opinii. Nie wiem jeszcze czy zdecyduję się na przeczytanie zarówno jej jak i „Mistrza czystego kodu”. Może się okazać, że wybiorę jedną ale dodaję żeby nie zapomnieć.

„Algorytmy bez tajemnic”

Książka autora popularnej na kierunkach informatycznych książki „Wprowadzenie do algorytmów”. W sumie wybrałem ją z dwóch powodów. Po pierwsze bo ją posiadam. Po drugie bo w trakcie studiów algorytmy od strony teoretycznej nie były moją najsilniejszą stroną. Dlatego chcę wrócić do tematu i spróbować się z nim zmierzyć jeszcze raz. Tym bardziej, że nawet na rozmowach o pracę zdarzają się pytania o algorytmy. Głupio by było czegoś nie wiedzieć po kilku latach pracy, prawda? ;)

Akurat ta książka, w przeciwieństwie do „Wprowadzenia do algorytmów” zawiera tylko najczęściej używane algorytmy przedstawione w przystępnej formie więc być może uda się przerobić całość.

„Pro .NET Memory Management”

O tej książce w okresie premiery mówiła chyba cała .NETowa część naszej firmy. Nauczenie się jak to działa pod spodem to dla mnie w pewnym sensie następny poziom na drabinie kariery. Odkąd zacząłem pracę miałem w głowie, że będę dobry kiedy poznam jak działają rzeczy, których używam i jak dzięki temu mogę je wykorzystywać lepiej. Temat zarządzania pamięcią pojawia się od czasu do czasu na konferencjach ale zazwyczaj jest to w kółko to samo czyli generacje w garbage collectorze. Tutaj liczę na dużo więcej.

Żałuję, że nie brałem e-booka jak był za chyba $5 na Black Friday bo normalnie ta książka kosztuje fortunę jak na nasze warunki. Ale nie ma co narzekać bo Konrad (tak, to dzieło Polaka) na pewno odwalił kawał dobrej roboty.

Refactoring.guru

Każdy stara się pisać jak najlepszy kod, ale kiedy to nie wyjdzie to przychodzi czas na refektoring. Temat jest tym ważniejszy, że praktycznie każdy kod w końcu wymaga refaktoringu. I przychodząc do nowego projektu mamy zazwyczaj ochotę wszystko zrobić inaczej. Ta strona to taka esencja z tematu i mam nadzieję, że poznam dzięki temu najważniejsze zagadnienia związane z refaktoringiem kodu.

Tę stronę poznałem czytając jeden z wątków na forum. Od tego czasu wisi u mnie jako jedna z kart, które „zaraz przeczytam”. Czas więc to zrobić.

„Refaktoryzacja. Ulepszanie struktury istniejącego kodu”

Kontynuacja tematu zaczętego powyżej tylko tym razem w postaci książki. Dodałem ją bo znajduje się w mojej biblioteczce. Kupiłem tę książkę jeszcze w czasach kiedy nie byłem zbyt świadomym programistą więc nie doceniałem powagi sytuacji.

„Praca z zastanym kodem. Najlepsze techniki”

Jak już wchodzimy w refaktoring to na pewno trafiamy również na legacy code. Dobrze będzie w takim razie nauczyć się z nim pracować.

Tę książkę również posiadam i również kupiłem ją w czasie kiedy nie miałem okazji jej praktycznie wykorzystać. Jedyne co pamiętam to fakt, że lektura jest dosyć ciężka bo autor często skacze pomiędzy stronami umieszczając pełno odnośników do innych rozdziałów. Więc czytanie przypomina przeglądanie „zastanego kodu” ;)

„C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych”

Na koniec coś typowo technicznego. Zwykły podręcznik do najnowszej wersji języka C#. Mimo, że pracuję z nim od kilku lat to w ostatnim czasie Microsoft na tyle dużo pododawał, że trzeba siąść i zapoznać się z tematem. A że .NET Core używamy teraz w pracy to  również ten temat może poznam lepiej. Książka jest nowością więc nie mam pojęcia czy będę zadowolony. Przekonamy się. Ale jak trafię na promocję na e-booka to czemu nie sprawdzić.

 

Z tymi książkami to trochę kłamałem bo są tutaj dwie strony internetowe ;) Jednak można je traktować jako pełnoprawne podręczniki.
Może niektórzy są zdziwieni, że po tylu latach pracy chcę uczyć się jak pisać czysty kod albo korzystać z Gita. Ale prawda jest taka, że wiedzę zawsze można odświeżyć albo rozszerzyć. Nawet do „Czystego kodu” zapewne wrócę w wolnej chwili bo może czytając go kilka lat temu coś przeoczyłem.

Ciągle mówię o czytaniu tych książek. Ale pamiętajcie, że jest to skrót myślowy, bo przy części z nich czytanie to dopiero połowa sukcesu. Jeszcze trzeba sprawdzić wszystko w praktyce zwyczajnie siedząc przy komputerze i klikając w klawiaturę. Samo czytanie książek IT od deski do deski prawie nic nie daje!

Jak widać skupiam się raczej na jakości kodu, a nie samych zagadnieniach związanych z konkretną technologią. Jest tak dlatego, że przez ostatni rok tyle razy się uczyłem czegoś nowego, że doszedłem do wniosku, że faktycznie język czy framework to tylko młotek do wbijania gwoździ, a prawdziwa wiedza dotyczy tego po co te gwoździe wbijamy.

Wiedziałeś, że jestem też obecny w serwisie YouTube gdzie również znajdziesz treści związane z programowaniem? Nie?

W takim razie warto to zmienić! Odkryj i zasubskrybuj mój kanał dostępny pod adresem https://www.youtube.com/user/zajacmarekcom

Szukasz książek dla programistów i jednocześnie chcesz wesprzeć tego bloga? Sprawdź ofertę wydawnictwa Helion klikając w TEN LINK.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *