Jak zostać programistą
Poniższy wpis jest rozwinięciem odcinka dostępnego na moim kanale. Jeśli wygodniej Ci obejrzeć film, to zapraszam do seansu:
Szacuje się że brakuje około pięćdziesięciu tysięcy specjalistów z branży IT. Jednak według jednego z raportów portalu NoFluffJobs, aż 77% juniorów miało lub ma problem ze znalezieniem pracy w branży.
Pierwsze wzmianki na temat brakujących 50 tysięcy specjalistów z branży IT na które udało mi się natrafić sięgają aż 2015 roku, pochodzą one z wywiadu z dyrektorem zarządzającym firmy Accentrue
Od tamtej pory, systematycznie pojawiają się publikacje które powielają informacje o rzekomych brakach w wysokości 50 tysięcy osób w szeregach specjalistów z branży IT. O ile nie jestem w stanie w żaden sposób potwierdzić tej liczb z całą pewnością mogę powiedzieć że branża IT, pomimo obecnych globalnych warunków ekonomicznych, jest bardzo chłonna – a zapotrzebowania na specjalistów ciągle rośnie.

W dzisiejszych czasach mamy niemal nieograniczony dostęp do wiedzy – dodatkowo w różnej postaci, książki, darmowe kursy w sieci, kursy w postaci video, płatne szkolenia czy też mega drogie bootcampy. Chciałbym omówić poszczególne metody – jednak zanim do tego przejdę chciałbym podkreślić najistotniejszą rzecz:
Kluczowym elementem w nauce programowania jest praktyka
Niezależnie od tego jaki sposób nauki wybierzemy – kluczowym elementem jest praktyka. Po każdej lekcji, każdy początkujący adept programowania powinien napisać program na podstawie danej lekcji. Nie ma nic lepszego w nauce programowania niż praktyka. W imię starej dobrej zasady – jak się nie przewrócisz to się nie nauczysz.

Świat IT jest bardzo dynamiczny. Problem książek które poruszają temat danego języka programowania, polega na tym – że w momencie wydania książki, istnieje duża szansa że wiedza w niej zawarta jest już nieaktualna. Przykładowo: nowa wersja Javy wychodzi co pół roku – zmiany mogą być różne, od kosmetycznych po bardzo duże.
Z frameworkami jest jeszcze ciężej – w momencie kiedy wychodzi książka na temat danego frameworku jest już prawdopodobnie nieaktualna o 2 wersje (i to w najlepszym wypadku).
Istnieją jednak książki które są ponadczasowe – “Clean Code” autorstwa Roberta C Martina jest obowiązkową pozycją dla każdego programisty. Jest to książka która w świecie programistów jest niemal kultowa – jednak jest to pozycja dla osób które programują już od jakiegoś czasu i pragną wznieść swój kod na nowy poziom.
Większość książek które poruszają tematykę nauki danego języka programowania / frameworku zazwyczaj bardzo szybko kończą jako podkładka pod monitor 😉
Osobiście nie jestem fanem nauki programowania z użyciem książek. Gdy zaczynałem swoją przygodę nauki Javy kupiłem książkę Java Podstawy. Książka ma ponad 700 stron, efekt był taki że zamiast pisać kod czytałem książkę 😉
Jeśli jednak dobrze jest Ci się uczyć z książek – postaraj wybrać książkę która mówi o uniwersalnych podstawach danego języka – i pamiętaj o tym żeby czytając książkę pisać jednocześnie kod – w trakcie czytania rozdziału w dowolnym momencie gdy omawiane jest coś nowego powinniśmy się zatrzymać i na podstawie nowej wiedzy napisać jakiś prosty programik.

Kursy dostępne w Internecie, w moim odczuciu są dużo lepszym rozwiązaniem niż książki – kurs który znajduje się w sieci, w razie potrzeby można w dość łatwy sposób zaktualizować. Bardzo często zdarza się również że komentarze społeczności są bardzo dobrym uzupełnieniem kursu – osoby przerabiające kurs, piszą z czym miały kłopoty, lub co było nie jasne – i na tej podstawie nasza droga staje się nieco łatwiejsza.
Jednak istnieje tutaj pewna pułapka – przez to że dostęp do Internetu jest tak powszechny, i dosłownie każdy może coś napisać w sieci, materiały często są bardzo wątpliwej jakości – i nie ma tutaj absolutnie żadnego znaczenia czy kurs jest zupełnie darmowy czy płatny.
Rynek kursów online dosłownie wystrzelił w kosmos w ostatnich kilku latach, i można dostrzec że pewne portale idą raczej na ilość, niż na jakość. Warto zatem poświęcić godzinkę aby przeczytać opinie czy warto usiąść do wybranego kursu, czy też powinniśmy poszukać czegoś innego – jednak nie ma sensu szukać tego jedynego białego kruka, najlepszego kursu pod słońcem, jeśli opinie są pozytywne – najlepiej jak usiądziemy do przerabiania kursu i zaczniemy pisać na jego podstawie kod. Pamiętaj że to przez praktykę najszybciej zdobędziemy wiedzę.
Ze względu na to że rynek kursów online jest bardzo duży, możemy znaleźć zupełnie darmowy kurs, który w bardzo dobry sposób przedstawi nam podstawy wybranego przez nas języka programowania – uważam że na samym początku naszej podróży nie ma sensu rzucać pieniędzmi w płatne kursy – które swoją drogą mogą kosztować bardzo dużo.
Moja rada: Zacznij z użyciem darmowych materiałów. Z czasem gdy twoja wiedza będzie się pogłębiać, będziesz bardziej świadomy tego czego potrzebujesz od kursu.

Bootcampy są rodzajem szkolenia które prowadzone są pod okiem nauczyciela, charakteryzują się one również dużą intensywnością. Powiem szczerze że nie mam najlepszego zdania na temat Bootcampów – jednak wynika to tylko i wyłącznie z prowadzonego marketingu. Bootcampy bardzo często reklamowane są że jeśli zapłacisz X, jakąś określoną wysoką kwotę za Bootcamp, to po szkoleniu zagwarantują Ci pracę.
Bootcampy są bardzo drogie – mogą kosztować nawet 10 – 15 tysięcy, czy nawet w niektórych przypadkach nawet więcej. Dla osób które chcą dopiero zacząć swoją ścieżkę jest to naprawdę masa pieniędzy – jednak wizja „gwarancji” przyszłej pracy może łagodzić ten ból. Rzeczywistość jest jednak inna – firmy nie zatrudniają od tak osób które przeszły kurs, zawsze wymagany jest konkretny zestaw umiejętności na danym stanowisku – natomiast aby uczestnik mógł skorzystać z „gwarancji” musi spełnić szereg zobowiązań zapisanych w regulaminie – co nie jest takie proste. Pamiętajcie – jeśli coś wydaje się zbyt piękne żeby być prawdziwe – to prawdopodobnie tak jest.
Żeby jednak nie było że tylko demonizuję – Bootcampy mają jednak jedną niezwykle dużą przewagę co do alternatywnych form nauki. Bootcampy bardzo często prowadzone są pod okiem wyszkolonych trenerów – którym w każdym momencie możemy zdać pytanie. Trener w każdym momencie szkolenia jest dla nas dostępny i w razie potrzeby będzie nam w stanie pomóc. Jeśli utknęliśmy w miejscu – zamiast szukać rozwiązania online, możemy porozmawiać z osobą szkolącą – nasze problemy zostaną w ten sposób rozwiązane dużo szybciej.
Podczas nauki programowania, idealnie sprawdza się powiedzenie że praktyka czyni mistrza. Wiedza dostępna jest dosłownie na każdym rogu – i tylko od was zależy jaki sposób nauki wam najbardziej odpowiada. Darmowe materiały które są obecnie dostępne są w zupełności wystarczające aby rozpocząć swoją drogę jako młody adept programowania. Nie musicie wydawać żadnych pieniędzy. Pamiętajcie tylko żeby po każdej przerobionej lekcji – lub nawet w jej trakcie napisać kawałek kodu na podstawie zdobytej wiedzy. Powodzenia!