DSP'17 — Narzędzia do pracy "po godzinach"

4 kwietnia 2017

Wracam o 18:00 do domu i zasiadam do programowania. Mijają 3 godziny, więc czas na kolację. Po krótkim posiłku zbieram myśli i przelewam je na papier, tzn. dziergam z nich kolejny wpis na bloga. Po godzinie pisania czas na ciekawą lekturę przed snem. Tekst dopracuję przez kolejne dwa dni, a jego treść oprę na efektach intensywnego rozwoju projektu.

Tak, niezaprzeczalnie chciałbym, aby tak było, … ale tak nie jest 😉

Rzeczywistość nie szczędzi wrażeń i zaskakuje narracją 🙂 Pierwszy (jak naszego syna nazywa w internetach moja Żona) bardzo lubi, gdy zainteresowanie jest non-stop skupione na Jego Wspaniałej i Wymagającej Osobie. Żona nie po to jest Żoną, aby także nie otrzymać skrawka mojego czasu – nie dla każdego konkurs Daj Się Poznać 2017 musi być priorytetem 😉 Natomiast Mieszkanie i mityczne Zaległe Sprawy wydają się nabierać cech ludzkich, skoro codziennie tuptają do mojego biurka i jęczą „zajmij się nami, no, zajmij się!”.

Pewnie już zgadujesz, że czasu na rozwój timbercode.pl mam mniej niż zero 😀 Czy to na kodowanie czy na pisanie przydatnych, bogatych merytorycznie wpisów. Ale robię co mogę, a to, co mogę, zawdzięczam… narzędziom!

Narzędzia — Twoja lepsza pamięć

Gdy już znajdę chwilę na Timbercode, pojawia się problem: gdzie byłem, co robiłem, czemu podjąłem takie a nie inne decyzje? Jaki jest mój plan działania na kolejną wyrwaną z tygodnia godzinę lub dwie? Spokój i opanowanie zawdzięczam trzem narzędziom: git, Todoist oraz Trello.

git

Git to chyba najlepsza rzecz pod słońcem, jaka się trafiła programistom! Gdy zajrzysz do historii commitów, obraz Twojej ostatniej pracy układa się w całość. Wiesz, na czym skończyłeś i co było wcześniej. Co więcej, jeśli chcesz przeprowadzić eksperyment, zawsze możesz zacząć nowego brancha. Nie ma obaw – gdy tylko uznasz, że to ślepy zaułek, wróć się do punktu wyjścia lub chociażby o jeden czy dwa kroki do tyłu. Z gitem jest to bajecznie proste 🙂

Fragment historii gita

Todoist

Czym byłby zorganizowany programista bez ToDo listy? W moim przypadku taką listą jest Todoist. Co prawda kiedyś porzuciłem go na rzecz polskiego Nozbe, ale ostatecznie całe moje życie znów zorganizowane jest w postaci todoistowych projektów, zadań, kategorii i filtrów. Obydwa narzędzia świetnie sprawdzają się do przypominania sobie o tym, że coś jest do wykonania, a także… zbierania pomysłów na przyszłe wpisy!

Fragment projektu Todoist

Trello

Czasem jednak Todoist to zbyt mało, aby ogarnąć, co "się dzieje" w projekcie. Co koniecznie należy szybko zmienić (feed nie działa?!), a czym warto zająć się, gdy przyjdzie jakaś wolna chwila. Jakie kroki aktualnego zadania wykonałem, a które wciąż czekają (i dobrze by było o nich nie zapomnieć). W tych kwestiach moim kompanem jest Trello. Nigdy nie udało mi się pokochać tego narzędzia tak na 100%, ale nie da się ukryć, że jego prostota jest atutem (kto korzystał z Jiry, ten rozumie… 😜 przy całym szacunku dla tak przydatnego narzędzia, jakim ona jest).

Fragment tablicy Trello

Narzędzia — Twoja podwyższona sprawność

Gdy liczy się każda minuta, automatyzacja prostych zadań i wsparcie w tym, co robisz, stają się krytyczne. Przy Timbercode korzystam przede wszystkim z dwóch sprawdzonych rozwiązań: IntelliJ IDEA oraz GitLab.

IntelliJ IDEA

Od czasu, gdy w Pragmatists poznałem IntelliJ IDEA, nie istnieje dla mnie żadne inne IDE 😉 (no dobrze, czasem korzystam z Vima 😜 ) Mógłbyś rzec, że IntelliJ jest przeznaczony do Javy. To prawda, ale mnogość efektywnych (i efektownych 😉 ) skrótów klawiszowych w połączeniu ze wsparciem dla innych języków i frameworków owocuje bardzo skutecznym kombajnem.

Fragment przykładowego ekranu z IntelliJ IDEA

GitLab

Pisanie pisaniem, ale co jakiś czas chcesz opublikować rezultaty swojej pracy. A także je przetestować. Brzmi jak praca dla maszyny! W tej kwestii niezastąpiony okazuje się być GitLab. Ten odpowiednik GitHuba posiada jedną zasadniczą przewagę: pipeline’y. Dla każdego repozytorium mogę zdefiniować (w postaci kodu w tymże repo, a jakże!) zestaw kroków do wykonania dla każdego wypchniętego zestawu commitów. W powtarzalny sposób w powtarzalnym środowisku (na wybranym obrazie Dockera, np. z Node.js w określonej wersji). W ten sposób nigdy nie pomijam uruchomienia testów, a o sprawdzeniu po deploymencie czy serwer "wstał" nie muszę nawet myśleć – to się zrobi samo 🤓

Przykładowy pipeline GitLaba

Coś więcej?

Być może jest jeszcze jakieś przydatne narzędzie, które ratuje mnie codziennie i jego używanie jest dla mnie tak bardzo oczywiste, że aż nie uświadamiam sobie jego istnienia 🤔

A czy Ty możesz polecić narzędzie, bez którego nie wyobrażasz sobie swojej pracy? 🙂