Osiem Poziomów Programistów

Oryginalny post: The Eight Levels of Programmers

Autor: Jeff Atwood

Czy kiedykolwiek na rozmowie o pracę zadano Ci klasyczne pytanie, "gdzie widzisz siebie za pięć lat?" Gdy jestem o to pytany, cofam się myślami do pewnego teledysku Twisted Sister z 1984 roku.

Chcę abyś mi powiedział -- albo nie, lepiej wstań i powiedz klasie --

co chcesz zrobić ze swoim życiem?

Chcesz wymiatać, rzecz jasna! Albo chociaż być programistą gwiazdorem. Nie jest to pytanie, na które daje się zazwyczaj poważną odpowiedź -- tak jak stare, dobre, wywołujące jęczenie pytanie zadawane na rozmowach kwalifikacyjnych "jaka jest Twoja największa słabość?" To pewnie to, że czasem wymiatasz za bardzo, prawda? Ktoś mógłby ucierpieć.

Ale myślę, że to jest inna, bardziej poważna kategoria pytania. Takie, które zasługuje na prawdziwe rozważenie. Nie dla korzyści przesłuchującego, ale dla własnej.

Pytanie "gdzie widzisz siebie za pięć lat" jest raczej nudne i większość ludzi daje na nie odpowiedź bez zająknięcia. Ale to podnosi głębszą kwestię: jaka jest potencjalna ścieżka kariery dla programisty? Jasne, robimy to, ponieważ to kochamy i jesteśmy bardzo szczęśliwi z tego względu. Ale czy będziesz siedział przed komputerem programując, kiedy będziesz miał 50 lat? A jak będziesz miał 60? Jaki jest możliwie najlepszy kierunek kariery dla programisty, który ma aspiracje, aby być.. no, programistą?

A co jeśli Ci powiem, z przymrużeniem oka, że było też Osiem Poziomów Programistów?

  1. Martwy programista

    Najwyższy poziom. Twój kod przetrwał i prześcignął Twoją śmierć. Jesteś częścią historii komputerów. Inni programiści studiują Twoją pracę oraz twórczość. Mogłeś wygrać Nagrodę Turinga, albo napisać jakieś wpływowe artykuły, albo wynaleźć jakąś część podstawowej technologii, która miała wpływ na kierunek programowania, jaki teraz znamy. Nie tylko posiadasz wpis na swój temat w Wikipedii -- istnieją całe strony internetowe poświęcone Twojemu życiu i pracy.

    Bardzo niewielu programistów kiedykolwiek osiągnie ten poziom podczas swojego życia.

    Przykłady: Dijkstra, Knuth, Kay

  2. Programista odnoszący sukcesy

    Programiści, którzy są dobrze znani i stworzyli firmy -- a być może nawet całe przemysły -- wokół swojego kodu. Ci programiści obrali dla siebie prawdziwą wolność zero: wolność wyboru tego, nad czym chcą pracować. Oraz dzielenie się tą wolnością z kolegami programistami.

    To jest poziom, do którego powinna aspirować większość programistów. Często osiągnięcie tego poziomu bardziej zależy od umiejętności biznesowych niż programistycznych.

    Przykłady: Gates, Carmack, DHH

  3. Znany programista

    To również dobry poziom, ale nie jeśli nie masz stałego dochodu.

    Jesteś sławny w kręgach programistycznych. Ale bycie znanym niekoniecznie świadczy o tym, że możesz zarobić na swoje utrzymanie. Znany jest dobry, ale odnoszący sukcesy jest lepszy. Prawdopodobnie pracujesz dla dużej, dobrze znanej firmy w branży technologicznej, małej wpływowej firmy, bądź jesteś częścią zespołu niewielkiego startup'u. Tak czy siak, inni programiści słyszeli o Tobie i masz pozytywny wpływ na branżę.

  4. Pracujący programista

    Prowadzisz pomyślną karierę programisty. Istnieje popyt na Twoje umiejętności i nie musisz nigdy długo bądź ciężko szukać dobrej pracy. Twoi współpracownicy czują do Ciebie respekt. Każda firma, dla której pracowałeś, jest w pewien sposób usprawniona i wzbogacona przez Twoją obecność.

    Ale dokąd stąd podążysz?

  5. Przeciętny programista

    Na tym poziomie jesteś na tyle dobrym programistą, że potrafisz sobie uzmysłowić, że nie jesteś wspaniałym programistą. I możesz nim nigdy nie zostać.

    Talent ma często niewiele wspólnego z sukcesem. Możesz odnieść wielki sukces, jeśli posiadasz umiejętności interpersonalne i biznesowe. Jeżeli jesteś przeciętnym programistą, ale potrafisz się z tego utrzymać, to jesteś utalentowany, ale niekoniecznie w kodowaniu.

    Nie ignoruj potencjału samoświadomości. To rzadsza cecha niż mogłoby się wydawać. Nie ma nic złego w braku talentu. Bądź śmiały. Dojdź do tego, w czym jesteś dobry i podążaj za tym. Agresywnie.

  6. Programista amator

    Programista amator kocha kodować, co oznacza: mogą być dobrym uczniami bądź stażystami, albo być może wspierają projekty open-source, albo "dla zabawy" tworzą interesujące aplikacje lub strony internetowe w swoim wolnym czasie. Ich kod i pomysły wyglądają obiecująco i są pełne entuzjazmu.

    Dobrze jest być amatorem; z tego poziomu szybko można stać się pracującym programistą.

  7. Nieznany programista

    Przysłowiowy typowy programista. Jan Programista. Kompetentny (zazwyczaj), ale niewyróżniający się. Prawdopodobnie pracuje dla wielkiej, anonimowej MegaKorporacji. To tylko praca, a nie ich całe życie. Nic w tym złego.

  8. Zły programista

    Ludzie, którzy z jakiegoś powodu stają się programistami bez odrobiny zdolności i umiejętności. Czegokolwiek nie dotkną, przemienia się w ból i cierpienie dla kolegów programistów -- za wyjątkiem innych Złych programistów, którzy nie posiadają nawet podstawowych umiejętności, aby stwierdzić, że pracują z innym Złym programistą.

    Co jest, być może, cechą charakterystyczną Złych programistów. Ci ludzie nie mają żadnego interesu w tym, aby pisać kod jakiegokolwiek rodzaju -- ale mimo wszystko to robią.

Powyższe poziomy nie są całkowicie poważne. Nie każdy programista aspiruje do tych samych rzeczy podczas swojej kariery. Ale warto jest rozważyć, co programista mógłby osiągnąć w przeciągu dziesięciu lat, dwudziestu lat, albo trzydziestu lat -- być może nawet w całym życiu. Których znakomitych programistów podziwiasz najbardziej? Co oni osiągnęli, aby zasłużyć na Twój podziw?

W skrócie -- co chcesz zrobić ze swoim życiem?

4 komentarze:

Anonimowy pisze...

WTF, Knuth jeszcze nie umarł, co za baran to pisał ?!?

dmilith pisze...

Ja pierdolę - To jest mój komentarz na umieszczenie DHH za Gatesem i Carmackiem. ZGROZA

rafek pisze...

@Anonimowy -- myślę, że autorowi chodziło o "martwego programistę" w przenośni, nie dosłownie. Coś w stylu: "ludzie będą Cię pamiętać po Twojej śmierci". Tak zresztą "wytłumaczył" się sam autor pod oryginalnym postem.

Anonimowy pisze...

Dlaczego numerujesz od 1 a nie od 0?

Prześlij komentarz

Related Posts with Thumbnails