Nauka Programowania, jak zacząć od zera?

readTime

9 min

Nauka Programowania, jak zacząć od zera?

Tak naprawdę wszystko o czym sobie teraz pomyślisz można zrobić za pomocą aplikacji lub strony internetowej, od zamawiania taksówki, jedzenia lub zakupów online po oglądanie filmów, a nawet uczestnictwie w kursie gry na gitarze.

Wraz z cyfryzacją współczesnego świata rośnie również zapotrzebowanie na programistów a zatem nauka programowania jest i z pewnością będzie bardzo dobrą inwestycją Twojego czasu.

Skoro jesteś tutaj to mam nadzieję, że decyzja o zostaniu programistą już podjęta, zostało jedynie ułożyć plan i ruszać do nauki. Wszystko fajnie tylko jak ?

Myślę, że obecnie wiele osób zadaje sobie to pytanie ponieważ obecna praca nie jest zbyt satysfakcjonująca lub po prostu widzą inną perspektywę na siebie. Jeśli też to czujesz to mamy tak samo 😉

W tym artykule postaram się Ci przedstawić w jaki sposób zacząłbym naukę programowania gdybym miał to robić jeszcze raz od zera.

Od czego zależy sukces w nauce programowania ?

Na początku warto odpowiedzieć sobie na pytanie czym jest sukces w nauce programowania i jak go osiągnąć. Z pewnością dla większości sukcesem będzie zdobycie pierwszej pracy na stanowisku junior developera.

Żeby tego dokonać musisz być mocno zdeterminowany ponieważ w nauce programwoania nie ma dróg na skróty. Co prawda niektórzy mają większe predyspozycje lub po prostu mieli wcześniej do czynienia “z komputerem” aczkolwiek to determinacja w dążeniu do celu połączona z konsekwencją i zaangażowaniem są kluczami do sukcesu.

Przygotuj się na to, że nie zawsze ( a na początku raczej rzadko) będziesz wszystko rozumiał. Może to być czasem frustrujące, że coś u Ciebie nie działa ale to właśnie chęć rozwiązywania problemów i jasno zdeterminowany cel pozwolą Ci kontynuować naukę nawet wtedy gdy będzie Ci się wydawało, że kompletnie się do tego nie nadajesz.

Jeśli ktoś zapytałby mnie od czego zależy sukces w nauce programowania to najkrócej mógłbym powiedzieć, że składa się on z 2 składników konsekwencji i zaangażowania.

Konsekwencji ponieważ powinieneś codziennie zaplanować czas na naukę programowania i o wiele lepszym rozwiązaniem jest nauka 2 3 godzin dziennie niż 8 godzin w weekend bo w taki sposób działa nasz mózg.

Dlaczego nauczyciele zawsze w szkole zapowiadali sprawdziany z co najmniej kilkudniowym wyprzedzeniem, a no po to żeby rozłożyć sobie materiał do nauki na kilka dni i dzięki temu zapamiętać znacznie więcej informacji niż gdybyśmy uczyli się dzień przed kartkówką.

Zaangażowanie to dla mnie utrzymanie tej konsekwencji przez długi czas i nie poddawanie się nawet gdy nie wszystko jest kolorowe i coś nam po prostu nie działa.

Nauka programowania nie różni się niczym od nauki czegokolwiek innego, po prostu wymaga od nas czasu i zaangażowania a gdy przebrniemy przez ten początkowy czyli najtrudniejszy czas to później może nie jest już idealnie ale wiemy jak rozwiązywać napotkane problemy i jesteśmy bardziej zaradni i samodzielni.

Nauka programowania to nie tylko uczenie się składni, semantyki, logiki itd, tak naprawdę chodzi o wiele więcej. Tak naprawdę żaden programista nie wie wszystkiego ale po to się uczy i doskonali aby znaleźć odpowiedź na pytanie. Pomyśl, skoro Ty, na początkowym etapie nauki masz jakiś problem to na 90% ktoś już wcześniej na niego trafił i uzyskał odpowiedź.

Wybór języka programowania/technologii

Jeśli chcesz zacząć uczyć się na przykład języka obcego to w pewnym momencie przychodzi pora na podjęcie decyzji jaki to będzie język. Tak samo jest w programowaniu.

Mówi się, że gdy uczymy się programowania to wybór pierwszego języka nie ma znaczenia i wiele osób poleca wybór Pythona.

Na początku poszedłem tą drogą lecz gdy wpadłem na artykuł, pokazujący różne ścieżki rozwoju jako programista i perspektywę pracy zdecydowałem, że to czym chcę się zajmować są strony internetowe i aplikacje webowe a więc python nie będzie w moim przypadku najlepszym rozwiązaniem. W konsekwencji poszedłem typową Frontendową ścieżką czyli zaczynając od HTML później CSS i w końcu zacząłem się uczyć pierwszego języka programowania czyli JavaScriptu.

Tak naprawdę to najważniejsze jest żeby zacząć się uczyć programowania, jeśli w trakcie nauki okaże się, że chcesz programować coś całkiem innego to nic się nie stało, to czego się nauczyłeś z pewnością zaprocentuje w przyszłości. Sam tak miałem gdy postanowiłem z Pythona przerzucić się na JavaScript to rozumiałem już czym są zmienne i funkcje i dzięki czemu łatwiej załapałem jak to się robi w Javascripcie.

Zaczynamy naukę od darmowych lub bardzo tanich źródeł wiedzy

Jeśli pierwszy etap wyboru ścieżki masz już za sobą to radziłbym abyś nie korzystał od razu z drogich kursów bo tak naprawdę to nie wiesz czy programowanie będzie faktycznie takie, jak Ci się wydawało.

Na YouTube jest mnóstwo darmowych materiałów dotyczących nauki programowania, zarówno po Polsku jak i po angielsku. Można też skorzystać z wiedzy dostępnej za darmo na blogach i stronach internetowych.

Możesz też kupić używane książki za niską cenę aczkolwiek dla mnie kursy wideo są naszym rozwiązaniem. Postaw sobie cel przerobić kilka porządnych kursów i po tym zdecyduj dopiero o dalszej nauce i zakupie kursu.

Wybór formy nauki i opracowanie planu działania

Jeśli z sukcesem i nieustającym zaangażowaniem przerobiłeś darmowe kursy, czas na inwestycje we własną przyszłość i zakup kursu. Tak naprawdę masz kilka ścieżek, którymi możesz osiągnąć ten sam cel czyli zostać programistą.

  • Ukończenie studiów informatycznych
  • Nauka na własną rękę
  • Udział w Bootcampie Każdy z tych sposobów ma swoje plusy i minusy i tak naprawdę to od Ciebie zależy, którą ścieżką będziesz podążał. Nie chcę oceniać plusów i minusów poszczególnych rozwiązań ponieważ nie czuję się być na tyle doświadczonym i kompetentnym żeby doradzać w takich kwestiach.

To wszystko zależy ile masz czasu, pieniędzy itd. Potraktuj jako pierwsze wyzwanie wybranie sposobu nauki, na który możesz sobie pozwolić i nie wierz w magiczne sposoby, które w 3 miesiące sprawią, że zostaniesz programistą.

Poszukaj w Internecie plusów i minusów poszczególnych rozwiązań ale pamiętaj aby wybierać niezależne źródła a nie np. czytać na stronie uczelni dlaczego wybrać studia ani na stronie z bootcampu czytać o tym dlaczego taka forma nauki jest dla Ciebie najlepsza.

Ja postanowiłem uczyć się na własną rękę ponieważ szkoda było mi kilku kolejnych lat na studia no i nie poszedłem na bootcamp ponieważ stwierdziłem, że poradzę sobie z nauką programowania korzystając z kursów i wsparcia mentorów, co okazało się być o wiele tańszym rozwiązaniem.

Moja ścieżka nauki polega na korzystaniu z kursów video ze stron Udemy, Eduweb i Youtube oraz w późniejszym etapie dokupieniu dłuższych kursów ale kosztujących poniżej 1000 zł.

Dodatkowo przeznaczałem 100 zł tygodniowo na korepetycje z programowania. Z perspektywy czasu widzę, że ten sam efekt można osiągnąć jeszcze niższymi kosztami i w związku z tym tworzę tego bloga, żeby Tobie pomóc w nauce.

Jeśli decydujesz się na studia i bootcamp to plan działania masz z góry narzucony. Jeśli decydujesz się na naukę “na własną rękę” to musisz opracować go samemu. Łatwo powiedzieć ale jak to zrobić ?

Jeśli wybrałeś Frontend to wpisujesz w przeglądarkę Frontend roadmap i pobierasz sobie grafikę, na której są wyszczególnione poszczególne tematy, których musisz się nauczyć i są one poukładane w prawidłowy sposób. Czyli idziesz od startu do końca.

Kolejnym sposobem jest zobaczenie jak wygląda plan kursu lub studiów i samemu zgłębienie tematyki wskazanej w kursie. Pamiętaj przy tym aby nie wpaść w tzw. Tutorial Hell czyli ciągłe przerabianie kursów bez praktykowania. Tak naprawdę programowanie to praktyka a więc po zdobyciu teoretycznych podstaw postaw na praktykę.

Na YouTube jest wiele praktycznych przykładów, które są omawiane krok po kroku. Na początku przepisuj kod równo z prowadzącym kurs lub tutorial lecz z czasem zatrzymuj video i samemu próbuj znaleźć rozwiązanie i poświęć czas na znalezienie praktycznych ćwiczeń.

Materiały i źródła wiedzy do nauki programowania

Istnieje wiele metod nauki i to od Ciebie zależy co sprawdza się u Ciebie. Jeśli nigdy nie uczyłeś się większej ilości materiału polecam zapoznać się z metodami skutecznej nauki i zrozumieniu jak pracuje nasz mózg abyś mógł jak najefektywniej wykorzystać czas na naukę programowania.

Powstało wiele książek do nauki programowania, ale dla mnie najlepsze okazały się kursy video. Jeśli zdecydujesz się na książki i są one starsze niż 1 rok/2 lata to część materiału może być nieaktualne i nikt tego nie uaktualni – w przeciwieństwie do kursu.

No i przy kursach czy filmach video masz komentarze, pytania i odpowiedzi, możesz wejść w interakcję z prowadzącym no i na początku nauki możesz pisać kod równocześnie z tą osobą.

Ja zdecydowanie polecam kursy video ale musisz pamiętać o tym żeby zweryfikować ich jakość i aktualność. Polecałbym abyś na początku zapytał się znajomego programistę o to czy warto zakupić dany kurs, lub podeślij w wiadomości do mnie linki i dam znać co o tym sądzę.

Na późniejszym etapie nauki będziesz korzystał z dokumentacji i serwisów takich jak stackoverflow aby znaleźć rozwiązanie ale na początku odradzam tego sposobu ponieważ dokumentacja nie zawsze jest napisana najprostszym językiem i możesz się tylko zniechęcić do dalszej nauki.

Jeśli wybrałeś ścieżkę samodzielnej nauki polecam abyś znalazł swojego mentora/ korepetytora, z którym będziesz spotykał się co najmniej raz w tygodniu. Mówię to z własnego doświadczenia ponieważ wielokrotnie zdarzało mi się, że nie umiałem sobie z czymś poradzić lub po prostu czegoś nie rozumiałem a programista, z którym miałem korepetycje w ciągu kilku minut pokazał mi jak rozwiązać dany problem

Działanie = Nauka, czyli łączenie teorii z praktyką

Zakładam że przeszedłeś wszystkie poprzednie etapy i nie pozostało nic innego jak tylko życzyć Ci powodzenia w nauce programowania. Pamiętaj, że tutaj tak naprawde chodzi o praktykę, ponieważ w przyszłej pracy Twoją rolą będzie wykonywanie zadań a nie powtarzanie teorii lub uczenie się czegoś na pamięć.

Nie musisz wszystkiego pamiętać bo niektóre sprawy z czasem i z kolejnymi zrealizowanymi projektami wejdą Ci w krew i nie będziesz już musiał się zastanawiać jak to rozwiązać.

Wszystko albo większość w tej branży wynika z praktyki i doświadczenia i tak naprawdę to się liczy gdy będziesz starał się zdobyć pierwszą pracę na stanowisku Junior developera. Nie to ile kursów przerobiłeś ale w jaki sposób potrafisz wykonywać zadania i rozwiązywać napotkane problemy.

Życzę Ci powodzonka i do usłyszenia w kolejnych wpisach 😉

Ps. Jeśli masz jakiekolwiek pytania, lub chciałbyś się poradzić to zapraszam do kontaktu, zrobię co mogę aby Ci pomóc 😉

authorImg

Witek Pruchnicki

Z pasją dzielę się wiedzą o programowaniu i nie tylko na różne sposoby