Pierwszy raz o tym, że praca programisty polega nie tylko na programowaniu, przekonałem się w trakcie lektury legendarnego Pragmatycznego Programisty

Pierwszy raz o tym, że praca programisty polega nie tylko na programowaniu, przekonałem się w trakcie lektury legendarnego Pragmatycznego Programisty autorstwa Andy Hunta i Dave’a Thomasa. Byłem wtedy na czwartym roku studiów i choć teraz wydaje mi się to dość niedorzeczne – wówczas było to dla mnie nie lada odkryciem. Inna sprawa, że rzeczywistość była wtedy nieco odmienna od teraźniejszej, ale to temat na oddzielną dyskusję…   Dziś na łamach tej kolumny chciałbym przedstawić pozycję, która w moje ręce trafia dość przypadkowo – pierwszy raz usłyszałem o niej kilka tygodni temu od kolegi z projektu, a było to w trakcie poobiedniej dyskusji na temat podnoszenia efektywności pracy programisty. W trakcie tej rozmowy kolega opowiadał o tym, jak wdrożył zawarte w tej książce porady w swojej codziennej pracy. Zaintrygowany tą dyskusją rzeczoną książkę niezwłocznie zdobyłem i zatopiłem się w jej lekturze.   O czym jest więc książka Getting Things Programmed? Otóż, dość niespodziewanie, nie jest ona wcale o programowaniu. A przynajmniej nie bezpośrednio. W skrócie traktuje ona o tych wszystkich rzeczach, które robi się dookoła programowania, a które w szalenie istotny sposób wpływają na jakość i ilość pracy związanej z samym programowaniem. Cel książki jest prosty: pomóc programiście (Tobie!) zorganizować sobie pracę tak, aby uzyskać jak najwyższy poziom efektywności oraz zadowolenia.   Aby przejść do konkretów, zapraszam na szybki przegląd zawartości opracowania:

  • Pierwszy rozdział: Podstawy. Tutaj autor przedstawia ideę książki oraz omawia szereg podstawowych pojęć wykorzystywanych w kolejnych jej rozdziałach.
  • Rozdział drugi: Zbieranie tematów. W tej części autor zapoznaje czytelnika z koncepcją rejestru, czyli osobistej listy zadań, proponując przy tym szereg porad odnośnie wdrażania, przetwarzania i utrzymywania takiej listy.
  • Rozdział trzeci: Burze mózgu (zauważ liczbę pojedynczą w tytule tego rozdziału: mózgu, nie mózgów). W rozdziale tym autor szuka odpowiedzi na pytnie: od czego zacząć pracę, mając gotowy (i zapewne przepełniony) rejestr zadań?, jak się w nim odnaleźć?
  • Rodział czwarty: Wyodrębnianie zadań – to ciąg dalszy dyskusji na temat zarządzania zadaniami, tym razem w nieco szerszym kontekście. Mowa tutaj o takich zagadnieniach, jak określanie celu czy dekompozycja zadań złożonych.
  • Rozdział piąty: Szacowanie zadań programistycznych – tego tematu nie mogło zabraknąć w książce o technikach podnoszenia efektywności pracy programisty! Autor skupia się tutaj przede wszystkim na szukaniu optymalnych metod szacowania własnych zadań.
  • Rozdział szósty: Planowanie pracy. Wreszcie – mając wszystkie potrzebne fragmenty układanki (opisane w poprzednich rozdziałach), autor omawia techniki planowania codziennej pracy programisty. Pilnie czytając ten rozdział, dowiesz się również, jak odróżnić zadania pilne od ważnych, i zrozumiesz, dlaczego te drugie bywają... ważniejsze :)
  • Rozdział siódmy: Wykonywanie zadań. Planowanie planowaniem, ale zadania same się nie zrobią. W tym rozdziale autor doradza, jak efektywnie je wykonywać. Dwa słowa kluczowe przewijające się w tym rozdziale to skupienie i rozpraszacz. Jak uzyskać (i utrzymać) to pierwsze i jak walczyć z tym drugim – o tym opowiada autor w tej części książki.
  • Rozdział ósmy (i ostatni): Indywidualna retrospektywa. W tym rozdziale autor przedstawia szereg argumentów za tym, aby zainwestować czas w przeprowadzanie pisemnych auto-retrospektyw. Pokazuje też sposoby na wdrożenie tej praktyki w Twojej codziennej pracy.

  Patrząc przez pryzmat kilkunastu książek omawiających miękkie apekty związane z pracą programisty (np. Pragmatycznego Programisty, serii książek Roberta C. Martina, czy pozycji Jak stać się lepszym programistą autorstwa Pete Goodliff'a), muszę powiedzieć, że Getting Things Programmed broni się całkiem nieźle. Przede wszystkim autorowi udało się znaleźć konkretną niszę tematyczną (jego opracowanie skupia się przede wszystkim na indywidualnych technikach podnoszenia efektywności pracy, pomijając aspekty związane z pracą w większym zespole itp.). W ramach tej niszy tytuł autorstwa Michała Bartyzela jest bardzo konkretny i wyczerpujący. Czytając tę lekturę, po raz kolejny przekonałem się, że książki pisane w języku polskim czyta się znacznie płynniej i przyjemniej od tłumaczeń (przy czym piszę to, mając wielki szacunek dla tłumaczy!). Biorąc pod uwagę, że książka Getting Things Programmed ma jedynie 184 strony – da się ją pochłonąć w ekspresowym tempie – co dla wiecznie przeciążonych pracą programistów będzie zapewne zaletą. Ja osobiście wyniosłem z jej lektury bardzo dużo praktycznej wiedzy (szczególnie podobał mi się rozdział na temat indywidualnej retrospektywy). Myślę, że każdy programista znajdzie tutaj coś, co pomoże mu usprawnić i poukładać swoją pracę. Dlatego też z czystym sumieniem polecam książkę pana Michała.  

Rafał Kocisz

Magazyn "Programista"