Motywacja i wytrwałość w programowaniu

Początkujący programista często natrafia na swej drodze na przeszkody w postaci nie tylko zagadnień technicznych, ale też w samym podejściu do nauki programowania. Z jakimi problemami natury miękkiej się mierzymy oraz co się wiąże z wypaleniem do nauki dla początkujących programistów?

Programista Wannabe chcę zostać programistą z powodu różnych motywacji. Tą motywacją może być pasja do programowania, chęć przebranżowienia, a może po prostu pieniądze. Niezależnie od tego, co jest potencjalnym powodem naszych chęci do wejścia w branżę IT, zawsze (choć u jednych częściej) natrafiamy na ten moment ściany - przeszkody ciężkiej do przejścia, która zatrąca nasz umysł, która wprowadza czynnik depresji, beznadziejności i zwątpienia w nasze ego i sprawia że stajemy się malutcy. Znasz to?

Imposter syndrome

Nasz umysł często lubi działać ambiwalentnie. Kiedy kończymy dany projekt, który wygląda i funkcjonuje dokladnie tak, jak to sobie zaplanowaliśmy, to wpadamy w samozadowolenie. Unosimy się pychą, stawiając innych niżej w naszych oczach, bo przecież oni by tego nie zrobili. To działa także w drugą stronę - w sytuacji, w której poraz kolejny coś nie wychodzi, mamy myśli, że się nie nadajemy na programistę i myślimy, czy to aby na pewno dobry dla nas kierunek. Tzw. imposter syndrome - syndrom oszusta, dotyczy najczęściej programistów na etacie. Uważam jednak, że równie często tyka on początkujących, przyszłych devów. To normalne. Każdy na swej drodze ma doczynienia z chwilami słabości, czy stanami depresyjnymi, nieważne z czym się mierzymy.

Stany te mogą doprawadzić do zaburzenia pewności siebie w dążeniu do celu i motywacji, która jest jedną z najważniejszych cech młodego w stażu programisty. To od indywidualnego zaangażowania i podejścia w głównej mierze zależy, jak szybko będziemy się uczyć oraz jak szybko znajdziemy pracę, jeżeli to jest naszym priorytetem. W niektórych przypadkach, stan depresyjny może doprowadzić nawet do chęci zaprzestania nauki i zrezygnowania z ścieżki IT. Narażone są na to szczególnie osoby, które szukają pierwszej pracy jako programista, a motywują ich pieniądze bądź chęć przebranżowienia, a nie pasja do programowania. Ale to temat na zupełnie oddzielny artykuł.

Przyczyny depresji w nauce

Długo myślałem co powoduje u mnie negatywne odczucia w dążeniu do celu. Znalazłem kilka przyczyn:

  • brak gwarancji spełnienia celu,
  • frustracja niedziałającym kodem,
  • brak optymalizacji nauki,
  • porównywanie się do innych,
  • chęć posiadania tu i teraz

Dodatkowo są jeszcze 2 inne przyczyny, które mnie nie dotyczą, a mogą dotyczyć innych:

  • brak widocznych efektów w poświęconym na naukę czasie
  • brak odzewu od rekruterów lub niepowodzenie w rekrutacjach

W następnej części tekstu odniosę się do każdego z powyższych czynników, próbując przy tym wyjaśnić jak radzić sobie z danym problemem.

Brak gwarancji spełnienia celu - osobiście moja zmora. Często podczas pisania projektów i rozmawiania o programowaniu z bratem lub znajomymi z branży, myślałem o tym, że przecież poświęciłem na ten cel otrzymania pierwszej pracy masę czasu liczonego w setkach godzin i poświęcę pewnie jeszcze więcej, a nie daje mi to żadnej gwarancji, że pracę jako programista znajdę. Miałem poczucie i wrażenie, że ten czas może się zmarnować. Skutkowało to tym, że często odechciewało mi się siadać do kodu, a w zamian wolałem tracić czas na głupoty. Niedawno jednak zdałem sobie sprawę, że przecież jeżeli wciąż będę wytrwały i nadal będę żył całym światem IT oraz się nim pasjonował, to w końcu spełnię swoje marzenie. Nieważne, czy to będzie za tydzień, za miesiąc, czy za pół roku. Po prostu ważnym jest, by powiedzieć sobie, że mogę i na pewno to zrobię, jednocześnie trzymając się swoich postanowień i systematycznie ucząc programowania. To jest dobry mindset, który sprawi, że zrealizujemy cel.

Frustacja niedziałającym kodem oraz brak optymalizacji nauki - nie bez powodu umieszczam te czynniki razem, bowiem są one ze sobą dość powiązane. Często jednen wynika z drugiego. Kiedy nie działa nam kod, popadamy w frustrację i chcemy go jak najszybciej naprawić, co sprawia, że siedzimy przed komputerem jeszcze więcej czasu niż zamierzaliśmy, nie rozwiązując jednocześnie problemu, który nas spotkał. I odwrotnie - kiedy siedzimy ciągiem kilka godzin, nie odrywając wzroku nawet na chwilę, nasza prędkość nauki znacznie spada i wraz z czasem, nasz mózg nie pracuje tak efektywnie jak na początku, co naraża nas na błędy i imperatywny kod. Dlatego ważnym jest, by naukę dzielić na sesje i robić regularne przerwy, a kiedy natrafimy na ciężki problem, wrócić do niego może następnego dnia. Nie będziemy się frustrować a rozwiązanie najczęściej przyjdzie samo. Win - win :) O optymalizacji nauki planuję osobny wpis, który pojawi się na dniach.

zdjęcie tematyczne
Długie siedzenie nocami przed kodem nie jest dobrym elementem nauki

Porównywanie się do innych - dość powszechny problem. Mówię tutaj o porównywaniu się nie stricte do innych osób, lecz do projektów innych programistów. Często przeglądam piękne i zaawansowane logicznie strony w sieci. Podczas zachwytu nad ich efektownością występuje również syndrom porównywania się. Powstaje wtedy myśl, że sam bym pewnie nie stworzył takiej strony i "jak oni to zrobili". Jak? Normalnie. Naprawdę. Są to najczęściej projekty senior devów z wieloletnim stażem, którzy musieli przejść drogę, jaką przechodzę teraz ja. Do wszystkiego w czym osiągnięto mistrzostwo i profesjonalizm, dochodzono stopniowo, latami, krok po kroku. Oczywiście, są osoby, które szybciej przyswajają dane zagadnienie, to jednak nie ma dróg na skróty - jeżeli chcesz być dobry, musisz zwalczyć wszelkie przeszkody, które tamci seniorzy przeszli. Nawet jeżeli zajmie to lata, bo nie można osiągnąć tego tu i teraz.

Chęć posiadania tu i teraz - dotyka to chyba absolutnie każdego człowieka. Zamawiając produkt w sieci, najczęściej chcielibyśmy otrzymać ją jeszcze tego samego dnia. Tak samo jest z nauką. Dużo ludzi myśli, że żeby znaleźć pierwszą pracę, nie trzeba poświęcać dużo czasu. Kiedy zdają sobie sprawę, ile muszą poświęcić, by spełnić swój dotychczasowy cel, często z niego rezygnują. Jest to zmora, którą trzeba jak najszybciej zwalczyć i zdać sobie sprawę, że jeżeli weszliśmy w to bagno, to nigdy nie będzie wyniku na tu i teraz. Zawsze będzie potrzebne zaangażowanie i wytrwałość w dążeniu do celu.

Brak widocznych efektów w poświęconym na naukę czasie - uczymy się już wiele miesięcy, a wciąż najprostsze rzeczy sprawiają nam problem. Kto tak nie miał, niech pierwszy rzuci kamieniem. Powyższy problem sprawia, że zaczynamy się zastanawiać, czy programowanie jest na pewno dla nas. Jest, spokojnie. Wiedz, że jeżeli przerobiłeś dane zagadnienie jeden raz, to masz w głowię zakodowane, że je przerobiłeś. Następnym razem pójdzie ci przynajmniej 2 razy lepiej i szybciej, a z każdym kolejnym będzie coraz łatwiej, aż w końcu, będziesz się z siebie sam śmiał, że tak mówiłeś. W zwalczaniu tego czynniku ważnym jest, by zastosować wszystko to, o czym pisałem powyżej. Zachować systematykę, regularność, być wytrwałym, nie przeciążać się w nauce, robić częste przerwy - wtedy efekty będą szybko widoczne.

Brak odzewu od rekruterów lub niepowodzenie w rekrutacjach - to zdecydowanie najgorszy czynnik, bo rekrutacja jest ostatnią rzeczą w procesie znalezienia pierwszej pracy, z którą się stykamy. Wszystko co robiliśmy do tej pory, cały czas spędzony nad ślęczeniem przed ekranem i budowanie mindsetu, sprowadziło nas do tego miejsca. Ale co jeśli wysyłając CV nie dostajemy pozytywnego, ani co gorsza, żadnego odzewu lub nie udaje się zdobyć poraz kolejny wymarzonej pracy po przeprowadzonej rekrutacji? Szczerze powiedziawszy, nie wiem, bo nie doświadczyłem tego uczucia. Podejrzewam, że najlepszym, co tutaj mogę powiedzieć, to nie poddawać się. Nie poddawać się, nie rezygnować ze swojego celu i starać się jeszcze bardziej. Oczywiście, obok tego wciąż ucząc się nowych rzeczy i szlifując jak dotąd nauczone. A w końcu się uda. Tobie, mi, mu, jej, czy komukolwiek innemu.

Podsumowanie

Nauka programowania nie jest różami usłana. Na decydujących się na ten krok czeka masa przeszkód, z którymi będą musieli walczyć pewnie przez całe życie i wychodzić z tych walk zwycięsko. Wielu na pewno nie podała i wypali się dość szybko. Na wytrwałych, systematycznych, nieustępliwych czeka jednak nagroda w postaci wykonywania pracy, którą się kocha. Myślę, że wtedy dopiero zaczyna się prawdziwa nauka, o której nigdy nie można zapomnieć.

© Damian Kalka 2021
Wszelkie prawa zastrzeżone