Niezależnie od tego, czego obecnie pragniesz się nauczyć, dostęp do wiedzy masz prawie nieograniczony. Łatwo jest ulec pokusie ciągłego rozszerzania horyzontów przez czytanie i zgłębianie teorii. Jest to szczególnie widoczne w dziedzinie programowania, gdzie każdy nowy język, biblioteka czy framework może wydawać się niezbędny do opanowania. Wielu początkujących programistów, w tym ja, zaczyna swoją przygodę od zasypywania się milionami książek, kursów online, artykułów i tutoriali. Jednakże, jak mówi anonimowy cytat, który stał się ostatnio mottem przewodnim mojej programistycznej podróży: "Żeby pisać, trzeba pisać".
Pułapka pasywnego uczenia się
Kiedy zaczynałem naukę, byłem święcie przekonany, że im więcej przeczytam, tym będę lepszy w kodowaniu. Spędzałem długie godziny na czytaniu teorii, oglądaniu kursów video i przeglądaniu milionów artykułów opisujących funkcjonalności Javy. Oglądając te tutoriale i patrząc jak “jakiś pan” koduje na ekranie, wydawało mi się, że mam już wystarczająco dużo wiedzy, aby zawojować świat IT. Ale stop, chwila… Jednak chyba jeszcze za mało. Dorzucimy zatem do pieca kolejny tutotial!
Wszyscy mówią “pisz kod”
Często spotykałem sie z twierdzeniem, że nauka programowania opiera się przede wszystkim na praktyce, czyli pisaniu kodu, a nie na nieustannym zgłębianiu teorii. Kiedy usłyszałem to po raz pierwszy, pomyślałem: "Ale przecież bez solidnej podstawy teoretycznej nie można skutecznie pisać ani rozumieć kodu". Przecież teoria dostarcza narzędzi niezbędnych do zrozumienia, dlaczego to wszystko działa i pokazuje, jak rozwiązywać konkretne problemy...
No przykro mi, ale to nie do końca tak działa
W pewnym momencie zdałem sobie sprawę, że mimo jakiejś tam wiedzy teoretycznej, praktyczne umiejętności pisania kodu pozostawały na stosunkowo niskim poziomie. Jeśli przyszło mi napisać prosty kawałek kodu, który wcześniej widziałem w tych tutorialach, nagle w głowie pojawiała się czarna dziura. To był moment, w którym dotarło do mnie, że kluczowym elementem nauki programowania jest regularne pisanie kodu, a nie czytanie godzinami o nim. Teoria, choć ważna, nie zastąpi praktycznych doświadczeń wynikających z borykania się z realnymi problemami i błędami w kodzie. To, co początkowo wydawało się proste w teorii, w praktyce okazywało się znacznie trudniejsze do implementacji.
Gdyby nie mentoring, utknałbym w miejscu
Wtedy już rozumiałem, że pisanie kodu jest ważne. Jednak w pełni zdałem sobie z tego sprawę dopiero, gdy przystąpiłem do programu mentoringowego Daniela Rozieckiego “Za rączkę”. Tutaj nauka opiera się na pisaniu realnych projektów, które poprzedzone są dawką teorii. Zacząłem pisać mini projekty, które w więkoszości były prostymi grami. Moja strategia nauki zmieniła się o 180 stopni. Zamiast pochłaniać kolejne rozdziały książek, zacząłem spędzać długie godziny na pisaniu kodu. Każdy napisany fragment, każdy mały projekcik, nawet ten najprostszy, przyczyniały się do zrozumienia i utrwalenia wiedzy w sposób, którego nie dało się osiągnąć tylko przez czytanie. Napotkałem na wiele błędów, które wymagały czasu i wysiłku, by je zrozumieć i naprawić. Oczywiście nie obyłoby się bez wsparcia społeczności “Za rączkę”, która jest nieoceniona w trudnych momentach.
Praktyczne podejście robi różnicę
Takie podejście do nauki pozwoliło mi lepiej rozumieć złożoność języka Java, a moje umiejętności szybko wzrosły. Ponadto, praca nad rzeczywistymi projektami pomoże mi zbudować portfolio, które w przyszłości będę mógł przedstawić potencjalnym pracodawcom. Jeżeli jesteś początkującym programistą i czujesz, że utknąłeś w cyklu pasywnego uczenia się, pamiętaj o mądrości ukrytej w prostym stwierdzeniu: "Żeby pisać, trzeba pisać." Zamiast kolejnej godziny spędzonej na czytaniu, otwórz swój edytor i zacznij kodować. Tylko przez aktywne działanie możesz przekształcić nabytą wiedzę w prawdziwe umiejętności i ostatecznie stać się skutecznym programistą.
Śledź moją aktywność na LinkedIn
Zapisz się na mój newsletter
Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl