Biblioteczka Droptica

Lista najlepszych książek dla programistów

Trening czyni mistrza, również w programowaniu. Co za tym idzie, aby przejść do praktyki, należy wzbogacić swoja wiedzę teoretyczną. W tym artykule przedstawimy listę kilku dobrych książek, po które powinni sięgnąć programiści.

Czysty kod. Podręcznik dobrego programisty

Książka Roberta C. Martina to pozycja typu must-have, z której programista dowiaduje się, czym jest i jak tworzyć dobry kod. Wujek Bob, jak w środowisku nazywany jest autor, pisze o:

  • tworzeniu nazw,
  • funkcjach, a w tym m.in. o ich argumentach,
  • formatowaniu, zarówno pionowym jak i poziomym,
  • testach jednostkowych i zachowaniu ich czystości,
  • obiektach i strukturze danych;
  • organizacji klas,
  • obsłudze błędów,
  • zasadach powstawania projektu,
  • współbieżnościach,
  • dobrych praktykach tworzenia komentarzy, uwzględniając także przykłady tych złych.

Komentarze nie są jak „Lista Schindlera”. Nie są one „czystym dobrem”. W rzeczywistości komentarze są w najlepszym przypadku koniecznym złem. Jeżeli nasz język programowania jest wystarczająco ekspresyjny lub mamy wystarczający talent, by wykorzystywać ten język, aby wyrażać nasze zamierzenia, nie będziemy potrzebować zbyt wielu komentarzy. -  “Czysty kod. Podręcznik dobrego programisty”, Helion 2014, s. 75.

Jak widać na powyższym cytacie z książki, autor przekazuje swoje myśli w czytelny sposób, posługując się prostym, ale obrazowym językiem.

Ta programistyczna biblia liczy 17 rozdziałów, rozpisanych na kartach 400 stron. Nie jest samouczkiem czy uproszczoną instrukcją pisania poprawnego kodu. Po przeczytaniu książki deweloper będzie bardziej świadomy długoterminowych korzyści biznesowych, wynikających ze stworzenia dobrego kodu. Zrozumie również, że włożony wysiłek ma przełożenie na ekonomię projektu i buduje lojalność klientów.

 Czysty kod. Podręcznik dobrego programisty jest jedną z lepszych książek dla początkujących programistów

Źródło: Helion

O ile Czysty kod. Podręcznik dobrego programisty jest adresowany do początkującego dewelopera, o tyle kolejna książka tego autora została przygotowana z myślą o osobach bardziej doświadczonych zawodowo.

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

Robert C. Martin opisuje reguły rządzące architekturą oprogramowania i podpowiada, w jaki sposób stosować je w codziennej pracy. W książce można odnaleźć wiele przykładów wyzwań, przed którymi stawali deweloperzy, wraz ze sposobami wyjścia z konkretnej i trudnej programistycznej sytuacji. Jednakże nie tylko deweloper może zdobyć cenną wiedzę czytając ten przewodnik. Wujek Bob zwraca się także do analityka systemowego, designera oraz menedżera.

Książka jest podzielona na sześć części, wśród których znajdują się m.in. zagadnienia, takie jak:

  • programowanie funkcyjne, strukturalne i obiektowe,
  • zasady (np. odwrócenia zależności, rozdzielania interfejsów) i reguły projektowe (np. jednej odpowiedzialności, otwarte-zamknięte),
  • komponenty - łączenie i spójność;
  • architektura: wdrożenia, działanie, konserwacja, spam.

Chcąc poważnie traktować architekturę oprogramowania, trzeba wiedzieć, czym ona właściwie jest. Chcąc tworzyć system, w którym projekt i architektura minimalizują niezbędne nakłady pracy i maksymalizują produktywność, musisz wiedzieć, które elementy architektury systemu będą prowadziły do takich właśnie wyników. I o tym będę mówił w tej książce. Opiszę w niej wygląd dobrej i czystej architektury i projektu. Dzięki temu programiści będą mogli tworzyć systemy przynoszące zyski przez długi czas. - "Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów"Helion 2018, s. 35.

Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów jest wartościową książką dla doświadczonych programistów

Źródło: Helion

PHP. Nowe możliwości, najlepsze praktyki

Wokół języka PHP przez lata narosło wiele mitów i pojawiło się dużo opinii dyskredytujących go. Zarzucano, między innymi, że przy okazji pojawiania się nowych aktualizacji są one zbyt zróżnicowane, nie ma ujednoliconej konwencji nazewnictwa, a zabezpieczenia są słabe (szczególnie w wersjach początkowych). Jednakże Josh Lockhart, autor książki PHP. Nowe możliwości, najlepsze praktyki, zadaje kłam tym mitom wskazując na szerokie możliwości najnowszych wersji PHP.

Lockhart to twórca Slim Framework, którego zadaniem jest pomoc w pisaniu prostych, ale wielkich aplikacji internetowych i interfejsów API. Ponadto autor stworzył i utrzymuje PHP The Right Way - inicjatywę społeczności PHP zachęcającą do dostarczania wysokiej jakości informacji.

W swojej książce podejmuje kwestie, takie jak:

  • przestrzenie nazw,
  • interfejsy,
  • generatory (tworzenie i sposoby użycia),
  • domknięcia (tworzenie i wiązanie stanu),
  • rozszerzenie Zend OPcache (włączanie, konfiguracja, korzystanie),
  • wbudowany serwer HTTP (uruchomienie, konfiguracja, skrypty trasujące, wykrywanie serwera wbudowanego),
  • współpraca między systemami szkieletowymi,
  • komponenty (wyszukiwanie, używanie, tworzenie),
  • hosting,
  • testowanie,
  • profilowanie;
  • interpreter HHVM i język Hack.

Bez wątpienia PHP. Nowe możliwości, najlepsze praktyki to obowiązkowa pozycja dla każdego programisty PHP - języka, który według autora ma swój renesans i będzie jeszcze większy i silniejszy. Ta książka może być także przydatna dla osób, które zastanawiają się, czy warto uczyć się PHP.

PHP. Nowe możliwości, najlepsze praktyki - książka dla każdego programisty PHP

Źródło: Helion

Kariera programisty. Jak budować doświadczenie, przejść rekrutację i zdobyć pracę marzeń

Odchodząc na chwilę od tytułów technicznych, chcielibyśmy zarekomendować książkę odwołującą się do kompetencji miękkich. Na naszym blogu firmowy wielokrotnie podejmowaliśmy wątki związane z procesem rekrutacyjnym i karierą. Książka Johna Sonmeza może być świetnym uzupełnieniem wiedzy w tej tematyce.

Przywołana kariera, aby była udana, musi być w sposób rozważny obliczona w perspektywie dłuższego czasu. Dlatego, oprócz rozwijania umiejętności programistycznych, deweloper powinien umieć funkcjonować w środowisku zawodowym. Z książki Sonmeza, autora m.in. Sprawny programista: Pracuj, zarabiaj i zdobywaj kwalifikacje oraz Programming Interviews For Dummies, dowiadujemy się, jak:

  • stworzyć CV, które będzie atrakcyjne dla rekrutera, a zarazem ustrzec się błędów w trakcie rozmowy rekrutacyjnej,
  • współpracować z surowym szefem, a także kooperować z zespołem,
  • zachować balans między życiem zawodowym a prywatnym,
  • wybrać najkorzystniejszy dla siebie model zatrudnienia,
  • identyfikować braki wiedzy i je uzupełniać.

To oczywiście zaledwie kilka z zagadnień, które zostały poruszone w tej książce. Sonmez zdradza ponadto, w jaki sposób ustrzec się przed niebezpieczeństwami w karierze programisty i pokazuje, co robić, żeby iść pewnie tą drogą kariery.

Kariera programisty: Jak budować doświadczenie, przejść rekrutację i zdobyć pracę marzeń - praktyczne wskazówki dotyczące rekrutacji dla każdego programisty

Źródło: Helion

Drupal 9 Module Development: Get up and running with building powerful Drupal modules and applications

Przede wszystkim szkoda, że tego tytułu - autorstwa Daniela Siposa - nie ma po polsku. Książka bowiem stanowi kompendium wiedzy na temat tworzenia i rozwijania witryn oraz aplikacji z użyciem Drupala 9. Sipos, pochodzący z Belgii Drupal web developer, opisuje najistotniejsze interfejsy API Drupala 9 do przygotowywania modułów. Zdradza także metody modelowania danych i rzuca światło na najświeższe wersje rdzenia. W tym miejscu należy wspomnieć, że to już trzecie wydanie książki, obejmujące właśnie nowe funkcje Drupala.

Autor zaznajamia nas z architekturą Drupala 9 i podsystemami. Dzieli się wiedzą, jak przygotować własny moduł z podstawową funkcjonalnością. Przybliża systemy rejestrowania i wysyłania poczty, zdradza metody wyprowadzania danych z użyciem warstwy tematycznej, a także opisuje pracę z menu oraz łączami.

Z tego przewodnika - bo tak można określić tę książkę - poznamy również metody opracowywania niestandardowych encji i typów pól oraz wykorzystywania Database API do zapytań do baz danych niższego poziomu. Jakby tego było mało, Sipos podejmuje tematy związane z:

  • implementacją JavaScript do modułu,
  • pracą z wielorakimi systemami plików,
  • upewnianiem się co do poprawności działania kodu w witrynach wielojęzycznych,
  • widokami,
  • przygotowywaniem testów automatycznych,
  • kreacją niestandardowych modułów.

Jeśli jesteś programistą, który za cel stawia sobie zdobycie wiedzy dotyczącej Drupala 9, aby pisać moduły dla witryn, koniecznie sięgnij po tę książkę.

Poniżej załączam kilka pozycji ze spisu treści ukazujących zawartość tej wartościowej pozycji:

  • Tworzenie pierwszego modułu
  • Logowanie i wysyłanie e-maili
  • Menu i linki do menu
  • Modelowanie i przechowywanie danych
  • Twoja własna i niestandardowa jednostka oraz typy wtyczek
  • API bazy danych
  • Kontrola dostępu
  • Buforowanie
  • JavaScript i API Ajax
  • Internacjonalizacja i języki
  • Partie, kolejki i Cron
  • Praca z plikami i obrazami
  • Testowanie automatyczne
  • Bezpieczeństwo Drupala 9.
Drupal 9 Module Development: Get up and running with building powerful Drupal modules and applications - praktyczna książka dla programistów Drupala

Źródło: Goodreads

Pragmatyczny programista. Od czeladnika do mistrza

Mimo upływu czasu wiele książek zachowuje swoją aktualność. Jednym z takich tytułów jest Pragmatyczny programista. Od czeladnika do mistrza. W tym roku minęła dwudziesta rocznica wydania pierwszej edycji. Oczywiście na przestrzeni dwóch dekad wiele się zmieniło. Programiści mają lepsze narzędzia, zrodziły się nowe wzory budowania architektury. Jednak samo kodowanie to nie wszystko. Według autora należy cały czas pamiętać, dlaczego się programuje, aby zyskać miano pragmatycznego dewelopera.

Autorzy David Thomas i Andrew Hunt dotykają kwestii odpowiedzialności i rozwoju zawodowego. Dzięki wiedzy zdobytej z książki będziemy wiedzieć ponadto, jak:

  • unikać pułapek związanych z powielaniem wiedzy,
  • zadbać, aby oprogramowanie pozostawało bezpieczne,
  • efektywnie testować,
  • budować zespół.

Rozmawiamy z wieloma sfrustrowanymi programistami. Mają różne punkty widzenia. Niektórzy odczuwają, że w ich pracę wkradła się stagnacja, inni — że technologia przeszła obok nich. Ludzie czują się niedostatecznie doceniani albo niedostatecznie opłacani, albo że ich zespoły są toksyczne. Niektórzy chcieliby przenieść się do Azji lub Europy, albo pracować z domu. Nasza odpowiedź jest zawsze taka sama. „Dlaczego tego nie zmienisz?” - "Pragmatyczny programista. Od czeladnika do mistrza"Helion s. 26.

Pragmatyczny programista. Od czeladnika do mistrza - ciekawa książka nie tylko o samym programowaniu

Źródło: Helion

Sztuka kodowania. Sekrety wielkich programistów

Ken Thompson (współtwórca systemu UNIX), Peter Norvig (były dyrektor działu badań w Google, wcześniej pracownik NASA), Brendan Eich (twórca języka JavaScript), Douglas Crockford (pomysłodawca JSON) - to zaledwie kilka z wielu znamienitych postaci w społeczności programowania, z którymi Peter Seibel przeprowadza wywiady w swojej książce.To nieco inne, ale jakże ciekawe spojrzenie, a zarazem wejrzenie w świat kodowania. Rozmówcy dzielą się swoimi doświadczeniami, opowiadają o początkach kariery, a także mówią, jak widzą przyszłość tego zawodu.

W tej książce znajdziemy anegdoty, wspominki, ciekawe historie wplecione w próbę odpowiedzi na pytanie: czym jest programowanie? Sztuką, rzemiosłem, a może nauką?

Sztuka kodowania. Sekrety wielkich programistów - odpowiedzi wybitnych programistów na pytanie czym jest kodowanie

Źródło: Helion

Biblioteka Droptica

We wszystkich czterech biurach posiadamy wiele tytułów, a nasza biblioteka nieustannie rośnie. Programiści rekomendują książki warte uwagi - te które poszerzają wiedzę i mogą być pomocne w codziennej pracy. To niezwykle istotny aspekt w kulturze naszej firmy, bowiem zdobytą wiedzą chętnie się dzielimy organizując branżowe wydarzenia lub w nich uczestnicząc.

Wśród licznych książek na naszych półkach znajdują się:

  • Agile, Stellman Andrew,
  • UX UI Design Zoptymalizowany, Chris Badura,
  • PHP. Wzorce projektowe, William Sanders,
  • Testowanie oprogramowania w praktyce, Karolina Zmitrowicz, Adam Roman,
  • Zarządzanie projektami krok po kroku, Mariusz Kapusta,
  • Getting Things Done, David Allen,
  • Drupal E-commerce, George Papadongonas,
  • ABC języka HTML i XHTML, Maria Sokół.
We wszystkich biurach Droptica znajdują się biblioteczki z różnorodnymi książkami dla programistów

Lista książek dla programistów - podsumowanie

Jeśli którejś z zaprezentowanych książek nie znaliście, gorąco zachęcam do jej lektury. Ta wiedza przyda się nie tylko w trakcie pracy, ale na pewno będzie stanowić ważny argument w trakcie rozmowy kwalifikacyjnej. Wiele z tych pozycji znajduje się w naszych wewnętrznych biblioteczkach i są dostępne dla każdego pracownika. 

Chcielibyście dołączyć do naszego zespołu? Zachęcamy do zapoznania się z naszymi ofertami pracy.