Czy kursy programowania mają sens?

Czy kursy programowania mają sens?

29 września 2022

Gdy zaczynałem naukę programowania, uczyłem się głównie z książek i kursów online. Przerobiłem między innymi kursy dotyczące PHP, WordPress, frameworka Codeigniter, frameworka Laravel, JavaScript i pewnie znacznie, znacznie więcej.

Prawdę mówiąc, gdy poznaję jakąś nową technologię, do dziś wolę przerobić dobry kurs od specjalisty, niż zagłębiać się samemu w rozległą i nudną dokumentację.

Jak możesz się więc domyślać, z mojego punktu widzenia kursy programowania mają bardzo duży sens, bo sam w ten sposób nauczyłem się m.in. bardziej złożonych zagadnień w języku PHP, tworzenia szablonów w WordPress, a także… Przestałem się bać JavaScript, w którym dziś piszę praktycznie codziennie.

Z perspektywy takiej osoby w tym wpisie odpowiem na następujące pytania:

Czy po kursie programowania nauczysz się programować?

To czy nauczysz się programować po danym kursie, zależy od dwóch czynników:

  • Od tego, czy kurs rzeczywiście będzie wartościowy.
  • Od tego, jak dobrze przepracujesz dany materiał.

Zakładając, że dopiero chcesz zacząć programować, proponuję Ci wybrać kurs dedykowany początkującym. Najlepiej kup go od kogoś, kogo umiejętności jesteś pewien, albo postaw na duże i renomowane platformy takie jak np. Udemy i zasugeruj się opiniami (na mniejszych czy prywatnych stronach istnieje nieco większa szansa, że będą nieprawdziwe).

Jeżeli wybierzesz właściwy kurs, to jak dużo z niego wyniesiesz, zależy od Ciebie. Myślę, że to oczywistość, ale mimo wszystko to napiszę: im bardziej się przyłożysz i lepiej przepracujesz kurs, tym więcej się z niego nauczysz.

Więcej na ten temat znajdziesz w znajdującej się nieco niżej sekcji Jak dobrze przepracować kurs programowania.

Czy po kursie programowania można znaleźć pracę?

Znam sporo osób, które wychodzą z założenia, że żeby dostać dobrą pracę, wystarczy zrobić na odczepnego jakiś kurs, wydrukować sobie certyfikat… I już, będą rozchwytywani na rynku pracy.

Nie wiem, jak działa to w innych branżach, ale w branży programistycznej, praktycznie nie ma szans, że samo przerobienie kursu programowania pozwoli Ci na zdobycie pierwszej pracy, nawet jako junior.

Programowanie to skomplikowana i konkurencyjna dziedzina, która wymaga sporo praktyki. Samo zrozumienie tego jak działają zmienne, instrukcje warunkowe, czy pętle, raczej nie wystarczy do swobodnej pracy.

Kurs może przyśpieszyć Twoją naukę, ale żeby myśleć o pierwszej pracy, powinieneś być w stanie pracować samemu i od zera wykonywać mniej lub bardziej skomplikowane projekty. Rzecz jasna możesz to robić z pomocą internetu, ale grunt, żebyś potrafił już logicznie myśleć — tego niestety kurs nie nauczy Cię tak dobrze jak praktyka.

Aby dostać pierwszą pracę jako programista, warto też mieć się czym pochwalić. Spróbuj stworzyć jakiś projekt, w którym zaprezentujesz swoje umiejętności. Nie musi on być niesamowicie skomplikowany. Po prostu miej w zanadrzu coś, co pozwoli Ci pokazać, że masz już jakieś doświadczenie.

Wiem, że parcie na doświadczenie w branży jest niesamowicie frustrujące dla nowych, ale w branży programistycznej jest to naprawdę bardzo ważne. Nawet świetna znajomość teorii danego języka nigdy nie zastąpi umiejętności logicznego myślenia i doświadczenia w szukaniu solucji i rozwiązywaniu programistycznych problemów.

Jak dobrze przepracować kurs programowania?

Istnieje pewna pułapka, w którą można wpaść, przerabiając kurs programowania. Jeżeli w nią wpadniesz, najprawdopodobniej pomimo zainwestowania w kurs pieniędzy i przerobienia nawet dziesiątek godzin, niczego się nie nauczysz

Ta pułapka to brak odpowiedniego zaangażowania. Jeśli myślisz, że samo obejrzenie kursu wystarczy do zrozumienia go, prawdopodobnie grubo się zdziwisz.

Poniżej prezentuję trzy punktu, które pomogą tego uniknąć i sprawią, że będziesz mógł wynieść z kursu jego pełną wartość.

1. Jeżeli kurs ma zadania, zawsze je wykonuj.

Gdy chodziłem do szkoły, też nie lubiłem robić zadań. Zwykle liczyłem na to, że nie zostaną sprawdzone, lub odpisywałem je od kolegów.

Z kursami jest jednak inaczej. Robiąc takie zadania, znacząco zwiększamy praktyczne umiejętności w dziedzinie, na której nam zależy.

Jeżeli w kursie pojawia się jakieś zadanie, świetnie! Spróbuj je zrobić. Nawet jeżeli zejdzie Ci na to kilka godzin, będziesz musiał dużo główkować, albo nie uda Ci się go zrobić poprawnie, czy identycznie jak zrobił to instruktor (nie zawsze znaczy, że gorzej), nic nie szkodzi! Im więcej realnego programowania w nauce (nawet tego nieskutecznego), tym więcej praktyki nabierzesz. A przypominam, praktyka w tym zawodzie jest kluczowa.

2. Nie przepisuj bezmyślnie kodu.

Samo przepisywanie kodu prawdopodobnie całkiem dobrze zapozna Cię ze składnią języka, ale… Nie da Ci poza tym za wielu umiejętności.

Staraj się rozumieć każdy fragment kodu. Jeśli trzeba, zapauzuj lub powtórz dany fragment kursu, nawet kilka razy.

Bezmyślne przepisywanie, choć prawdopodobnie przyniesie oczekiwany efekt (stworzysz to, co stworzył autor w danym odcinku kursu), nie nauczy Cię praktycznie niczego! Skup się na tym, żeby zrozumieć, w jaki sposób ten efekt został osiągnięty, po to, żebyś mógł w przyszłości np. stworzyć coś, co będzie działało w analogiczny sposób.

3. Spróbuj dodać coś od siebie.

Jeśli skończysz kurs lub jakiś projekt, który się w nim pojawi, spróbuj się na jakiś czas zatrzymać i porozwijać to na własną rękę.

Spróbuj zmienić coś w kodzie, albo dodać np. analogicznie działającą funkcję, która doda do projektu stworzoną przez Ciebie funkcjonalność.

Takie coś sprawi Ci masę satysfakcji, a przy tym nauczy Cię bardzo dużo, bo utrwalisz sobie wiedzę poprzez praktykę i prawdopodobnie jeszcze lepiej zrozumiesz działanie samego kodu.

Jaki kurs programowania wybrać?

Przede wszystkim, przed zakupem kursu programowania spróbuj obejrzeć jakiś darmowy odcinek (wiele znanych platform pozwala na obejrzenie nawet kilku) i zobacz, czy odpowiada Ci sam prowadzący. Sprawdź, czy mówi wyraźnie, nie mówi za szybko i czy aby na pewno będziesz chciał spędzić z nim te ~kilkadziesiąt godzin.

Osobiście wtopiłem tak dwa razy. Raz kupiłem kurs autora, który mówił w jakiś nieznośny dla mnie sposób (subiektywne odczucie, ale naprawdę nie potrafiłem go słuchać), a innym razem kupiłem kurs, w którym autor pozwalał sobie na całe mnóstwo dygresji i robił wszystko tak chaotycznie, że nie byłem w stanie skupić się na programowaniu. Gdybym obejrzał darmowe odcinki, pewnie miałbym szansę zwrócić na to uwagę szybciej (zwłaszcza w pierwszym przypadku) i zdecydować się na inny kurs. Zaoszczędziłbym parę stówek.

Oprócz tego zwróć uwagę także na te czynniki:

  • Cena. To Twoje pieniądze i nie zamierzam Ci mówić ile powinieneś zapłacić za kurs. Uwierz jednak, że kursy po kilka tysięcy złotych gwarantujące Ci jakąś “magiczną wiedzę”, merytorycznie zwykle niczym nie różnią się od najzwyklejszych kursów z Udemy za kilkadziesiąt-kilkaset złotych.
  • Opinie. Zobacz co o kursie mówią jego inni uczestnicy. Sprawdź dobre i słabe cechy kursu, które powtarzają się w komentarzach. Jeżeli sporo osób pisze, że kurs jest trudny, być może nie jest to najlepszy wybór dla początkującego?
  • Zawartość kursu. Zwykle przed zakupem kursu możesz sprawdzić listę odcinków. Proponuję Ci wybrać taki kurs, który oferuje możliwie jak najwięcej zadań praktycznych. Z doświadczenia wiem, że nadmiar teorii może nudzić i nie zachęcać do dalszej nauki.

Wybierz też kurs dotyczący technologii, w której chcesz w przyszłości programować. Możesz o tym więcej przeczytać w tym miejscu: Jakiego języka programowania warto się uczyć?

Gdzie znaleźć tanie kursy programowania?

Szczerze? Zacznij od YouTube.

Zwłaszcza jeżeli angielski nie jest problemem, prawdopodobnie znajdziesz tam całą masę niezłej jakości darmowych kursów. Przed rozpoczęciem zwróć jednak uwagę na komentarze, oraz na to, czy kolejne odcinki nie są np. wybrakowane, lub czy po którymś autor nie mówi, że kontynuacja jest płatna i kosztuje np. 999 dolców (to mogłoby Cię trochę zniechęcić).

Warto też sprawdzić coś takiego jak “Crash Course”, które zwykle uczą wielu rzeczy w krótkim okresie czasu. Często w jednym ~dwugodzinnym odcinku znajdziecie w zasadzie wszystkie zagadnienia, które powinny Wam wystarczyć do w miarę komfortowego kontynuowania przygody z danym językiem. Jest to jednak coś dla bardziej zaawansowanych, bo początkujących adeptów programowania takie tempo przyswajania nowej wiedzy mogłoby odstraszyć (mnie na pewno by odstraszyło).

Jeżeli chodzi o platformy z dobrymi i tanimi kursami mogę polecić między innymi:

  • Udemy — znajdziecie tam całe mnóstwo kursów, w tym także tych dostępnych w języku polskim, a nawet te zagraniczne w razie potrzeby oferują napisy. Prawie ciągle są tam jakieś promocje i można wyrwać naprawdę świetne kursy za około 50-60 złotych.
  • Strefakursów — bardzo dużo polskojęzycznych kursów programowania naprawdę niezłej jakości.
  • Laracasts — świetne anglojęzyczne kursy nie tylko o Laravelu dla webdeveloperów. Całkiem sporo wiedzy jest tam dostępnej w pełni za darmo, dlatego tym bardziej warto sprawdzić.

To tylko kilka miejsc, z których sam korzystałem przy nauce programowania. Oczywiście jest ich znacznie więcej, dlatego jeśli znajdziesz coś gdzieś indziej, być może też będzie to miało dużą wartość. Raz jeszcze, patrz na opinie, oraz w miarę możliwości przed zakupem postaraj się obejrzeć co najmniej jeden darmowy odcinek kursu, żeby zobaczyć, czy Ci odpowiada.