30 maja 2017

Profesjonalny Programista

Kim jest profesjonalny programista?


Jedną z najważniejszych cech profesjonalnego programisty jest osobista odpowiedzialność.

Profesjonalni programiści biorą odpowiedzialność za swoją karierę, swoje szacowania, swoje zaplanowane zobowiązania, swoje błędy i za swój kunszt pracy. Profesjonalny programista nie zrzuca odpowiedzialności na innych.


Poniższy tekst jest kopią tłumaczenia Pawła Łukasika ze strony DevBlogi.pl. Oryginał wujka Boba tu:
Ostatnio chętnie czytana przez mnie w przeszłości stronka DevBlogi.pl podupada na technologicznym duchu, więc pozwoliłem sobie umieścić tu ten tekst, tak żeby nie zniknął.


  • Jeśli jesteś profesjonalistą znaczy to, że to Ty jesteś odpowiedzialny za swoją karierę. Jesteś odpowiedzialny za czytanie i uczenie się. Jesteś odpowiedzialny za bycie na bieżąco z branżą i technologią. Wielu programistów uważa, że doszkalanie to obowiązek ich pracodawców. To jest kompletna bzdura. Sądzisz, że lekarze zachowują się w ten sposób? Sądzisz, że prawnicy robią podobnie? Nie, sami szkolą się we własnym czasie i za własne pieniądze. Spędzają sporą ilość czasu po godzinach na czytaniu magazynów i orzeczeń sądów. Są na bieżąco. My także musimy tak robić. Związek pomiędzy Tobą a Twoim pracodawcą jest nakreślony w twoim kontrakcie. W skrócie: pracodawca obiecuje Ci płacić a Ty obiecujesz robić dobrą robotę.
  • Profesjonaliści biorą odpowiedzialność za kod, który piszą. Nie wypuszczają oprogramowania zanim nie upewnią się, że działa. Pomyśl o tym przez chwilę. Jak możesz nazywać siebie profesjonalistą, jeśli masz zamiar oddać kod, którego nie jesteś pewny? Profesjonalni programiści oczekują, że QA nie znajdzie żadnych błędów, ponieważ nie wypuszczają kodu, zanim go dokładnie nie przetestują. Oczywiście QA znajdzie błędy, ponieważ nikt nie jest doskonały. Jednakże jako profesjonaliści powinniśmy stosować takie podejście, że nie dajemy QA okazji od znalezienia błędów.
  • Profesjonaliści są graczami drużynowymi. Biorą odpowiedzialność za wynik całego zespołu a nie tylko za swój. Pomagają sobie wzajemnie, uczą się od siebie a nawet zastępują się, kiedy zachodzi taka potrzeba. Jeśli jeden członek zespołu nie jest w stanie wykonać swojego zadania, drugi wchodzi na jego miejsce, wiedząc, że pewnego dnia on też będzie potrzebował pomocy.
  • Profesjonaliści nie tolerują długich list błędów. Długa lista błędów jest niedopuszczalna. Tysiące zgłoszeń w systemie do śledzenia błędów to tragedia. W rzeczy samej, w większości projektów sam fakt potrzeby systemu do śledzenia błędów jest oznaką niedbałości. Jedynie wielkie systemy powinny mieć listy błędów tak długie, aby był potrzebny system do zarządzania nimi.
  • Profesjonaliści nie robią bałaganu. Chlubią się swoją pracą. Tworzą czysty, dobrze ustrukturyzowany i łatwy do czytania kod. Używają ustalonych standardów i najlepszych praktyk. Nigdy, ale to nigdy się nie śpieszą. Wyobraź sobie, że wychodzisz ze swojego ciała i obserwujesz lekarza przeprowadzającego na Tobie operację. Lekarz ma ostateczny termin. Musi skończyć, zanim płucoserce zniszczy zbyt wiele Twoich krwinek. Jak chciałbyś, aby się on zachowywał? Chciałbyś, aby działał podobnie jak typowy programista, śpiesząc się i robiąc bałagan? Chciałbyś, aby po wszystkim powiedział: “Wrócimy do tego i poprawimy to później”? Czy wolałbyś, aby trzymał się ściśle swojej dyscypliny, nie śpiesząc się, i aby był pewny, że jego podejście jest najlepsze w danej sytuacji. Wolisz bałagan czy porządek?

Profesjonaliści są odpowiedzialni. Biorą odpowiedzialność za swoją własną karierę. Biorą odpowiedzialność za to, że ich kod działa poprawnie. Biorą odpowiedzialność, za jakość swojej pracy. Nie porzucają swoich zasad w obliczu nadciągającego terminu projektu. W rzeczy samej, kiedy ciśnienie wzrasta, profesjonaliści jeszcze bardziej trzymają się zasad, o których wiedzą, że są dobre.




4 komentarze:

  1. "Jeśli jesteś profesjonalistą znaczy to, że to Ty jesteś odpowiedzialny za swoją karierę. Jesteś odpowiedzialny za czytanie i uczenie się. Jesteś odpowiedzialny za bycie na bieżąco z branżą i technologią." - o tak to prawda, ale prawdą jest również to, że wiele osób o tym zapomina.
    Od siebie mogę polecić książkę: "The Software Craftsman: Professionalism, Pragmatism, Pride" autorstwa Sandro Mancuso. Również dotyka tej samej tematyki.

    PS.
    Świetny post!

    OdpowiedzUsuń
  2. Cześć Andrzej,

    Dzięki za komentarz,

    Cała chwała należy się Wujkowi Bobowi, który jest autorem tego wpisu. Ja tylko zamieszczam tutaj ten tekst przetłumaczony przez Pawła Łukasika, żeby nie zginęło.

    Jeżeli chodzi o książkę Sandro Mancuso o Software Craftmanship, to przeczytałem ją jednym tchem z wypiekami na twarzy :) Polecam każdemu pozytywnie sfiksowanemu w temacie jakości oprogramowania.

    OdpowiedzUsuń
  3. Bardzo głębokie, pewnie mało kto zastanawiał się nad tym. Może programiści otrzymają po lekturze dodatkową motywacje do swojej pracy?:)

    OdpowiedzUsuń
    Odpowiedzi
    1. Jeżeli chcesz móc nazywać siębie profesjonalistą - musisz postępować według dobrych, uznanych zasad profesji.

      Usuń

Podstawy Programowania Funkcyjnego Epizod 3

Czy wszystkie Zasady Się Zmieniają? Kiedy tylko zaczynamy używać nowego paradygmatu , porównujemy z nim na...