Czy jesteś przeciętny?


Znacie pewnie te artykuły z portali internetowych, w których są publikowane poważne raporty poważnych instytutów na temat zarobków programistów.

Przeciętny programista języka X zarabia tyle i tyle złotych.

Absolwenci Politechniki Warcładańskiej zarabiają średnio o 30% więcej niż ich koledzy z Uniwersytetu Jagiwarszawskiego.


programiści z min. 5 latami doświadczenia zarabiają o x procent więcej niż programiści poniżej 5 lat doświadczenia.


I inne tego typu rzeczy.

Wiecie co o nich myślę? Że są to bzdury. Próby włożenia w ciasne foremki całego rynku. Tysiące programistów, każdy z nich ma inny poziom, inne umiejętności, inną umiejętność sprzedania, a oni to biorą i spłaszczają do suchych liczb.

To jest chore. To się nie sprawdzi. Tak samo, jak nie da się oceniać skilla programisty po tym ile linijek kodu produkuje w ciągu godziny, tak samo nie da się oszacować zarobków programisty po tym, jaką szkołę skończył, czy po tym, jaki język programowania zna. Ani nawet po latach doświadczenia (widziałem wątki na forach, w których ludzie sami mówili ile zarabiają, i często osoby z mniejszym doświadczeniem zarabiały więcej, a osoby z 5-10 letnim zarabiali grosze...).

Okej, socjologowie muszą robić takiego rodzaju ankiety, bo to ich praca, a dziennikarze też to publikują, żeby przyciągnąć czytelników, ale czy my, programiści mamy się interesować takimi bzdetami? (Szczególnie, że "przeciętne zarobki programistów" różnią się od ankiety do ankiety, raz to może być 5 tysięcy brutto, raz 7 tysięcy, w zależności, które źródło się sprawdza. Można dostać schizofrenii jakiejś).

Czy jesteś, drogi czytelniku, przeciętnym programistą? Nie mówię, czy dobrym, czy słabym. Ale kaman. Przeciętnym?

Warto być dobrym programistą, a jeśli się jest słabym, to warto zaakceptować to, że się jest słabym i dążyć do bycia dobrym.

Inaczej to nie ma sensu. Programista to zawód bardzo perspektywistyczny, ale nie jak jesteś słaby/przeciętny. Programiści słabi i przeciętni wcale nie zarabiają specjalnie dużo (dużo zaczyna się moim zdaniem wtedy, kiedy bardziej opłaca się finansowo zostać w kraju niż emigrować. A wg statystyk przeciętne zarobki programistów w Polsce czasem nie są wyższe od pensji minimalnej w UK...).

Więc - opłaca się być dobrym.

No dobra, ale skąd wiemy, czy jesteśmy wystarczająco dobrzy?

Szczerze mówiąc to niewiele trzeba... dzisiaj są tak tragicznie niskie wymagania na stanowisko programisty, i tak mało się wymaga od ludzi, że wystarczy być tylko trochę lepszym od tej masy idiotów... Tfu, od masy "osób przeciętnych" (czy tylko mi się wydaje, czy "przeciętny" jest to eufemizm na określenie osoby ułomnej życiowo i niezaradnej?), żeby być uważanym za dobrego. Nieważne czy faktycznie będziesz dobry, ważne że będziesz lepszy od przeciętnego programisty (co jest dość łatwe), i inni to zaczynają zauważać.

Tak więc: zbieraj feedback od ludzi. Jak ci, któraś osoba z rzędu ci mówi, że jesteś dobry, to widocznie tak jest.

Jeśli mówią ci, że popełniasz jakieś błędy, to też pewnie tak jest.

Wtedy musisz się albo nauczyć nie popełniać tych błędów albo stwierdzić, że rozmówca się myli, bo tak też się czasem zdarza. I idziesz do przodu. Nie ma czasu po prostu na bycie przeciętnym, kiedy człowiek się musi rozwijać cały czas. Przeciętność oznacza stagnację.

Przede wszystkim jednak trzeba samemu mieć na tyle autorefleksji, żeby wiedzieć, w którą stronę należy się rozwijać od strony programistycznej. Jak ktoś nie ma pomysłu na siebie i zadaje pytania na forach typu "przerobiłem 2 podręczniki, nie wiem jak mam się dalej uczyć", to raczej nie wróżę takiej osobie sukcesu.

Przecież to ty masz wiedzieć, jak się rozwijać. To za to właśnie nam płacą jako programistom. Nie za samo programowanie, bo to zwykle jest łatwe. Jak umiesz programować, to po prostu siadasz i programujesz. I tyle. To co trudne w programowaniu (oprócz nazywania zmiennych oczywiście ;) jest to, że trzeba dużo wiedzieć, wnikać w wiele rzeczy, być ciekawym, ciągle się czegoś nowego uczyć, ciągle się w coś wdrażać (choćby w nowy projekt). Jeśli ktoś nie wie jak pokierować swoją nauką (bo nawet nie karierą, bo to jeszcze bym zrozumiał), to znaczy, że nie załapał jeszcze o co w tym wszystkim chodzi.

Praca programisty nie polega (tylko) na programowaniu i nie płacą nam za wstawianie literek w IDE. Gdyby tak było, to by wzięli kogoś z gimnazjum, dali 1200zł na rękę i posadziliby go przed StackOverflow i gość by przeklejał rozwiązania do IDE. Jednak żadna porządna firma tak nie zrobi. Czemu?

Bo tak naprawdę programiści trzepią kasę za inne rzeczy.

Dostają kasę za wiedzę, ekspertyzę, wnikliwość, umiejętność analizy, projektowania rozwiązań, zdolność przewidywania fakapów. Za sprawną komunikację z zespołem (zarówno z innymi programistami, jak i z osobami nietechnicznymi). To, że przy okazji jakiś kod się pojawi to raczej skutek uboczny np. sprawnie przeprowadzonej analizy czy przemyślenia pewnych rzeczy.

Programista może sobie coś pomyśleć w głowie, ale nie będzie z tego pożytku, dopóki nie zaprogramuje tego w IDE i nie zacommituje do repo. Jednak to, co ma zaprogramować, w jaki sposób, i w jaki sposób o tym zakomunikuje innym programistom - to jest naprawdę istotne.

To znaczy: nie jestem zwolennikiem teorii, że najpierw plan w głowie, potem kodowanie. To mi się strasznie waterfallowo kojarzy. Osobiście na wiele rozwiązań wpadam dopiero pisząc kod. Jednak to nie za pisanie kodu dostajemy kasę, tak samo jak Durczok nie dostaje kasy za samo siedzenie przy brudnym stole i czekanie aż go upudrują. On ma mieć coś w głowie, być tym dziennikarzem.

Więc przemyśl to. Czy naprawdę chcesz dostawać kasę za programowanie? Za coś, co jest w sumie bardzo łatwe jakby nie patrzyć?

Jeśli tak, to spoko. Droga wolna. Zawsze możesz zostać kodumałpką. Czyli tak zwanym "przeciętnym" programistą. Kimś, kto klepie jakieś tam sztampowe taski.

Ale możesz też wybić się ponad przeciętność.

Oczywiście nie będziesz od razu wymiataczem. Na początku będziesz słaby w wielu rzeczach. I to jest dobre. Bycie słabym jest lepsze od bycia przeciętnym. Ktoś, kto jest słaby i zda sobie z tego sprawę, może jeszcze podjąć jakiś wysiłek (np. dodatkowa nauka) i być dobrym. Człowiek, który jest przeciętny, może być przeciętny przez całe lata, ponieważ przeciętność jest wygodna. Nie trzeba się wychylać, nie trzeba się wysilać, nie trzeba żadnego wysiłku podejmować, tylko się tkwi w przeciętności. (a nawet przeciętny programista i tak zarobi powyżej średniej krajowej, więc i tak będzie to "lepsza przeciętność"(??) niż bycie przeciętnym sprzątaczem czy kasjerką).

Tylko, pomijając kwestie finansowe, to przeciętny programista niczego tak naprawdę nie dokona. Przeciętny programista nie stworzy słynnego na cały świat projektu open source. I nie. Nie dlatego, że byłoby to za trudne, tylko raczej, że nie będzie mu się po prostu chciało. Będzie pracować od 9 do 17, a po pracy będzie miał wszystko w dupie. Przeciętny programista nie założy swojego startupu. Nie zmieni świata. Bo nie będzie czuł takiej potrzeby. Tylko wziąć kasę i iść do domu (co jest paradoksem, bo jak już wspomnieliśmy, przeciętni programiści wg statystyk zarabiają dość mało). Przeciętny programista również nie będzie pomagał innym programistom, nie napisze tutoriali, nie poprowadzi konferencji, nie będzie prowadził bloga, nie popchnie w żaden sposób społeczności do przodu. Nie dlatego, żeby nie mógł, tylko raczej - jak myślisz, ile procent programistów robi takie rzeczy? Przeciętny programista to programista taki jak większość. A większość programistów nie robi takich rzeczy. Przeciętni programiści nawet nie dostaną kudosów w firmie.

Czy to oznacza, że przeciętność jest jakaś zła?

Zależy dla kogo. Dla mnie tak, ale wiem, że wiele osób, w tym programistów nie uważa to za nic złego. Szanuję ich wybór jako pewien styl życia, ale jednak osobiście uważam, że programowanie daje tyle powera, że szkoda byłoby nauczywszy się programować, nie wykorzystywać tego.

No dobra, ale czy każdy programista musi mieć pasję do programowania? Pewnie nie. Ja sam ją zatraciłem. O ile kiedyś uwielbiałem programować, to teraz jakbyście mnie spytali, co bym chciał robić, pewnie wybrałbym coś innego. Choćby coś związanego z językami obcymi, np. tłumacz. Albo coś związanego z kreatywnym pisaniem (zawód bloger?).

Tyle, że wydaje mi się, że to trochę inaczej. Nie chodzi o pasję czy jej brak, tylko raczej o rozsądne wykorzystywanie własnych zasobów, tego, co możemy osiągnąć nabywając takie a nie inne skille.

Umiejąc programować możemy znaleźć sobie pracę i nie być bezrobotnym. I na tym poprzestać. Ale możemy również zmieniać świat, czy choćby mały skrawek internetu. Możemy tworzyć coś, z czego inni ludzie będą korzystać. Choćby do rozrywki. Spłaszczanie tej umiejętności i myślenie w sposób "nauczę się programować po to, żeby stać się przeciętnym programistą i zarabiać przeciętną kasę. A potem sobie wezmę kredyt we frankach, bo będzie mnie na to stać. Telewizor, meble, mały fiat, oto marzeń szczyt"... Cóż, dla mnie to trochę smutne.

Komentarze

  1. Ile osób chciałoby być przeciętnym programistą... Jednak tu też ciężko jest dokładnie się do tego odnieść. Praca programisty to bardzo specyficzna praca, w jeszcze bardziej specyficznym środowisku, ale do tego trzeba się przyzwyczaić.

    OdpowiedzUsuń
    Odpowiedzi
    1. środowisko programistów to w większości osoby z przypadku, co jest trochę smutne, ale właśnie też bardzo łatwo się wyróżnić na plus ogarniając trochę więcej rzeczy niż reszta.

      Usuń
  2. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie widzę żadnego związku z moim postem, więc zaraz skasuję twój komentarz. Gdyby jeszcze twoja reklama miała jakiś większy związek z treścią posta, pod którym piszesz, to jeszcze mógłbym przymknąć oko na spam...

      Usuń

Prześlij komentarz

Popularne posty z tego bloga

Ściemy z ogłoszeń o pracę

Jak nie sprawdzać wiedzy technicznej: platformy online

Jak zrobić prostą grę w JavaScript?