Jak zostać programistą bez studiów?

Jak zostać programistą bez studiów?

Programowanie (inaczej kodowanie) jest jedną z najbardziej poszukiwanych umiejętności współczesnego świata. Wiedza programowania napędza innowacje w wielu branżach, ale również daje jej posiadaczom bardzo silną pozycję na rynku pracy. Nauczenie się programowania może być doświadczeniem zmieniającym życie. Co więcej, wcale nie musisz ukończyć studiów, aby stać się programistą. Z odpowiednim nastawieniem, oddaniem, oraz odpowiednimi materiałami możesz stać się jednym z nich. W tym artykule znajdziesz skrupulatnie wybrane w tym celu materiały poczynając od kursów online, poprzez filmy na YouTube, a kończąc na książkach.

Advertisement

Kursy online

Zalety & wady kursów online

Internet oferuje niezliczone ilości kursów online poświęconych nauce programowania.

Głównymi zaletami kursów online dla nauki programowania są:

  • interaktywność - wiele kursów online wymaga nie tylko paswynej uwagi od ich uczestników, aby je zaliczyć, ale również aktywnego uczestnictwa poprzez quizy, ćwiczenia kodowania, praktyczne projekty, co czyni je doskonałym sposobem dla nauki programowania.

  • informacja zwrotna - interaktywność jest często połączona z informacją zwrotną automatyczną (oskryptowaną), od nauczyciela lub uczestników, co pozwala uczestnikom na dowiedzenie się, co robią dobrze, a nad czym muszą jeszcze popracować,

  • dostępność - kursy online są często otwarte dla wszystkich osób posiadających połączenie internetowe i można w nich wygodnie uczestniczyć z własnego domu lub innego miejsca,

  • własne tempo - wiele (ale nie wszystkie!) kursów umożliwa uczestniczenie w nich we własnym tempie bez potrzeby spełniania określonych terminów,

  • przystępność cenowa - wiele (ale ponownie, nie wszystkie!) kursów online jest darmowych lub przynajmniej mniej drogich w porównaniu z klasycznymi stacjonarnymi studiami lub kursami stacjonarnymi,

  • wsparcie społeczności - wiele platform online, które oferują kursy online zawierają szerokie funkcje społecznościowe takie jak fora, które umożliwiają informację zwrotną od innych uczesnitków oraz wsparcie od nich, gdy utkniemy w trakcie rozwiązywania zadań,

  • certyfikaty - niektóre kursy online zawierają opcje wystawienia darmowego lub płatnego certyfikatu, który może być prezentowany w trakcie poszukiwania pracy,

Choć kursy online mają wiele zalet, to mają również wady. Niektóre z nich to:

  • potrzeba dyscypliny - kursy, w których uczestniczy się we własnym tempie, bez ścisłych terminów końcowych, wymagają dyscypliny w samo-organizacji czasu na nie przeznaczanego przez ich uczestników,

  • problemy techniczne - niektóre kursy inline wymagają instalacji specjalnych bibliotek programistycznych takich jak różne wersje Node.js lub pakietów z rejestru npm, co bez osobistego wsparacia instruktorów może okazać się trudne dla wielu,

  • miriady opcji - jest wiele, wiele kursów, spośród których można wybierać i niektóre z nich są wspaniałe, jednakże niestety nie wszystkie - szczególna uwaga jest wymaga podczas zapisywania się na te mniej popularne i te, które nie zostały poddane właściewemu procesowi recenzowania.

Podsumowując, kursy online są jedną z najlepszych dróg ku nauczeniu się programowania bez studiów, jeżeli nie najlepszą. Głównymi zaletami kursów online są definitywnie interaktywność, rzeczywiste działanie, oraz informacja zwrotna automatyczna (oskryptowana), od nauczyciela lub od pozostałych kursantów. Obie te kwestie często okazują się wymagane, aby czynić postępy w wyzwaniu nauki programowania we własnym zakresie.

Biorąc pod uwagę benefity kursów online dla nauki programowania, wydaje się zadziwiające, że niektóre platformy kursowe, takie jak edX, oferują za darmo niektóre kursy, które stworzone są w kooperacji z najlepszymi uniwersytetami i szkołami wyższymi na świecie, takimi jak Uniwersytet Harvard, Massachusetts Institute of Technology oraz Uniwersytet Kalifornii, Berkeley.

Codecademy

codecademy to platforma do nauki online, która umożliwia branie udziału w kursach przez przeglądarkę w interaktywny sposób i z ciągłą informacją zwrotną, gdyż wiele kursów codecademy wymaga pisania kodu, który rzeczywiście działa, aby przejść do kolejnych sekcji danego kursu.

Ponadto, platforma dostarcza przewodniki i wskazówki jak rozwiązać daną kwestię oraz forum społeczności. Kwestie te okazują się bardzo pomocne, w przypadku utnikęcia lub poszukiwania alternatywnych dróg rozwiązania danego zestawu problemów.

codecademy, w dodatku do autonomicznych kursów, zawiera ścieżki kariery (n.p. Full-Stack Engineer, Front-End Engineer oraz Back-End Engineer) oraz ścieżki umiejętności (n.p. HTML & CSS, JavaScript, Python oraz Java).

Jeżeli chcesz zacząć kodować od razu sprawdź te przyjazne dla początkujących kursy: Learn JavaScript, Learn Python 3 oraz Learn HTML.

edX

edX to amerykańska platforma, która dostarcza masowe otwarte kursy online (ang. massive open online courses, MOOC). Została stworzona jako łączne przedsięwzięcie przez Massachusetts Institute of Technology oraz Uniwersytet Harvard w 2012 roku. W roku 2015 edX nawiązało partnerstwo z Microsoft. Obecnie, ponad 150 organizacji oferuje kursy przez edX.

Wiele kursów oferowanych przez edX są poziomu uniwersyteckiego i dotyczą wielu dyscyplin - w tym między innymi informatyki i programowania w szczególności.

Wiele kursów zawartych na edX może być uczęszczanych za darmo, ale mogą wymagać opłaty za certyfika ukończenia.

edX zawiera dwa wyróżniające się i obszerne kursy wprowadzające do programowania:

Oba kursy nauczane są - odpowiednio - przez prawdziwych wykładowców Harvard i MIT.

Coursera

Coursera to amerykańska platforma założona w roku 2012 przez Stanford University, która dostarcza masowe otwarte kursy online (ang. massive open online courses, MOOC). Coursera współpracuje z wieloma uniwersytatmi i organizacjiami takim jak University of London, Yale University, Princeton University, Google, IBM oraz Meta.

Ogólnie, kursy Coursera trwają od 4 do 12 tygodni oraz zawierają quizy, ćwiczenia i zadania. Niektóre kursy uczęszczane są we własnym tempie, a niektóre w intruktażowym.

Warto również wskazać, że od 2017 roku Coursera oferuje kompletny program magisterski.

Pośród najlepszych kursów informatycznych dostępnych na Coursera są:

Oba kursy nauczane są - odpowiednio - przez prawdziwych wykładowców Uniwersytetu Londyńskiego oraz Uniwersytetu Princon.

Udemy

Udemy to platforma online założona w 2010 roku, która dostarcza masowe otwarte kursy online (ang. massive open online courses, MOOC), które mogą być tworzone przez niestowarzyszone osoby i ogranizacje (w przeciwieństwie do edX oraz Coursera). W roku 2023 Udemy miało więcej niż 70 tysięcy wykładowców, 200 tysięcy kursów, oraz 60 milionów uczestników.

Dla potrzeb tworzenia kursów, Udemy dostarcza narzędzia deweloperskie, które ułatwiają proces tworzenia zawartości.

Wiele kursów Udemy większą uwagę przykłada praktyczności niż teorii. Jest to jednocześnie zaleta, jak i wada.

Spośród wielu tematów, których dotykają kursy Udemy, jest w szczególności informatyka i programowanie. Osoba, która pragnie się ich nauczyć może być zainteresowana następującymi wysoko oceniamymi kursami dostępnymi na Udemy:

Inne

W dodatku do wyżej wymienionych dostarczycieli kursów Internet oferuje wiele innych. Pośród nich dwóch zasługuje na specjalne wymienienie:

  • Pluralsight - amerykańska spółka edukacyjna założona w 2004 roku, która dostarcza wyspecjalizowane kursy dla nauki inżynierii oprogramowania i umiejętności informatycznych,

  • LinkedIn Learning - amerykańska platforma edukacyjna, następca założonej w roku 1995 Lynda.com, następnie nabytej przez LinkedIn w roku 2015, która obecnie dostarcza kursy w przedmiocie technologii, kreatywności, oraz biznesu.

YouTube

YouTube zawiera mnóstwo filmów dotyczących nauki programowania.

Zalety & wady YouTube

Główną zaletą filmów YouTube dla nauki programowania są:

  • darmowy & łatwy dostęp - co do zasady, filmy YouTube dostępne są za darmo i bez wymogu rejestracji konta dla każdego z dostępem do Internetu (choć mogą zawierać reklamy) i dlatego są przystępnym sposobem na rozpoczęcie nauki programowania od razu i bez większych trudności,

  • mnogość filmów & kanałów - zawartość YouTube jest tworzona przez społeczność i dlatego obejmuje miliony filmów, a co więcej wiele nowych jest dodawanych każdego dnia,

  • dynamiczna nauka - widea na YouTube są dynamiczne - w przeciwieństwie do statycznych książek - co pozwala na łatwiejszą obserwację całego procesu programowania, oraz

  • zaangażowanie społeczności - filmy YouTube zawierają sekcję komentarzy, gdzie widzowie mogą zadawać pytania autorom i sobie nawzajem, i wymieniać się pomysłami.

Pomimo tego, że YouTube ma wiele zalet, gdy idzie o naukę programowania, to ma również mankamenty.

Głównymi wadami YouTube dla nauki programowania są:

  • brak zorganizowanej struktury - filmy YouTube - w przeciwieństwie do kursów i książek - rzadko są ułożone w kolejności i dlatego może być trudnym odnalezienie właściwej sekwencji uczenia się lekcji w nich zawartych,

  • zróżnicowana jakość - ogólnie filmy YouTube nie są nadzorowane pod względem jakości i dlatego do informacji uzyskanych przez YouTube należy podchodzić z ostrożnością,

  • brak wsparcia lub ograniczone wsparcie nauczyciela - w przeciwieństwie do kursów online, gdzie wsparcie nauczyciela zazwyczaj występuje, filmy YouTube nie zawieraję wbudowanego systemu wsparcia.

Wybrane kanały YouTube

Przyjazne dla początkujących kanały YouTube dla nauki kodowania obejmują między innymi:

Książki

Klasyczny podejściem do nauki programowania są książki.

Zalety i wady książek

Głównymi zaletami książek dla nauki programowania są:

  • kompleksowość - książki zazwyczaj zawierają najgłębszą wiedzę w porównaniu do kursów online i filmów YouTube, a tym samym uczenie się poprzez nie może okazać się wymagane, gdy potrzebna jest wiedza specjalistyczna,

  • zorganizowana struktura - książki, podobnie jak kursy online i w przeciwieństwie do filmów YouTube, są zorganizowane w kolejne rozdziały, co pozwala na najefektywniejsze uczenie się,

  • dostęp online - fizyczne księżki nie wymagają dostępu online, a tym samym są wspaniałą drogą uczenia się kodowania, gdy lub kiedy taki dostęp jest ograniczony,

  • wymaganie skupienia - czytanie i uczenie się z książki, jakiejkolwiek książki, wymaga skupienia i koncentracji, co zwiększa tempo przyswajania materiału,

  • własne tempo - podczas gdy niektóre kursy mają ścisły terminarz, którego należy przestrzegać, to książki takiego nie mają i mogą być konsumowane, gdy czas na to pozwala, oraz

  • bycie materiałem referencyjnym - fizyczne książki są zawsze dostępne i dlatego stanowią długo-czasową referencję podczas całego procesu uczenia.

Głównymi wadami książek dla nauki programowania są:

  • brak interaktywności - książkom, podobnie do filmów YouTube i w przeciwieństwie do interaktywnych kursów, brakuje interaktywności i nie wymagają one ukańczanie zadań koderskich, aby przejść do kolejnych rozdziałów, co może negatywnie wpływać na wynik uczenia się,

  • brak aktualizacji - fizyczne kopie książek nie są aktualizowane (podczas, gdy kursy online oraz filmy YouTube mogą być), a tym samym czasami zawierają nieaktualne dane, co ma szczególne znaczenie w szybko się zmieniającym świecie programowania, oraz

  • brak wsparcia lub ograniczone wsparcie nauczyciela - książki, podobnie jak filmy YouTube i w przeciwieństwie do kursów online, zazwyczaj są powiązane ze wsparciem nauczyciela i mogą wymagać poszukiwania pomocy w inny sposób, gdy utkniemy.

Wybrane książki

Książki przyjazne początkującym dla nauki kodowania to między innymi:

  • JavaScript - Mocne strony (ang. JavaScript: The Good Parts) - książka autorstwa Douglas Crockford, która eksploruje główne zasady programowania w ogólności i najlepsze praktyki w JavaScript w szczególności,

  • Python. Instrukcje dla programisty. (ang. Python Crash Course) - książka autorstwa Eric Matthes jest doskonałym sposobem, aby zapoznać się z podstawowymi koncepcjami programowania używając języka Python, oraz

  • Java. Rusz główą! (ang. Head First Java) - książka autorstwa Kathy Sierra, książka wprowadzająca do Java, obejmuje podstawowe koncepcje programowania jako języka obiektowego używając do tego języka Java.