Nie tylko Ty narzekasz przedzierając się przez deweloperską dżunglę.
Słaba dokumentacja
To często spotykana sytuacja w jakiej się można znaleźć podczas nauki nowych języków lub frameworków: masz wiele pozornie fajnych samouczków, które jednak są całkowicie przestarzałe albo słabo udokumentowane. Najgorzej jak dowiesz się o tym poświęcając już na dany kurs jakąś ilość czasu.
Mamy więc dużo dokumentacji do jednego frameworka, która jest dokładna i ułatwia proces uczenia się (wskażmy tu przykładowo Django) ale są też takie języki lub frameworki, których samouczki są trudne do naśladowania i nieaktualne. Dla niektórych z nas może to być jedynie trochę irytujące, ale dla kogoś, kto dopiero zaczyna swoją przygodę z programowaniem, może to być powód, dla którego w ogóle przestaje kodować.
Przeładowanie informacjami bez wyjaśnienia o co chodzi
Wiele samouczków kierowanych rzekomo dla początkujących podaje też tak dużo terminologii, że początkujący nie będzie wiedział o co chodzi i się zniechęci. Zasadniczo w samouczku dla początkujących w większości przypadków wszystko powinno być wyjaśnione bo autor powinien zakładać, że uczący się jeszcze niewiele wie. Tymczasem jakaś połowa wyszukiwanych w Google’ach materiałów dla totalnych nowicjuszy nie wyjaśnia całej masy podstawowych pojęć. Jasne, możesz sobie otworzyć kolejną zakładkę i kontynuować poszukiwania ale to kosztuje Twój czas, ryzykujesz że natkniesz się na nieaktualny materiał no i znowu Twoja frustracja wzrasta.
Narzekacze
Sytuację może pogorszyć kontakt z ludźmi narzekającymi na swoje postępy w nauce programowania. Z jednej strony dość irytujące jest słuchanie o problemach ludzi, ale z drugiej strony potrzebna jest konstruktywna krytyka, która pcha nas do przodu. Warto uważnie dobierać sobie znajomych do wspólnej nauki a jeżeli uczysz się w jakimś gronie, na którego skład nie masz wpływu (czyt. bootcamp) ogranicz czytanie czatu, chociaż na pewien czas.
Obwinianie samego siebie
Powiedzmy, że uczysz się malować. Nauka korzystania z pędzla to umiejętność niższa niż kompozycja. Ale kiedy już osiągniesz rozsądny poziom umiejętności posługiwania się pędzlem, możesz rozpocząć pracę nad kompozycją. Nawet jeśli trochę nie szła Ci technika pędzla, nie powstrzyma Cię to przed ćwiczeniem umiejętności na wyższym poziomie.
Widzisz analogię do nauki programowania? Oczywiście że nie, bo tak ono nie działa, zwłaszcza na niższych poziomach. Gubisz nawiasy – wypadasz z gry. Nie ma znaczenia, czy zrozumiałeś logikę, czy masz genialne rozwiązanie problemu. Twój program po prostu zatrzymuje się w miejscu. Oto przekleństwo początkującego programisty: aby stać się lepszym, musisz ćwiczyć pisanie kodu ale jeśli napiszesz kod błędami, może on działać źle albo nawet w ogóle się nie uruchomić.
To nie tylko wiedza o tym jak czegoś użyć ale i kiedy
Jedną kwestią jest to, że trzeba wiedzieć, czym jest if
. Wiedza, kiedy należy go użyć, to druga sprawa i zupełnie inna umiejętność. Nie przestawaj więc po rozwiązaniu pierwszego i najłatwiejszego problemu. Nie chodzi o to, by udowodnić, że wiesz, czym jest stwierdzenie wyrażenie warunkowe. Chodzi o to, aby nauczyć się rozpoznawać typ problemu, który rozwiązuje zastosowanie if
. Wykonując wiele problemów wykorzystujących tę samą koncepcję w różnych kontekstach, nauczysz się dostrzegać na czym polega problem, który ta koncepcja może ci pomóc w rozwiązaniu. I wtedy gdy już przejdziesz do rozwiązywania problemów dla nowej koncepcji, twój mózg natychmiast dostrzeże wszystkie elementy, które można rozwiązać za pomocą pojęć niższego poziomu.
Czyli nie irytuj się jeżeli jeszcze nie wiesz jak spożytkować swoją wiedzę – to po prostu przyjdzie z czasem. I nie szukaj sobie wymówek.