W internecie znajdziesz miliony artykułów na temat jak programować w dowolnym języku, ale o tym, jak programować dobrze i efektywnie nikt nie pisze. Mało kto mówi, jak stać się bardziej produktywnym w jakiejkolwiek dziedzinie. Naprawdę drodzy programiści często ukrywają swoje pliki konfiguracyjne, ponieważ odkrycie i dostosowanie swojego środowiska to lata ciężkiej pracy i nauki. Ich produktywność definiuje, jak cenni są dla klientów – ich stawki godzinowe są tym większe, im szybciej i lepiej zrobią tę samą pracę co ich konkurenci.

A ja chcę Ci pokazać, jak być lepszym w tym co robisz poprzez poprawę Twojej produktywności.

Czym jest produktywność?

Produktywność, mówiąc w prost, to oszczędzanie czasu i energii. Jeśli jesteś produktywny, to znaczy, że efektywnie wykorzystujesz swój czas i energię, dostarczając odpowiednie wyniki. Jeśli nie jesteś produktywny, to znaczy, że zamiast wykonywać zadanie, którego się podjąłeś oglądasz seriale, przeglądasz facebooka lub zbierasz pokemony.

My już jesteśmy prawdopodobnie wystarczająco produktywni. Wystarczająco, bo klienci płacą nam za to, co robimy, a w moim przypadku jest to programowanie. Skoro więc jestem produktywny na tyle, że otrzymuję godną zapłatę, to o co cały ten krzyk?

Załóżmy, że jest mi płacone 50 zł za przyjście do biura każdego dnia, wyłącznie za to. Mogę przyjść do biura, natychmiast wrócić do domu i otrzymam 50 złotych. Oto jak mogę dostać się do biura.

Samochód

Zazwyczaj budzę się około 6:00, opuszczam mieszkanie o 6:30 i po półtorej godziny korków i złorzeczenia na innych kierowców jestem na końcu podróży.

Potrzebuję jeszcze tylko 15 minut na znalezienia miejsca do parkowania i może zapłacić za to. Ach i jeszcze drugie tyle na spacer do biura, przecież zaparkowanie w centrum pod biurem do łatwych nie należy. Nic specjalnego.

Po tym wszystkim mam moje 50 złotych zarobione. I tak pięć razy w tygodniu, każdego ranka.

Takie podejście ma wiele wad. Po półtorej godziny wrzasków na innych kierowców, przez których stoję w korkach moje gardło nie nadaje się do tego, by na porannym scrumie powiedzieć nad czym chcę pracować. Ponadto przez całą drogę do biura nie mogłem zrobić niczego poza kierowaniem samochodu, ponieważ to w pełni mnie angażowało. A na koniec – koszty. Gdy do zarobku dodam koszty paliwowe, nagle z 50 zł robi się trochę mniej.

Produktywność w oprogramowaniu

 

Bardziej produktywny przyjazd.

A co, gdybym zamiast samochodu postanowił przyjechać tramwajem lub metrem? Nie ma korków, więc podróż zajmuje mniej czasu. Mogę albo później wstać, albo przyjechać do biura wcześniej. Nie ma problemu z parkowaniem, i nie muszę zwracać uwagi na innych kierowców, mogę podczas jazdy czytać, słuchać podcastów albo grać na telefonie. Cokolwiek wybiorę, przyjadę do biura ze zdrowym gardłem i w lepszym nastroju.

I tak samo zarobię 50 zł za przyjście do biura, bo wykonałem tę samą pracę, osiągnąłem ten sam cel.

Różnica polega na tym, że mniej się napracowałem by osiągnąć ten cel, więc jestem bardziej zadowolony i wypoczęty.

Produktywność jest istotna na każdym kroku

Sytuacje takie jak ta możesz spotkać na każdym kroku.

To samo tyczy się moich treningów w karate, pokonywania najmocniejszych bosów w grach RPG; to samo tyczy się tworzenia aplikacji. Wszystko sprowadza się do wykonania tej samej czynności szybciej i przy mniejszym nakładzie pracy, dzięki czemu Twoja godzina staje się znacznie więcej warta.

Jak podzielić problemy produktywności w oprogramowaniu?

W odniesieniu do progarmowania podzieliłem produktywność na kilka środowisk na których będę się skupiał.

Na razie, by nie zasypać cię nadmiarem treści opowiem o tym, które jest współdzielone przez największą ilość programistów, w szczególności tych od witryn internetowych, a jednocześnie prawdopodobnie ostatnim, na którym byś się skupił. Ostatnim nie dlatego, że jest tak mało ważne, ale dlatego, że tak często z niego korzystasz, iż prawdopodobnie zupełnie przestałeś je zauważać.

Te kategorie produktywności to:

  • Mechaniczne poprawki – ta część zawiera w sobie wymianę i udoskonalanie klawiatur, myszek/trackpadów, krzeseł, dodawanie wielu monitorów w miarę potrzeb. W tej kategorii umieszczam mapowanie klawiszy na klawiaturze w celu utworzenia lepszych skrótów i tak dalej. Nie będę teraz o tym mówił, ponieważ ta część to coś bardzo osobistego i zupełnie różnego zależnie od tego, jakiego edytora używasz, w jakim języku piszesz i jakim się posługujesz.Na przykład układ klawiatury DVORAK jest naprawdę świetny, ale gdy nie musisz pisać specjalnych znaków, jak polskie litery. Wtedy zmiana na dworak powoli traci na znaczeniu, a przy korzystaniu z VIMa lub EMACS staje się problemem.
  • Ulepszanie oprogramowania – tutaj umieszczam takie rzeczy, jak wybór właściwego komunikatora w zespole, najlepszej przeglądarki do debugowania aplikacji i tak dalej. Ta kategoria nie zawsze zależy od nas, gdyż np. Wybór komunikatora może być narzucony przez projekt, w którym pracujesz. Jeśli jednak pracujesz wewnątrz jednej firmy, prawdopodobnie większość z tych rzeczy masz już skonfigurowane i odpalone, dlatego ten temat zostawię na później.
  • Edytor – tu kryje się naprawdę duży potencjał. Prawdopodobnie to, w czym możesz poprawić i udoskonalić najwięcej to właśnie edytor, w którym kodujesz. Serio, kiedy przerzuciłem się na Sublime z eclipse czy notepada, byłem… zaskoczony. Sublime jest świetny i posiada wiele użytecznych funkcji, niemniej kiedy odkryłem wtyczki, to mnie zamroczyło. Wzrost produktywności był po prostu niesamowity! Poruszanie się po projekcie – błyskawiczne.I o tym także nie będę mówił. Powód jest prosty: każdy ma swój ulubiony edytor i nie zamierzam się z tym kłócić… na razie. Poza tym nawet jeśli pracujemy w tym samym edytorze, dostosowanie go i wybór wtyczek zależy od indywidualnych preferencji i od tego, do czego ten edytor wykorzystujemy. Kolejnym powodem dla którego nie skupię się teraz na edytorze jest fakt, że mimo iż byłem zmroczony przez Sublime, obecnie używam wyłącznie VIMa. A VIM to inwestycja – trudny do nauki i nie każdy będzie preferował korzystanie z niego. Dlatego nie będę teraz mówił o Vimie.
  • Terminal – w tej serii opowiem o tej części środowiska komputerowego, którą dzieli najwięcej programistów na świecie i w której spędzam najwięcej czasu wyłączając edytor (w moim przypadku edytor odpalam w terminalu, więc to nie jest do końca adekwatne). Opowiem o terminalu shella.

Tak, w pewnym momencie zacząłem się uczyć o możliwościach terminala i zaszokowało mnie, o jak wielu rzeczach nigdy bym nie pomyślał. Zdałem sobie sprawę, że domyślny terminal jest do bani. Tak wiele mi w nim przeszkadzało, niemniej nie wiedziałem, że można to poprawić i zwyczajnie zaakceptowałem to narzędzie razem z jego wszystkimi niedoskonałościami. W niektórych aspektach nawet nie zauważyłem problemów ani że pochłaniają dużą ilość mojego czasu każdego dnia.

Jeśli kiedykolwiek korzystałeś z VIMa, wiesz, że w surowej formie VIM też jest do bani. Jeśli jednak nie wiedziałbyś o istnieniu wtyczek i konfiguracji, prawdopodobnie pomyślałbyś: To musi być takie, więc lepiej się do tego przyzwyczaić.

Uwierz lub nie, ale terminal jest do bani z tych samych powodów co VIM. WSZYSTKO w nim możesz zrobić lepiej i szybciej niż dotychczas. Zacznij zwiększać produktywność od zmian w terminalu, a zanim się obejrzysz, będziesz pracował z szybkością myśli.

Jak myślisz, na czym jeszcze warto się skupić, by stawać się lepszym?

Pin It on Pinterest

Share This
Sekrety Produktywności

Sekrety Produktywności

DARMOWE szkolenie mailingowe! 10 porad jak zwiększyć produktywność w programowaniu.

Dziękujemy za zapisanie się na kurs. Wkrótce otrzymasz wiadomość email z potwierdzeniem zapisu.

FreshMail.pl