Nauka programowania

Czy łatwo jest nauczyć się programować?

To pytanie często jest mi zadawane, gdy opowiadam innym, że od czasu do czasu zdarza mi się prowadzić kursy Javy dla początkujących. Odpowiedź na to pytanie jest nader prosta, nie łatwo. Wierzcie mi.

Trudno jest mi powiedzieć jednoznacznie skąd się biorą tak poważne problemy podczas próby nauczenia się programowania w jakimś języku. Każdy z nas jest inny i inaczej przyswaja wiedzę, a także ma inne predyspozycje. Postaram się jednak opisać kilka porad, które mogą pomóc osobom początkującym.

Motywacja

Przed przystąpieniem do nauki czegokolwiek należy sobie odpowiedzieć na kilka podstawowych pytań. Po co to robię? Jaką mam motywację (awans, lepsza praca, satysfakcja)? I co chcę osiągnąć (np. zostać senior Java developerem w 5 lat)? Należy zdać sobie sprawę, że programowanie poza wysokimi zarobkami, jest obarczone wieloma nieprzyjemnościami, jak chociażby ciągłe doskonalenie się (w końcu technologia się zmienia), siedzący tryb życia, czy ostracyzm społeczny (nie oszukujmy się, bycie programistą nie jest zbyt 'modne'). Nie ma sensu brać się za cokolwiek, czego się szczerze nie znosi, tylko dlatego, że przynosi to duże dochody. Musisz być pewien, że tego chcesz.

Zasoby

Każdy powinien także zrozumieć, że aby się przekształcić na inną dziedzinę potrzebna olbrzymich pokładów energii, czasu a także pieniędzy. Nie każdy ma taką możliwość. Dlatego wpierw uporządkuj swoje sprawy osobiste. Stań mocno na obu nogach i przygotuj się na prawdziwe trzęsienie ziemi. 😉 Zastanów się nie tylko ile masz czasu na naukę, ale także ile możesz przeznaczyć na to pieniędzy. O ile internetowe tutoriale są darmowe, o tyle książki, korepetycje, lekcje w szkole programowania, kosztują często nie mało.

Czas

Jest to poniekąd rozwinięcie punktu pierwszego. Przekształcenie się trwa. Wyobraź sobie pianistę, który występuje na konkursach Chopinowskich. Na pewno przygotowanie do każdej edycji zajmuje mu tysiące godzin treningu. Może nawet więcej. A Ty? Po ilu godzinach chcesz się nauczyć programować. Stu? Dwustu? Pomyśl, że ja programowałem już w liceum, później na studiach oraz na stażach po studiach. Spędziłem mnóstwo godzin w domu na samodzielne studiowanie Javy. W skali całego życia to tysiące godzin. I to one, dały mi pracy. Nie chcę nikogo zniechęcać, ale kodowanie na poziomie komercyjnym, choć pozornie wydaje się łatwe, wymaga mnóstwo nauki.

Szkolenia

Musisz się zastanowić, w jaki sposób chcesz zdobywać wiedzę. Sposobów jest wiele. Najtaniej ale też i najciężej jest uczyć się samemu z tutoriali w Internecie. Nie polecam jednak tego sposobu, jeśli nie studiowałeś/aś informatyki. Nie będziesz wstanie odróżnić kodu z błędami od tego poprawnego, a nie wszystko co znajdziesz w Internecie jest w 100% poprawne. Najłatwiej jest nauczyć się od kogoś. Ideałem by było znaleźć sobie dobrego trenera, który prowadziłby Was w grupach 3-4 osobowych. Wtedy masz szansę nie tylko zdobyć odpowiednią dawkę wiedzy w krótkim czasie, ale także wymieniać się spostrzeżeniami z kolegami. Dodatkowo trener po każdych zajęciach powinien zadawać zadanie domowe, bez którego nie da się sprawdzić postępów u ucznia. Jak często powinny odbywać się zajęcia to już zależy od Ciebie. Im częściej, tym więcej musisz poświęcić czasu w domu na zrozumienie tematu. W programowaniu, trochę jak w matematyce, nie da się nauczyć całkowania bez nauki dodawania.

Własne projekty

Ostatnim krokiem przed złożeniem CV do wymarzonej firmy jest napisanie kilka (przynajmniej dwóch) własnych projektów programistycznych. Może być to jakaś prosta gra, aplikacja, która może przydać Ci się w domu. Im bardziej bajerancka, tym lepiej dla Ciebie. Pamiętaj, że bardzo ważna jest jakość kodu, który piszesz oraz testy jednostkowe. Na koniec wrzuć swój kod na jakieś publiczne repozytorium (np. github).

Pamiętaj, że nawet jeśli nauczysz się programować, musisz także umieć rozmawiać o programowaniu. To ta umiejętność tak naprawdę przekona Twoich przyszłych pracodawców na rozmowie kwalifikacyjnej!

Może Ci się również spodoba

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *