Jak samodzielnie nauczyć się programowania

Rozpoczęcie nauki jakiegokolwiek nowego zagadnienia wymaga planu działania, tym bardziej że programowanie to niezwykle dynamicznie zmieniająca się dziedzina wiedzy. Co roku powstają nowe frameworki, co kilka lat kolejny język zyskuje dużą popularność albo ją traci itd. Wejście w branżę IT może być nawet przytłaczające, gdy cały czas rosną wymagania na ryku pracy dla juniorów. Paradoksalnie dla osób które poważnie myślą o pracy w tej branży to dobrze, ponieważ oczyszcza to z rynku niedzielnych programistów, którzy tak naprawdę psują rynek myśląc że coś potrafią po 10 godzinnym kursie czy po przeczytaniu jednej książki. To nie są te czasy że wystarczyło znać pewne podstawy i można było się załapać do korporacji na przyuczenie kiedy branża dopiero raczkowała. Ponownie ma to swoje plusy, gdyż zarobki są większe wraz z wymaganiami, dodatkowo ilość materiałów do samodzielnej nauki jak tak wielka, że tylko od nas zależy czy zdobędziemy ta wiedzę czy nie.

Plan działania

Na początku musisz obrać kierunek w którym podążasz, który określi drogę oraz czas jaki musisz poświecić na naukę programowania. Pamiętaj że nauka to nie sprint, tutaj wygrywają osoby które sumiennie i konsekwentnie dążą do celu, więcej osiągniesz przez pół roku robiąc coś godzinę dziennie niż zrywami po 8h raz w tygodniu.

Zidentyfikuj jaki język Ciebie interesuje

Na początek wybierz jeden z popularnych języków programowania. Zwykle polecam JavaScript na start, ponieważ jest dość prosty dla początkujących, ale z czasem robi się trudniejszy w miarę poznawania bardziej zaawansowanych elementów. Unikaj nauki języków jak Java czy C++ bez wcześniejszego doświadczenia programistycznego, niepotrzebnie się zrazisz, są to języki dość wymagające na start. Alternatywą dla JavaScript może być Python, jest to prosty, przystępny i bardzo popularny język. Mimo wszystko jednak Python ma poleciłbym jak drugi język, gdyż jego składnia się trochę różni od JS. Dodatkowo pamiętaj że jak nauczysz się pierwszego języka to po poznaniu podstawowych koncepcji szybko będziesz uczył się innych języków, w praktyce są w większości bardzo do siebie podobne.

Przejrzyj oferty na rynku pracy

Jest to bardzo ważny punkt ponieważ pozwala na zorientowanie się jakie są wymagania np na stanowiska juniorski dla danego języka. Szybko zauważysz że sam język to za mało i często trzeba znać dodatkowo różne frameworki czy inne biblioteki. Nie zrażaj się, ta bariera wejścia może działać na Twoją korzyść, ponieważ odstraszy innych którzy mają płomienny zapał i myślą że po dziesięciogodzinnym kursie są już programistami. Im coś jest trudniejsze, tym trzeba poświęcić temu więcej czasu i dodatkowo będziesz mieć lepsze przygotowanie na start w pierwszej pracy. Nie ma nic bardziej cennego niż osoba która jest w miarę samodzielna i sama zainwestowała swój czas aby poznać dany język. Możesz mieć braki ale jeśli firma zobaczy że uzupełniasz je i uczysz się na błędach to Twoja kariera szybko nabierze rozpędu.

Pokora to podstawa

Żyjemy w świecie gdzie wszyscy za sam fakt oddychania są wyjątkowi. W programowaniu dowozisz temat albo przynajmniej poruszasz niebo i ziemię aby go dowieźć. To nie jest praca polegająca na przekładaniu papieru, nie dostaniesz medalu za ładne oczy czy ze względu znajomości. Tutaj widać wymierne efekty pracy co jest zaletą i wadą. Wadą bo oglądanie kotów w pracy długo w niej nie popracujesz. Zaletą bo jak będziesz seniorem napiszesz bota do oglądania kotów. Wejście  branżę IT wymaga dużej inwestycji, na szczęście poświecisz przede wszystkim czas i czasem trochę nerwów jak coś nie będzie działać.

Tutaj nie potrzebujesz kilkuset tysięcy złotych żeby wejść w daną branżę aby osiągnąć wysokie dochody. Żeby jednak dojść do takich stawek musisz pogodzić się że nie masz wiedzy, że czeka Ciebie dużo pracy. Tak naprawdę nauką pierwszego języka nie jest trudna, dopiero zbieranie doświadczenia, nauka frameworków i praca w zespole w pełni rozwijają możliwości programisty. Jeśli zaakceptujesz że będziesz uczyć się na błędach, że warto słuchać bardziej doświadczonych os siebie to znacząco przyśpieszy Twoją pracę. Nie chcesz zbyć jednym z tych którym pierwsze 10k na mc odbiło i pozjadali wszystkie rozumy albo gorzej kupili porsche w leasing i spłacaj teraz rozbity samochód. Tak są takie przypadki.

Znajdź materiały do nauki

Oczywiście że nie omieszkam wspomnieć o moich kursach, które przygotowałem dla początkujących programistów 🙂 Kiedy ja zaczynałem materiałów było jak na lekarstwo, dziś masz o wiele łatwiej. Z drugiej strony do rozpoczęcia pierwszej pracy trzeba mieć o wiele większą wiedzę niż np 10 lat temu. Na szczęście przy odpowiedniej ilości czasu opanujesz większość materiału, pamiętaj tylko by konsekwentnie uczyć się krok po kroku, nie uczyć się po łebkach. To co pominiesz zawsze na pewnym etapie wróci jako braki do uzupełnienia. W tej dziedzinie wiedzy musisz mieć solidne fundamenty, bez nich braki wyjdą w najmniej oczekiwanym momencie, a nie chcesz aby wyszło że nie znasz jakiś podstaw w pierwszej pracy.

Zrób plan nauki

Opracuj realistyczny plan nauki, nie twórz marzeń że nauczysz się Javascript w tydzień, tak naprawdę tego języka i bibliotek będziesz uczyć się większość swojej kariery. Jeśli nie znasz html i css 3 do tworzenia stron internetowych to zacznij od tych zagadnień. Są dość proste, tak naprawdę to nie są nawet języki programowania. Następnie przejdź do JavaScript, a później do jakiegoś popularnego frameworka jak React czy Vue.

Ucz się codziennie

Jedyne co warto na sztywno określić to minimalną ilość czasu jaką dziennie poświęcisz na naukę, zacznij od godziny dziennie. Staraj się tylko aby podczas tej godziny maksymalnie w skupieniu ten czas wykorzystać. Nie śpiesz się, detale i szczegóły są zwykle najważniejsze i poświęcaj im tyle czasu ile potrzebujesz. Nie uczestniczysz w wyścigu, staraj się wszystko dobrze zrozumieć i ćwicz samodzielnie pisząc kod w edytorze. Samo czytanie czy oglądanie filmów to za mało, pisząc kod lepiej zapamiętujesz materiał.

Błędy to Twój sprzymierzeniec

Gdyby nie było błędów w programowaniu to większość programistów chyba straciłoby pracę. Nie ma aplikacji pozbawionej problemów, zawsze można coś poprawić czy usprawnić. Oczywiście krytyczne błędy są niedopuszczalne szczególnie na produkcji, ale rozwój oprogramowania to ciągły proces i dlatego potrzeba wielu programistów aby je zminimalizować. W tworzeniu programów ciągle zmieniają się koncepcje, wymagania itd. Dzięki temu ten rynek jest tak chłonny ponieważ te rozwiązania i systemy stają się coraz bardziej rozbudowane i wymagają dużej wiedzy. Zatem jeśli zaczniesz się denerwować że coś nie działa, weź głęboki wdech, bo to naturalne i na spokojnie krok po kroku poszukaj czemu jest błąd i naucz się jak go rozwiązać. Oczywiście na początku może Tobie to zająć dużo czasu, ale po to masz internet aby z niego korzystać. Pamiętaj tylko aby przeanalizować jak działa rozwiązanie bo dużo się z niego nauczysz.

Przygotuj portfolio i CV

Jak już nauczysz się języka zacznij tworzyć proste aplikacje i umieszczaj je na github. Staraj się tylko wrzucać projekty warte uwagi a nie bardzo proste przykłady “hello world” czy apki typu zadania do wykonania. Wysil się trochę ponieważ to pozwoli Tobie wyróżnić się na tle innych początkujących programistów. Traktuj te publiczne projekty jako reklamę swoich umiejętności. Dodatkowo co ciekawsze programy możesz umieścić na jednym z darmowych albo bardzo tanich serwerów gdyż szybciej jest osobie rekrutującej wejść w link działającej apki i zobaczyć że coś faktycznie działa.

Nie czekaj i bądź konsekwentny

Przy rozpoczęciu projektu czy nauki czegoś nowego czasem nie możemy zebrać się by zacząć. To jest podstawowy błąd. Niech to będzie Twoja pierwsza procedura od teraz do już na zawsze, jak zaczynasz coś nowego to zaczynasz już dziś, nawet tylko 10 minut aby zacząć robi cokolwiek w tym kierunku. Teraz skoro zacząłeś to już tylko kontynuujesz bo pierwszy krok jest zrobiony. Dobrze wiesz że zrywy na ostatnią chwilę nie działają, więc zacznij już dziś. Czy to będzie kurs video programowania czy artykuły czy cokolwiek innego, nie ma to znaczenia, ważne że nie tracisz czasu na rozmyślanie że chciałbyś się czegoś nauczyć. Po prostu to robisz.

 

Scroll to Top