Nauka programowania – 10 zasad jak uniknąć katastrofy i podnieść swoje szanse przy przebranżawianiu się

Ten artykuł ma na celu pokazanie Ci mindsetu (ustawień dla głowy i podejścia do nauki i przebranżawiania się) który pozwoli Ci zmaksymalizować wydajność nauki poprzez dobre praktyki, które zauważyłem u różnych studentów przez 3 lata uczenia programistów w Akademii

To taki mindset wynikający z obserwacji otoczenia

TLDR; tylko dla zmotywowanych programmersówa

Także przeczytaj uważnie i staraj się wdrożyć jak najwięcej z zasad spisanych poniżej, bo to realnie będzie mieć przełożenie na Twój proces nauczania

Nie ucz się dla kasy

„Powiedz mi po co chcesz zostać programistą” – to pierwsze pytanie, które zawsze zadaje na rozmowie z nowymi studentami. Jeśli odpowiedź jest „dla kasy”, to taka osoba nie będzie się u mnie uczyć.

Dlaczego?

IT nie jest dla wszystkich, a potencjalne wysokie zarobki, które można osiągnąc po kilku latach pracy w większości przypadków nie są wystarczającym motywatorem, aby uczyć się codziennie i codziennie być na bieżąco. W IT fajna kasa to efekt uboczny pasji i tak trzeba patrzeć na tą branżę

Jeśli idziesz tam dla kasy, to po 2-3 latach wypalisz się i znów będziesz szukać swojego miejsca. Musisz po prostu lubić rozwiązywać problemy za pomocą technologii

Regularność ponad ilość

Ten punkt lepiej opisze przykład:

Lepiej jest robić codziennie 20 pompek niż raz w tygodniu 140

Pilnowanie regularności podczas nauki to kluczowa sprawa, szczególnie we wczesnych fazach rozwoju.

Musisz codziennie się uczyć, codziennie pisać kod i codziennie się rozwijać, bo jeśli na jakiś czas przestaniesz to automatycznie się cofasz. Tydzień nic nie robienia, to 2-3 tygodnie więcej wymagene, aby wrócić do wyjściowego poziomu nauki

Jednak z czasem rozwój idzie znacznie łatwiej i jeśli już coś umiesz i pisanie kodu w jakimś jezyku przestaje stanowić dla Ciebie problem to wtedy nauka bibliotek czy wzorców jest znacznie prostsza, bo masz jakieś punkty odniesienia i Twój mózg już umie łączyć kropki

Przyswajaj wiedzę małą łyżeczka i nie rzucaj się na głęboką wodę

Chcesz być junior React developerem? Świetnie, to zacznij najpierw od pisania statycznego i ostylowanego HTML. Potem dorzucaj sobie proste skrypty przeglądarkowe w JS, potem trochę trudniejsze. Potem możesz dorzucić zapytania asynchroniczne do jakichś api. Napisać jedną, dwie, trzy stronki w czystym HTML, CSS i JS. A potem dopiero zacznij czytać o React

Jeśli zaczniesz od razu od Reacta nie mają podstaw Twój mózg męczy się 2 razy, bo raz nie znasz podstaw działania JS i składni, a drugi raz nie znasz Reacta

Więc rzucanie się na głęboką wodę od razu może znacznie spowolnić Twoje tempo rozwoju

Patrz w perspektywie 2 lat, a nie 3 miesięcy

Zrozum, że nauka programowania to nie jest sprint, tylko maraton. Mimo tego co mówią bootcampy ułamek chętnych został pełnoprawnym i pożądanym na rynku programistą w 3 miesiące. Najlepszym zajmuje to min 9 msc do roku czasu.

Skąd to wiem? bo osoby po bootcampach przychodzą do mnie się uczyć jeszcze przez okres od pół roku do roku, co daje znacznie więcej niż bootcampowe obiecanki cacanki

To często ponad rok regularnej nauki i ciężkiej pracy, aby osiągnąć swój cel jakim zwykle jest zdobycie pierwszej pracy

Ucz się z kolegą, bo razem nauczycie się więcej

Wg obserwacji środowiska newbie w IT bardzo często można spotkać sytuacje w których ktoś szuka innego ktosia do pracy na wspólnym projekcie i jest to bardzo dobra forma nauki

We dwóch/trzech nauczycie się znacznie wiecej niż każdy osobno, a jednocześnie będizecie mogli stworzyć apkę która będize w portfolio u każdego z Was

Jeśli Wasze umiejetności nie pozwalają na prace na projektach zacznijcie od rozwiązywania tych samych zadań np z różnych portali z zadaniami jak Code Wars czy podobne czy z mojej podstawowej roadmapy – JS/TS Fundamentals

A potem porównujcie swoje rozwiązania w celu szukania tych „lepszych wersji” rozwiązania i fragmentów kodu, które zostały napisane lepiej

Możecie też korzystać z wtyczki do Visual Studio Code zwanej – Live Share – aby zrobić sobie code pairing. Sam stosuję tą wtyczkę podczas pracy ze studentami w Akademii i nie znalazłem do tej pory lepszej opcji do zdalnego code pairingu

Znajdz kogoś kto będzie kontrolować to co piszesz (to moze być starszy kolega, grupa na fb/discordzie, która bedzie dawać feedback lub mentor w Akademii)

Jak by to powiedział Pan Janusz na budowie, co 30 lat kładzie płytki:

Te praktykant – co tak krzywo te płytki kładziesz?

Właśnie (z lekkim przytykiem) dowiedziałeś się, że jakość Twojej roboty nie jest zadowalająca. A umiejętność przyjmowania konstruktywnej krytyki od „starszych stopniem” to bardzo cenna umiejętność

Warto jest znaleźć sobie osobę lub społeczność, która raz na jakiś czas wytknie Ci błędy w Twoim kodzie/rozumowaniu/podejściu

Bo ucząc się od początku „nie wiesz czego nie wiesz”, co często prowadzi do powielania błędów, złych praktyk czy pisania słabego kodu

Szukaj trudnych problemów, dzięki którym sie rozwiniesz – od klepania css nikt nie został programistą

O procesie nauki i przebranżawianiu się myśl jak o pokonywaniu kolejnych schodów biegnących w górę. Każdy nowy problem, którego początkowo nie umiesz rozwiązać, ale starasz się to zrobić jest jak ten kolejny schodek w górę.

Pierwszy raz nie wejdziesz, bo nie wiesz jak podnocić tak wysoko nogę

Drugi raz nie wejdziesz, bo krzywo stawiasz stopę i spadasz

Trzeci raz nie wejdziesz, bo okazuje się, że masz złe buty

A ucząc się na błędach podchodząc czwarty raz do schodka już bedziesz wyposażony w wiedzę, która pozwoli pokonaj kolejny stopień

Tak samo podchodz do szukania sobie wyzwań do nauki – szukaj zadań, które na początek wydają Ci się trudne, ale pi razy oko coś tam wiesz, żeby spróbować je rozwiązywać

Nie bój się też rezygnować ze zbyt trudnego zadania, aby trochę doszkolić się na tych łatwiejszych i potem podjąć ponowną próbę rozwiązania

Nie bój się inwestować pieniędzy w materiały i wysokiej jakości kursy

Błąd, który mamy wbity do głowy przez system, że najlepiej jest zdobywać wiedzę doświadczając rzeczywistości samemu metodą prób i błędów.

„Nie puszczaj kierownicy rowerka, bo się przewrócisz” – pewnie każdy z nas kiedyś słyszał od rodziców. I pewnie chciałeś być kozakiem i puściłeś kierownicę wywalając się przy tym

W dobie e-learningu i szerokiego dostępu do kursów/zadań/ebooków/grup warto jest zapłacić, aby ktoś powiedział Ci czego nie robić, a co warto robić i jak to robić, aby było dobrze.

Dla przykładu:

Sam nie jestem najlepszy w dockerze i sprawach devopsowych, więc kupiłem sobie kurs Docker Masters i uważam, że to były dobrze zainwestowane pieniądze, bo dowiedziałem się tam kilku rzeczy, które były mi potrzebne w różnych projektach

Gdybym miał sam do tego dość, straciłbym bardzo dużo czasu kosztem kilku stówek. To się po prostu nie kalkuluje.

Niby Akademia kosztuje 1000zł / miesiąc i pozwala skutecznie przebranżowić się w ok rok, więc szacunkowo kosztuje 12 tys zł. Jeśli znajdziesz sobie pracę po roku za np 4 tys zł, to inwestycja w naukę w Akademii zwróciła Ci się w 3 miesiące, a po tym czasie będzie już na siebie tylko zarabiać

Rób refactor swojego starego kodu dotąd, aż będzie zrozumiały nie tylko dla Ciebie

„O kurwa, to ja to napisałem?! a o co tutaj chodziło?” – kto kiedykolwiek tak nie pomysłał patrząc na swój stary kod niech pierwszy rzuci kamień

Umiejętność przejrzenia swojego kodu na świeżo i wejściu w skórę osoby, która nigdy nie widziała tego kodu to jedna z cenniejszych umiejętności programisty

Traktuj kod/apkę/skrypt jako żywy organizm, który powinien ewoluować dla swojego własnego dobra i dla adaptacji do rzeczywistości

Wyrób sobie w sobie takie podejście, że po 2-3 tyg od skończenia jakiegoś projektu siądziesz do niego ponownie i postaraj się tak przerobić kod, aby był dla Ciebie bardziej jasny

Ten zabieg nie ma sensu w HTML czy CSS, ale jak już zaczynasz pisać skrypty związane z DOM w JS czy jakieś skrypty w Node to już warto wyrabiać w sobie ten zwyczaj

Praktyka i pisanie kodu uczy „1000 razy lepiej”, niż oglądanie tutoriali

Mój nauczyciel matematyki w liceum miał takie swoje powiedzonko, które było trochę truizmem, a trochę przestrogą:

„Matematyki nie nauczysz się poprzez przyglądanie się na zadania”

Chodzi o to, że aby zmusić mózg do rozumienia matematyki trzeba po prostu robić dużo zadań i mierzyć się z różnymi problemami, aby poszerzać swoją wiedzę

W programowaniu można byłoby lekko zmienić to powiedzionko

„Programowania nie nauczysz się poprzez oglądanie tutoriali”

Musisz cisnąć zadanka i rozwiązywać problemy, aby się uczyć i regularnie rozwijać – nie ma innego wyjścia. Rozwojowe zadanka do rozwoju od zera lub od konkretnej specjalizacji (Frontend/Backend) możesz znaleźć w naszych autorskich ścieżkach rozwoju lub na wielu różnych repozytoriach na githubie lub portalach z takimi zadankami

Podsumowując

W IT nie ma lekko, ale wg mnie jest to najlepsza branża w której można aktualnie pracować i się rozwijać, bo umiejętność tworzenia softu w dobie pełnej cyfryzacji życia jest niczym latanie rakietą, kiedy wszyscy inni idą piechotą

Mam nadzieję, że te kilka akapitów pomoże Ci uświadomić sobie jakie powinieneś/powinnaś mieć nastawienie do nauki programowania

Jeśli Twoje nastawienie już pasuje do powyższych zasad to poświęć jeszcze kilka minut i zapoznaj się z artykułem o tym jakie cechy charakteru są skazane na sukces w IT

Do następnego commita!

contact

Wahasz się? Podaj nam swojego maila i umów się z naszym mentorem na niezobowiązującą konsultację.