czwartek, 9 kwietnia 2015

Programować do ostatnich dni czy iść w zarządzanie

Czytałem niedawno ciekawą dyskusję na forum Quora na temat karier programistów - konkretnie, na ile kariera programisty może być karierą na całe życie, a na ile wcześniej czy później zachodzi konieczność porzucenia pracy z kodem i zajęcia się innymi rzeczami, zwłaszcza zarządzaniem.

Na pewno nie padną w tym wpisie odpowiedzi definitywne, bo temat jest obszerny, a odpowiedź na główne pytanie (programować tak długo jak się da czy iść w zarządzanie) złożona i niejednoznaczna. Podzielę się jedynie paroma obserwacjami z perspektywy rekruterskiej, co jednak i tak może być jakąś wartością dla osób, dla których temat jest interesujący.

Pierwsza obserwacja jest następująca: zdecydowana większość programistów, z jakimi w swej karierze rozmawiałem, chciałaby programować możliwie długo, a jeśli rozważają zmiany, to nadal w obrębie tzw. ścieżki technicznej, awansując np. na stanowisko architekta. Wielu, nawet jeśli chciałoby być bliżej biznesu (zajmując się np. analizą biznesową) albo zarządzania (wskakując na stanowisko managerskie lub team leaderskie), nie chciałoby tracić kontaktu z kodem, najlepiej w jakiejś części swoich zadań czynnie programując.

Podejście takie uważam za w dużej mierze uzasadnione i rozsądne. Sądzę, że większość ludzi dość dobrze orientuje się w swoich predyspozycjach, fascynacjach, słabych i mocnych stronach. Większość programistów, wybierając taki zawód (a nawet wcześniej: wybierając taki profil studiów) wybrała świadomie, swej decyzji nie żałuje i chce być w niej konsekwentna. Wielu z zadowoleniem przyznaje, że lubi to co na codzień robi i chciałoby robić to dalej. Uzasadnione to tym bardziej, że programistom bardzo sprzyja sytuacja na rynku pracy. O ile nie mieli pecha, trafiając (rzadziej wybierając) w środowisko z nierynkowymi technologiami i zostając w nim na dłużej, na ogół nie muszą martwić się o pracę i poziom zarobków w niej. Nie sądzę, by szybko nastały czasy, w których ogłoszenie o pracę na stanowisko programisty zachęci kilkunastokrotnie więcej aplikantów niż ogłoszenie na stanowisko project managera. Dziś sytuacja jest odwrotna i to sporo mówi o popytowo-podażowej sytuacji obu zawodów.

Dlaczego jednak niektórzy myślą o czymś więcej, dlaczego niektórym samo programowanie z czasem przestaje wystarczać? Dla części czynnikiem mogą być finanse. Choć programiści zarabiają dobrze, kadra managerska (w tym project managerowie) nadal zarabia lepiej i tak chyba pozostanie. Zarobkowy szklany sufit ciąży zwłaszcza tym programistom, którzy związali się etatem i na długo z jednym pracodawcą. Jeszcze gorzej, jeśli zrobili to zaraz po (albo nawet na) studiach. W tych sytuacjach często jedyną szansą na znaczny awans finansowy (przy chęci pozostania w tej samej firmie) jest awans na stanowisko managerskie.

Nieczęsto wymienianym a, tak sądzę, istotnym motywem chęci pójścia "w management" jest brak poczucia wpływu na wiele aspektów swej pracy, z jakim mogą zmagać się programiści. Poczucie wpływu na to, co i jak robimy jest generalnie jedną z ważniejszych rzeczy decydujących o satysfakcji z pracy na jakimkolwiek stanowisku. Od szeregowego programisty - przy całej frajdzie, jaką może mieć z pracy; przy namacalnych, widocznych jej rezultatach; przy wysokim poczuciu własnej merytoryki - często niewiele zależy. Decyzje związane np. z zasobowaniem, finansowaniem, sposobem prowadzenia porojektu, czy w ogóle decyzje o rozpoczęciu bądź porzuceniu projektu - tu w grę wchodzi odstraszająca na ogół osoby techniczne "polityka". Często chyba niesłusznie demonizowana, ale to temat na inny, i to obszerny, wpis. 

Garść powyższych uwag pewnie nie rozstrzygnie dylematów tych, którzy być może rozważają przejście na ciemną (nietechniczną, managerską) stronę mocy. Dla tych, co chcą, dobrym pomysłem na bezpieczne "sprawdzenie się" w częściowo managerskiej roli i płynne przejście na ową stronę może być stanowisko łączące oba (techniczny i nietechniczny) aspekty. A ci, którzy za nic w świecie nie chcą? Sądzę, że mogą długie lata i z satysfakcją programować, przy czym tym dłużej i z tym większą satysfakcją (i wyższymi zarobkami) im dłużej będą na bieżąco ze współczesnymi, rynkowymi techńologiami.

Wszystkim natomiast, tradycyjnie, doradzić mogę systematyczne i pilne szlifowanie języka angielskiego.


_______

6 komentarzy:

  1. Zwróciłbym uwagę na jeszcze jedną sprawę w nawiązaniu do opublikowanego wpisu. Niestety często występująca w Polsce jest jeszcze sytuacja, w której osoby 40+ czy 50+ mają problem na rynku jeśli dotychczas nie miały doświadczenia w obszarze zarządzania lub nie chciały iść tą ścieżką. Najczęściej odbierane jest to jako brak ambicji albo kompetencji. Nie zawsze jednak tak jest, ponieważ poza granicami Polski developer z 30 letnim stażem jest zjawiskiem normalnym, tak u nas patrzy się na niego jako osobę, której coś nie wyszło.

    OdpowiedzUsuń
    Odpowiedzi
    1. Trafna uwaga - trochę wody w Wiśle musi upłynąć aby taki postrzeganie programistow z 20+ stażem było podobne jak US, chociaż uważam że i tak jest coraz lepiej.
      Paweł - bardzo dobry post.

      Usuń
    2. Może to specyfika firm do których trafiałem, ale nie zauważyłem takiego przełożenia, choć fakt 40+ jestem od niedawna, ale pracują ze mną ludzie tuz przed emeryturą...

      Usuń
  2. Bardzo dobry post jak również niezwykłe trafny komentarz. Adam Smolnik

    OdpowiedzUsuń
  3. Jeszcze jedna uwaga: Instynkt programisty. Przejście na stronę zarządzania powoduję, iż w pewien sposób jest to proces nieodwracalny. Po roku, czy kilku latach przy obecnym tempie rozwoju, trudno jest powrócić i reprezentować równie wysoki poziom techniczny.
    Adam Smolnik

    OdpowiedzUsuń
  4. Myślę, iż niemałe znaczenie ma jeden mały fakt. Skierowanie swych kroków w kierunku zarządzania jest (zawsze) zamianą umiejętności "twardych" na "miękkie". Albo inaczej: "twardszych" na "bardziej miękkie". Algorytmika przechodzi w psychologię itp. Przez niektórych może być to postrzegane jako wręcz detronizacja techniczna. Dlatego podejrzewam, iż jeśli ktoś chce awansować, to kurczowo trzyma się choćby części świata technicznego. Jest nawet taki dowcip całkiem trafnie podsumowujący ten proces: najpierw człowiek programował w Javie/C/C++, potem Wordzie, Outlook-u... na końcu został mu telefon.

    OdpowiedzUsuń