Kariera programisty

Zapotrzebowanie na rynku pracy na programistów nie mogło zostać bez odzewu. Rynek pustki nie lubi, więc jesteśmy świadkami wyrastających jak grzyby po deszczu kursów i „coding bootcampów”, mających na celu wprowadzenie chętnych w świat programowania. Obiecują stabilną posadę, górę kasy i serca rekruterów na tacy. Jak jest w rzeczywistości?

Wieczna nauka

Praca programisty nie jest dobrze wynagradzana bez powodu. Tutaj nie da się „ślizgać” – każda linijka kodu, każda decyzja, jest doskonale udokumentowana i brak wiedzy szybko wyjdzie w praniu. A to zmusza do ciągłej nauki. Jednak jest tu mały kruczek – nie jest to nauka rozwijająca aktualną wiedzę, lecz kompletnie zastępująca nasze aktualne umiejętności.

Spójrzmy na medycynę. Lekarz opanowując wiedzę potrzebną do przeprowadzenia operacji, może wykorzystywać ją niezmiennie przez długi okres czasu. Nie ma tu gwałtownej degradacji wartości posiadanych umiejętności. Budowa człowieka nie zmieni się jutro i nasz organizm działa zawsze tak samo. Mogą delikatnie zmienić się metody i podejście, ale jest to raczej proces trwający latami i do tego uzupełniający aktualną wiedzę lekarza.

Degradacja technologii

W IT natomiast następuje całkowita degradacja technologii i zastąpienie jej nowymi rozwiązaniami. Jest to jedna z najdynamiczniej zmieniających się branż. Tak szybki postęp wymaga wiecznego uzupełniania wiedzy i orientacji na rynku. Ilość informacji do przetworzenia jest niespotykana nigdzie indziej, a tempo jej degradacji jest wręcz zatrważające. Rozwiązania używane jeszcze rok temu, są dziś często uznawane za przestarzałe. Dodatkowo, wybór technologii do nauki nie jest wcale taki oczywisty. Na rynku zazwyczaj jest kilka rozwiązań, robiących „to samo”. Więc musisz nauczyć się skutecznego doboru narzędzi.

Istnieje oczwiście pewien zakres wiedzy informatycznej, która stanowi niezmienne podwaliny technologii, ale nie są to umiejętności wykorzystywane bezpośrednio w codziennej pracy przez większość programistów. Wysokopoziomowe rozwiązania pozwalają większości deweloperów, pracować często bez poznania tych podstaw. Stąd tak duża ilość samouków, bez technicznego wykształcenia – wystarczy opanować odpowiednią technologię i działać.

Frontend deweloper roadmap
Tak prezentuje się wykres technologi dla programisty na stanowisku front-end developera. Na full-stack developera czekają 3 takie wykresy do opanowania. (https://github.com/kamranahmedse/developer-roadmap)

Kurs? Wąski zakres nowej technologii

I tę lukę wykorzystują twórcy kursów. Uczą wąskiego zakresu technologi, która jest aktualnie na topie. Wspaniała szansa dla osób chcących wejść do branży. Szansa jednak zwodnicza, bo za kilka miesięcy pojawią się nowe rozwiązania na horyzoncie i proces nauki zaczyna się na nowo. Jeżeli programista, sprytnie, uzupełni w między czasie braki Computer Sience, to łatwiej zrozumie zmiany i powód ich wprowadzenia, ale to jednak wciąż ciągła nauka.

Rodzi to swego rodzaju patologię nazywaną „CV driven development”. Dobór narzędzi i technologii na podstawie trendów na rynku. Nie tylko przez programistów, również przez firmy. Pracodawca wybierze nową technologię, nie z powodów technologicznych, ale HR – inaczej po prostu nie będzie w stanie znaleźć chętnych do pracy. Dlaczego? Bo programiści boją się pracować w starych technologiach – zbyt długi zastój, utrudni znalezienie kolejnego pracodawcy lub zrozumienie aktualnej sytuacji na rynku. Tak więc, w użycie idzie najczęściej to co aktualnie modne w Facebooku lub Google.

Odkrywanie nowych technologii i brak nudy może okazać się męczące na dłuższą metę, w szczególności, gdy pracodawca zacznie wymagać efektów i pojawi się deadline. Zacznie męczyć Cię wieczne poczucie, że czegoś nie wiesz i nie do końca rozumiesz. W biurze czeka na ciebie nowa konsola, stół do ping ponga, a nawet masażystka – ale co z tego jak nie masz czasu na takie przyjemności, bo ogarniasz nowy „stack technologiczny”. Część firm, ze stabilną sytuacją finansową – pozwala pracownikom przeznaczyć sporą część służbowego czasu pracy – właśnie na naukę. Ale nie każdy ma szczęście na tak poprawnie zbilansowane środowisko pracy. Bardziej doświadczeni deweloperzy uczą się z tym żyć i akceptują fakt, że nie da się wszystkiego wiedzieć. Stąd tak duży nacisk na kandydatów, aby posiadali na umiejętność szybkiej i skutecznej nauki.

Nieświadomi junior developerzy

Oglądam na YouTube film, prezentujący uczestników jednego z bootcampów. Są zmęczeni tempem i natłokiem informacji. „Po 8h nauki, wracam do domu i powtarzam materiał do późnego wieczora” – mówi jeden z uczestników. Nie wiedzą jeszcze, że to normalny tryb pracy programistów, który wcale nie skończy się po 2 miesiącach bootcampu. Może z odrobinę wolniejszym tempem, w godzinach pracy, za fajną kasę, ale to wciąż. Nauka. Nauka. Nauka. Tak będzie wyglądać następne kilka pracy, jeżeli zdecydują się kontynuować karierę tą ścieżką. Inaczej zostaną słabym „klepaczem CSS/HTML”, na równi z klepaczami Excela w korpo. I tak jak oni – zostaną wkrótce zastąpieni przez soft lub „inteligentne” makro.

Opanujesz techniki tworzenia stron internetowych, aby zastać rynek na którym strony tworzone są automatycznie przez sztuczną inteligencję, lub półautomatycznie przez zwykłego „szarego” internautę. Zaczniesz zauważać reklamy Wixa i WordPressowych kreatorów stron i zdasz sobie sprawę, że tak samo jak taksówkarze w walce z Uberem, samemu możesz wkrótce zostać w tyle. Ale jesteś mądrzejszy niż przysłowiowa złotówa, więc co robisz? Nauka. Nauka. Nauka. W sobotę zamiast piwa ze znajomymi, których znasz od lat, czekać na Ciebie będzie Hackaton z kolegami z pracy. Również z piwem, i również może być fajnie, ale widzisz dokąd to zmierza? Programista to nie praca przez kilka godzin (przynajmniej na początku kariery), to trochę styl życia. Warto zdać sobie z tego sprawę.

Kiedy warto wybrać się na kurs?

Podstawową umiejętnością programisty jest zarządzanie informacją. To nie matematyka jak sądzi większość osób jest podstawą pracy programisty, ale właśnie samodzielne zdobywanie informacji, drążenie tematu, abstrakcja realnego świata i danych na język zrozumiały przez komputer. Jeżeli czujesz, że „łapiesz temat” to wtedy, jest dobry moment na zainteresowanie się kursem. Jeżeli mając dostęp do masy książek, filmów YT, tutoriali – czujesz, że potrzebujesz wsparcia – to idąc na kurs stracisz tylko pieniądze.

Kiedy więc warto wybrać się na kurs? Tylko i wyłącznie mając już wyżej wspomnianą wiedzę. Eksperci pomogą Ci przyśpieszyć proces nauki, ale nie to jest ważne. Kurs to Twój początek z networkingiem i zdobywaniem kontaktów. Zwracając uwagę na wybór szkoły, najważniejszym czynnikiem są partnerzy danej placówki. Powiedzmy sobie szczerze, po 2 miesiącach nawet najcięższej pracy – programistą nikt nie zostanie. Ale ciężko pracująca osoba, przekazana dalej w odpowiednie ręce, może okazać się, nieoszlifowanym talentem – tak bardzo poszukiwanym przez pracodawców.

Czy rynek pracy programistów zmieni się wkrótce?

Killka dni temu jedna z największych świeci szkoleniowych w USA, zajmująca się „tworzeniem” programistów – ogłosiła, że zamyka wszystkie swoje placówki. Coś gdzieś poszło nie tak. Moim zdaniem rynek pozycji juniorskich pomału się wypełnia. Koszty szkoleń młodej kadry są wysokie, a co więcej, szkolenia juniorów zabierają również czas seniorów – tych jest ograniczona ilość, więc są w stanie szkolić ograniczoną ilość osób. W przyszłości zmianie mogą ulec metody szkoleń, pozyskiwania talentów – jednak praca programisty jest sama w sobie na tyle wymagająca, że nie przewiduję tutaj żadnego załamania. Spekulacje o załamaniu rynku pracownika w IT pojawiają się od lat, i sytuacja jak widać nie ulega zmianom. Mimo prób szkoleń, prawdziwych specjalistów jest wciąż mało i Ci będą zawsze w cenie.  Dlatego jeżeli czujesz, że programowanie sprawia Ci przyjemność – to nie czekaj, działaj!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przepisz kod: *

Post Author: Redakcja