Jest to drugi odcinek opowiadający o przebranżowieniu się i wejściu w świat IT w obecnych czasach. Pierwsza część zarysowała tzw. „tło fabularne” tłumaczące dlaczego w ogóle zdecydowałem się na taki krok. W tej natomiast skupię się na szczegółach, czyli jak to zrobić i od czego tak właściwie zacząć.
O ile już zastanawiamy się nad staniem się specjalistą od IT to na samym początku trzeba odpowiedzieć sobie na jedno, bardzo ważne pytanie:

Dlaczego programowanie?
Jeśli pierwsze co przychodzi ci do głowy to kasa to… dobrze, ale to nie wystarczy. Zarobki na start to wcale nie mityczne 10 koła, (a tak mniej więcej połowa z tego), a do tego zastanówcie się kto zarabia więcej – programista czy przedsiębiorca który go zatrudnia? W innych branżach, też czają się duże pieniądze, tylko trzeba wiedzieć jak po nie sięgnąć.
Jeżeli zależy ci głównie na pracy zdalnej, czy tzw. „workation” – klepaniu kodu na tajskiej plaży popijając leniwie Mojito to… też dobrze, ale jak myślisz – ile życia spędzisz w takiej podróży? Rok, dwa? Osiem? Wiem z doświadczenia, że życie w trasie w końcu się przejada, a w pewnym wieku chcemy po prostu iść do biura, spotkać się ze znajomymi twarzą w twarz i pogadać o nowym serialu na Netflixie pomiędzy kolejnymi zadaniami.
Dlatego najbardziej poprawną odpowiedzią na wyżej zadane pytanie jest:
„Dla samorozwoju„
Już we wstępniaku do Władcy Pierścieni mówili, że świat się zmienia. Ówcześnie szybciej niż kiedykolwiek wcześniej. Rozwój technologii, zastępowanie jednych branż innymi, rosnące możliwości sztucznej inteligencji – to wszystko sprawia, że żaden zawód nie może czuć się bezpieczny. W tej sytuacji mamy dwie drogi – albo będziemy się temu biernie się przyglądać i damy się ponieść nurtowi wody, albo złapiemy za stery i staniemy na czele awangardy nowego świata.

Idźmy dalej. Ustaliliśmy już, że chcemy do tego IT, ale gdzie dokładnie? Pomimo, że od razu nasuwa się nam na myśl programowanie to jest to tylko jedna z wielu opcji. Możemy być testerami (QA – quality assurance), DevOpsami (czyli ludźmi odpowiedzialnymi za to, żeby środowisko w którym operują developerzy działało poprawnie), wdrożeniowcami (taki programista-handlowiec pracujący bezpośrednio z klientem) czy – rzecz jasna – kierownikami całego tego bałaganu. Dobrzy menedżerowie wszędzie się przydadzą. Po więcej informacji odsyłam do filmu na YT:
Jeśli chodzi o ogrom wiedzy do przyswojenia to z tych wszystkich chyba właśnie programiści mają najbardziej pod górkę. A co najgorsze/najlepsze ich nauka nigdy się nie kończy! Taki doktor po latach praktyki z palcem w nosie (pacjenta) potrafi odróżnić anginę od grypy, jednocześnie wypisując receptę i dając teleporadę. W końcu powtarzał to już przez wiele lat. Natomiast programista często do danego zadania podchodzi raz i tylko raz w całym życiu. A nawet jeśli przydarzy mu się ono ponownie to wpierw musi sprawdzić, czy poprzednie rozwiązanie wciąż jest najbardziej optymalne. A jeśli nie, to zrobić to w całkiem nowy sposób.
Ale skoro nie udało mi się was zniechęcić to lecimy z tematem. Idziemy w IT, a dokładniej w programowanie. Tylko w którym języku?

Powyższy obrazek pojawił się nieprzypadkowo. Co wybrać – Xbox czy PlayStation? Odpowiedź jest banalnie prosta – wybierz to co mają twoi koledzy. Będzie w co grać razem, będą tematy do pogaduchy. I tak samo z programowaniem – wybierz ten język w którym działa już ktoś z twojego otoczenia. Jest szansa, że pomoże, doradzi, a być może nawet zarekomenduje.
Gorzej, kiedy nie mamy nikogo takiego dookoła. Wtedy musimy się zastanowić co chcielibyśmy kiedyś programować:
- jeśli strony www to JavaScript albo jego następca TypeScript, a do tego HTML i CSS;
- jeśli interesuje nas sztuczna inteligencja to głównie Python;
- jeśli chcemy iść w gamedev to C++ będzie odpowiedni;
- a jeśli nie chcemy się jeszcze decydować to Java, która jest obecna we wszystkim (choć przede wszystkim w finansach).
Oczywiście jest jeszcze masa innych języków, ale powyższe są najlepsze na start. Składnia jest przystępna, a ofert pracy nie brakuje.

Ok. Mamy ustalone parametry startowe: wybrany język i cel – poznanie go na tyle dobrze aby dostać pierwszą robotę. Pojawia się kolejne pytanie – jak się uczyć?
Skoro mówimy tu o przebranżawianiu, mogę zakładać, że ty Czytelniku, ani nie jesteś tuż po studiach, ani te studia (o ile w ogóle były) nie miały wiele wspólnego z programowaniem. Czyli startujemy właściwie od zera.
Teraz mamy dwie opcje: droga i tania. I tu zależy w jakiej sytuacji finansowej się znajdujesz, bo jeśli w kiepskiej to… lepiej zdecyduj się wydać więcej. Poważnie. Jeśli dobrze ulokujesz pieniądze i nie będziesz tracił czasu na bezużyteczne pierdoły to w pół roku znajdziesz wymarzoną pracę z uczciwymi zarobkami, a za kolejny rok rekruterzy sami będą się do ciebie odzywać. Sęk w tym, aby zapłacić właściwym ludziom i nie dać się wydy.. ekhem, wykorzystać.

Jednym z największych wałów w kwestii kursów programowania są obecnie tzw. „bootcampy” nierzadko reklamujące się „gwarancją zatrudnienia”. Czyli, że niby wydasz te 5 tysięcy polskich złotych (w optymistytcznym wariancie) a za trzy miesiące będziesz zarabiać dwa razy tyle, na miesiąc. Jeśli coś wygląda zbyt pięknie to nie może być prawdziwe – ta zasada ma zastosowanie tu i teraz. Rzekoma gwarancja zatrudnienia jest obwarowana tyloma „ifami” drobnym druczkiem napisanymi, że już chyba łatwiej będzie znaleźć pracę w Google.
Inną płatną opcją mogą być popularne kursy na Udemy. Są tam nagrania wideo, zadania domowe, czasem różne dodatki. W dodatku niedrogo – łatwo wyhaczyć dowolny kurs na promocji już za pół stówki. No, ale wejdźmy na tą stronę, wpiszmy „Java” i zobaczmy co wyskoczy…

Czy jesteśmy w stanie nauczyć się języka nawet w te 136 godzin na tyle dobrze aby wyhaczyć pierwszą pracę w IT zakładając, że żaden z naszych wujków nie siedzi w radzie nadzorczej danej firmy?
Nie.
Samo oglądanie filmów nie wystarczy, zasada jest prosta: aby programować, trzeba programować. Parę zadań na Udemy nie zrobi z nas developera, aczkolwiek może się świetnie nadać jako materiały uzupełniające.
Skoro wiemy już od czego nie zaczynać to skupmy się teraz na tych efektywnych metodach. Ja od siebie całkowicie szczerze i bez żadnych linków afiliacyjnych mogę polecić stronę codegym.cc. Jest tam zarówno teoria, ale też sporo praktyki – a przez „sporo” mam na myśli naprawdę dużo bo aż ponad 1000 zadań o różnym stopniu skomplikowania. Jak tylko stanę się pełnoprawnym programistą na etacie pokuszę się o recenzję tego portalu w oparciu o zadania otrzymywane w prawdziwej pracy. Tym niemniej już teraz wiem, że jest to relatywnie tani sposób na sprawdzenie czy to całe programowanie jest dla nas. Przy dobrej promocji kurs można wyhaczyć za niecałe 250 zł i uwierzcie mi – biorąc pod uwagę ogrom tego co dostajemy, to prawie jak za darmo.

Ostatnią płatną opcją jest mentoring. To również najwydajniejsza ścieżka.. pod warunkiem, że powierzymy nasz los właściwemu profesjonaliście. Nie powiem kto jest taką osobą, bo sam na ten krok się nie zdecydowałem, ale mogę podrzucić wam kilka pomysłów do sprawdzenia, które mi wpadły w oko w toku mojej nauki:
Daniel Roziecki, ten sam którego film powyżej podlinkowałem, prowadzi kurs ZeroToJunior w którym właściwie od zera zrobi z ogarniętego człowieka developera. Nawet i w pół roku, ale do takich rezultatów będzie potrzebna wyjątkowa motywacja. Polecam zacząć od zapisania się na darmowy newsletter który w czytelny sposób objaśnia co nas czeka. Gość siedzi w branży już od czasów ATARI więc co jak co, ale na brak doświadczenia nie może narzekać.
DevMentor czyli Mateusz Bogolubow robi właściwie to samo co Daniel, ale we frontendzie czyli projektowanie stron www z użyciem HTML, CSS, JavaScript. Nawet jeśli to nam nie po drodze, polecam jego podcast w którym opowiada o otoczce wokół pracy w IT. To właśnie z tego źródła pochodzi sporo informacji zawartych w tym artykule.
Na Bartka Kalkę trafiłem również za sprawą jego podcastu. Bartek jest najmłodszy z tej trójki, a ponadto specjalizuje się wyłącznie w nauce Javy. Braki w doświadczeniu nadrabia pasją i zdolnością do zwięzłego przekazywania materiału bez zbędnej gadaniny, a mimo to w ciekawy sposób. Jego audycje oraz ofertę znajdziecie tutaj.

Tyle jeśli chodzi o płatne sposoby wejścia w świat programowania. Decyzja który z nich wybierzecie należy do was, ale zanim to zrobicie zerknijcie na ostatnią część artykułu, tym razem poświęconą temu jak nauczyć się programowania przy minimalnych nakładach finansowych.