Szkoły programowania i inne bootcampy wyrastają jak grzyby po deszczu, do tego mamy zalew noworocznych postanowień z gatunku “nowy rok, nowy ja!”, a na dokładkę jeszcze wszechobecne kuszenie ogromnymi zarobkami w IT. Umówmy się, kto by nie chciał zarabiać tych mitycznych ośmiu tysięcy za “patrzenie w ekran i klepanie w klawiaturę”, obiecywanych niemalże w każdej reklamie kursów programowania?
Zanim jednak zostaniesz kolejnym jeleniem z pustym portfelem – obalmy kilka brzydkich mitów i ustalmy, jak naprawdę możesz zostać udanym programistą, do tego bez płacenia ogromnych kwot za kursy. Z góry mówię – przebranżowienie się nie będzie lekkie, łatwe i przyjemne. Nie wierz tym, którzy mówią inaczej.
Czego nie powie Ci reklama bootcampu
Na sam początek – rynek przeżywa takie przesycenie juniorami, że kwotę z reklam bootcampów najczęściej zarabia programista, mający 3-4 lata doświadczenia komercyjnego, a od 8 tysięcy wzwyż zaczynają się wypłaty seniorów. Nikt Ci nie powie (a jeśli już, to dopiero po zapłaceniu za kurs), że droga przebranżowienia się okupiona jest darmowymi stażami, albo takimi za grosze. Jak będziesz miał szczęście, to zapłacą Ci 1000 zł netto za miesiąc, ci mniej szczęśliwi, dostają tyle za cały okres. Staż potrafi trwać trzy miesiące, ale równie dobrze i pół roku, a dostawałam oferty, gdzie firma potrafiła brać nawet na roczny staż w cenie biletu miesięcznego, nie wiem jakim cudem, ale w sumie umowa o dzieło przyjmie wszystko.
Tylko najwięksi farciarze (bądź mistrzowie kodu) dostaną na start 2,5, maksymalnie cztery tysiące, ale wtedy już na b2b, co oznacza, że będą musieli opłacić sobie ZUS, prowadzić księgowość i ewentualnie użerać się z Urzędem Skarbowym. Jest spora szansa, że na bootcampie, a często i od kolegów programistów, usłyszysz zdanie z gatunku: “nie psuj rynku i nie wołać mniej niż 3 tysiące”. Brutalna prawda jest taka, że jeżeli nie jesteś wymiataczem, to nikt Cię za tyle nie zatrudni, a rekruterzy na jedno miejsce juniora dostają i po 300 CV. Połowa tych ludzi jest gotowa pracować za darmo, byle tylko się zaczepić.
Osobną kwestią jest zatrudnianie ludzi na śmieciówkach lub b2b. Będą tacy, którzy będą sobie chwalić, znam wielu, którzy uważają to za wyzysk. Marzy Ci się ciepła posadka, umowa o pracę, dwa tygodni wakacji w środku lipca i emerytura? To może dać Ci co najwyżej budżetówka, a oni nie biorą ludzi bez magistra z informatyki. Pamiętaj także, że w każdej, ale to absolutnie każdej firmie, wypłata na umowie o pracę, jeżeli istnieje, jest DUŻO niższa, niż osób, które zgodzą się na b2b.
Nie musisz wiedzieć, co chcesz robić – grunt, żebyś zaczął już teraz!
Najpopularniejszym typem kursantów, są osoby, które w sumie to nie wiedzą, co chcą robić w IT, ale na pewno chcą być tymi, co odbierają największą wypłatę w firmie. Żeby nie było – nie ma w tym nic złego, dajcie Wam Bogowie, ale jedno musicie wcześniej ustalić – co i w czym w sumie chcecie robić. Jeżeli już zapłaciliście za jakiś kurs, bo obiecali Wam, że każdy może się tego nauczyć, a nie odróżniacie frontendowca od backendowca, słówko embedded nic Wam nie mówi, zaś Linuxa postawiliście dopiero jak przyszła instrukcja z kursu z groźbą, że na Windowsie nic nie będziecie w stanie zrobić, to przykro mi, ale nie tędy droga.
Prawda jest taka, że owszem, można każdego nauczyć podstaw kodowania, nawet jeżeli ta osoba nie ma żadnych fundamentów, sama w sumie nie do końca zdaje sobie sprawę, dlaczego i po co są na rynku różne języki programowania. Poza tym Google zawsze pomoże, wiele rozwiązań można znaleźć w Internecie. Przychodzi jednak koniec kursu, szczęśliwi trafiają na pierwsze rozmowy rekrutacyjne, a wtedy okazuje się, że jednak te pominięte przez nich podstawy są bardzo, ale to bardzo istotne. Żadna firma nie zechce pracownika, który i może ma w małym palcu robienie jedno API za drugim, taśmowo, a jednocześnie wyłoży się na takich pojęciach jak sortowanie bąbelkowe czy “dziel i zwyciężaj”.
Jak dobrze zacząć?
Tak naprawdę samo postanowienie o programowaniu należy zacząć od pytania: CO JA CHCĘ PROGRAMOWAĆ? Inną drogę obierze ktoś, kto chciałby tworzyć gry, zupełnie inaczej wygląda ścieżka webmastera, a już zupełnie inną magię robi devops. Chcesz tworzyć strony? Zacznij od czytania o najpopularniejszych językach, frameworkach, a przede wszystkim – wymyśl swoją pierwszą stronę. Niech będzie nawet o wpływie faz księżyca na hodowlę biedronek w północnej Irlandii – nie ma to większego znaczenia. Liczy się to, że będziesz mieć pomysł, który następnie musisz… rozrysować na kartce. Istotą dobrej strony jest dobry UX i dobre UI. Czym są te dwa dzikie terminy? Twoją pracą domową, jeżeli nadal marzysz o robieniu stron. Poczytaj, przyswój je i rozrysuj swoją pierwszą stronę, a następnie daj temu pomysłowi kilka dni. W tym czasie poczytaj o dobrych praktykach w projektowaniu stron. Spójrz na swój projekt jeszcze raz, chłodnym okiem, bogatszy o wiedzę z teorii kolorów, przystępności dla użytkownika, atrakcyjności designu. Dopiero wtedy, mając solidny projekt, możemy zabrać się za kod. Co to dla Ciebie oznacza? Na pewno naukę obśmianego HTML–a i CSS–ów. Powinno Ci to zająć tydzień, może dwa. Jak ogarniesz te podstawy – przejdziemy dalej, do Pythona lub C#.
Może jednak wolisz robić gry bądź zająć się machine learningiem? Świetnie, chociaż czuję się osobiście zobowiązana do powiedzenia Ci od razu, że bez matmy, logiki, a często i fizyki daleko nie zajedziemy. Nie czujesz się z nimi na siłach? Kup repetytorium maturzysty i do pracy. Tak, mówię poważnie. Nadal pamiętam jedną ze swoich pierwszych rozmów rekrutacyjnych, gdzie nieopatrznie powiedziałam, że w przyszłości chciałabym iść w machine learning, więc rekruter wyciągnął spod biurka plik z zadań matematycznych.
“Jak je rozwiążesz, to możesz nic nie umieć kodować, tego można się nauczyć, ale jak nie ogarniasz na tyle matematyki, to porada na przyszłość – nie wspominaj nigdy na rozmowach, że chciałabyś kiedykolwiek robić ML”.
Dla niektórych będzie to brzmiało brutalnie, a ja jestem wdzięczna za to zderzenie ze ścianą. Cały machine learning, jeżeli nie polega na szukaniu w Google, jak ktoś już zrobił coś przed nami, stoi na matematyce. Programiści gier za to muszą doskonale wiedzieć jak zakodować, chociażby, fizykę spadającego ze skarpy bohatera. Owszem – są firmy, które do skomplikowanych wzorów mają zatrudnionych fizyków, którzy je wyciągają, ale bez przynajmniej podstawowej wiedzy, będziesz na przegranej pozycji. Tak więc Twoją pracą domową będzie przerobienie, co najmniej, repetytorium maturalnego z matematyki, oczywiście na poziomie rozszerzonym. Jak to ogarniesz i nadal będziesz chciał robić gry – przejdziemy do nauki C++. W przypadku machine learningu – przytulimy się ciepło do Pythona.
A może jednak nie programowanie?
Najważniejsze i najbardziej oczywiste zostawiłam na koniec – pamiętaj, że możesz pracować w IT, nieźle zarabiać i wcale nie musisz być programistą! Sky is the limit – kto powiedział, że nie można zarabiać dobrze nawet w helpdesku? Można i tutaj akurat bardziej przydadzą się zdolności językowe, technikaliów często firmy same douczają. Jeżeli więc znasz na swobodnym poziomie jakikolwiek inny język, niż angielski (ten po prostu jest niezbędny i daleko w IT nie zajdziesz bez jego znajomości na poziomie pozwalającym swobodnie czytać dokumentację techniczną), to świat stoi przed Tobą otworem.
Tak samo robienie gier, to nie tylko programowanie – to również ciężka praca grafików, quest designerów, czy działu sprzedaży, który musi umieć dobrze sprzedać dzieło swojego zespołu. Wcześniej także ktoś musi zrekrutować tych ludzi, a później jeszcze ktoś ich razem zintegrować, zarządzać ich pracą, pilnować, czy road mapa projektu idzie zgodnie z planem i świecić oczami przed klientami, gdy są opóźnienia. Sporo osób, prawda? A jeszcze nawet nie wspomniałam o dźwiękowcach, motion capture, administratorach…
Jak żyć, panie premierze?
Otwartym pozostaje pytanie – czy się przebranżawiać? Jak zwykle nie ma jednej odpowiedzi, dobrej dla każdego. Wierzę jednak głęboko, że każdy, absolutnie każdy, może pracować w IT, nie każdy jednak będzie programistą. Wszystko jest kwestią znalezienia odpowiedniej ścieżki i umiejętności wytrwania w niej. Mało kto jest gotowy poświęcić, przez pół roku, godzinę dziennie na naukę programowania, a co najmniej tyle jest potrzebne, żeby liznąć podstawy. Niewielu stać na to, by zniknąć z rynku pracy na trzy miesiące, czyli tyle ile zwykle trwają kursy, by codziennie, po 8 godzin dziennie, uczyć się kodzenia. Nie jest to zajęcie dla leniwych, lubiących prokrastynować i tych o miękkich pośladkach. W szczególności nie będzie to praca dla osób, które myślą, że raz się nauczą danego języka i koniec, będą mogły na tym jechać do emerytury. Jeżeli więc nie jesteś gotowy na ciągłą naukę, do końca życia – wybierz inną ścieżkę kariery w IT.
Autorem artykułu jest Karolina Kowasz.