Czy można nauczyć się programowania samemu?

Czy można samemu nauczyć się programowania?

8 listopada 2022

Często słyszę, że ktoś rezygnuje z nauki programowania, bo nie pójdzie już na studia, lub nie stać go na jakiś bootcamp, czy inny drogi kurs, w którym poprowadzą go za rączkę.

Uważam, że to zwykła wymówka, bo sam nauczyłem się podstaw programowania na własną rękę, mając wtedy jakieś 13 lat i posiłkując się chyba jakąś książką, dodaną za darmo do gazety, którą kupili moi rodzice (było tam raptem kilkadziesiąt stron z przykładami prostych skryptów w PHP).

Uważam, że jak najbardziej można nauczyć się programowania samemu i wcale nikt nie musi mówić nam na każdym kroku co mamy robić. Oczywiście pomoc kogoś doświadczonego może się przydać, ale na pewno nie jest niezbędna i ktoś, kogo programowanie rzeczywiście pasjonuje, powinien się tym nie przejmować i próbować samemu, zwłaszcza że w dzisiejszych czasach, darmowych materiałów umożliwiających naukę jest w internecie cała masa.

Spójrzcie na to z tej strony. Programowanie nie wymaga zwykle dużych zasobów finansowych, bo wystarczy Wam byle jaki laptop i darmowy edytor kodu. Nawet jeżeli zrobicie coś źle, o ile nie będzie to opublikowane, nie powinno wyrządzić nikomu krzywdy. Porównajcie to sobie do zostania np. pilotem samolotów — dziś mamy już zaawansowane symulatory, ale wciąż nauka tego fachu jest dość droga i znacznie bardziej ryzykowna. Programowania można się z powodzeniem nauczyć samemu i udowodniłem to nie tylko ja, ale i całe mnóstwo innych, naprawdę świetnych programistów.

Jeżeli chcecie uczyć się programowania na własną rękę, poniżej, jako osoba, która uczyła się programowania samemu, zaprezentuję Wam kilka porad, które mogą okazać się dość pomocne.

Porady dla osób chcących nauczyć się programowania samemu

Oto kilka porad, które sam chciałbym usłyszeć (i wziąć sobie do serca), gdy zaczynałem uczyć się programowania na własną rękę:

1. Wybierz właściwą technologię i nie zmieniaj zdania co drugi dzień

Zacznij od wyboru języka, który:

a) nie będzie dla Ciebie przytłaczający (nie będziesz miał np. kłopotów z jego instalacją, a sama składnia kodu będzie wydawała Ci się w miarę czytelna).

oraz

b) będzie umożliwiał Ci robienie tego, co chcesz. Jeżeli chcesz robić np. aplikacje mobilne, nie zaczynaj od typowo webowego PHP, tylko postaw np. na Javę, Kotlin, Swift, czy JavaScript.

Staraj się też nie skakać pomiędzy językami, bo wielu programistów będzie Ci mówiło, że to, co wybrałeś, jest do kitu, a najlepsze jest to, w czym kodują oni. Nie zrażaj się, bo takie zmienianie technologii co dwa dni będzie niepotrzebnym rozpraszaczem, a gdy już zaczniesz myśleć jak programista, tak czy siak będzie Ci o wiele łatwiej nauczyć się kolejnych języków.

2. Znajdź wartościowe materiały w przystępnej dla Ciebie formie

Dobrze by było, gdyby Twoja nauka mimo wszystko była jakoś zorganizowana, więc polecam Ci wybór jednej z następujących ścieżek, zależnie od tego, z jakiego typu materiałów najbardziej lubisz się uczyć.

2.1. Kurs online. Kursy nie muszą być drogie i nie sugeruj się tym, że część osób próbuje je sprzedawać po kilka tysięcy złotych. Na YouTube znajdziesz naprawdę wiele darmowych playlist lub darmowych, długich filmików z kursami różnych języków programowania. Powinny one bez problemu wprowadzić Cię w podstawy danego języka. A jeśli możesz wydać pieniądze, na takich stronach jak np. Udemy znajdziesz mnóstwo świetnych kursów zaczynających się już od kilkudziesięciu złotych (bardzo często są tam promocje). Jeśli znasz angielski, staraj się szukać w tym języku — wybór powinien być znacznie większy.

2.2. Książka. Ten format starzeje się w przypadku programowania dość szybko, ale fundamenty poszczególnych języków raczej nie zmieniają się zbyt często, dlatego tak czy siak, dobra książka powinna spokojnie pozwolić na nauczenie się podstaw danego języka. Jeśli lubisz tę formę, postaraj się poszukać jakiejś stosunkowo niedrogiej i aktualnej książki dla nowicjuszy w danym języku, najlepiej takiej, która ma dobre opinie. Gdy sam zaczynałem, kursów było naprawdę mało i też teorii uczyłem się głównie z książek, więc zdecydowanie się da i nadal jest to jedna z najlepszych możliwych opcji dla “samouków”.

2.3. Dokumentacja języka. Tutaj wiele zależy od tego, co wybierzesz, ale niektóre języki programowania mają w swoich dokumentacjach sekcje dedykowane kompletnym nowicjuszom, którzy dopiero zaczynają swoją przygodę z programowaniem. W takim przypadku dokumentacja może być świetnym wyjściem, zwłaszcza że zazwyczaj jest bardzo obszerna, darmowa, a co najważniejsze — uczysz się u samego źródła.

3. Jak najszybciej przejdź do praktyki

Programowanie to nie jest nauka słówek na język obcy. Nie wystarczy “wykuć wszystkiego na blachę”, bo trzeba to przede wszystkim dobrze zrozumieć.

Z doświadczenia wiem, że teorię w programowaniu zrozumieć jest dość ciężko i o wiele łatwiej jest po prostu zacząć jak najszybciej tworzyć coś własnego/przerabiać coś gotowego i uczyć się kolejnych rzeczy w ten sposób. Powinno to być dla Was przyjemniejsze, a także bardziej zrozumiałe, nawet jeżeli z początku nie będzie Wam wychodzić.

4. Nie bój się zerkać do internetu

Nawet topowi programiści raz na jakiś czas muszą odwiedzić choćby Stack Overflow. Programowanie to rozległa dziedzina i nie wiemy wszystkiego. Jeżeli masz jakiś problem, nie wiesz, jak coś zrobić, albo czegoś zapomniałeś, nie bój się, ani nie wstydź szukać tego w internecie. W tym zawodzie jest to zupełnie normalne.

5. Nie wykazuj się ignorancją i śledź dobre praktyki i trendy

Gdy uczysz się samemu, możesz łatwo wpaść w pułapkę, w którą wpadłem także ja – robienie swojego i ignorowanie dobrych praktyk i trendów.

Nie bój się nauczyć np. Gita czy Dockera, bo są to rzeczy, które mogą znacząco ułatwić Ci pracę. Staraj się także czytać o dobrych praktykach w danym języku i wdrażać je we własnych projektach, choćby po to, żeby się do nich przyzwyczajać. Jeżeli nie będziesz stosować się do konwencji i będziesz pisał “kod spaghetti” według własnego widzimisię, inni programiści mogą nie chcieć w tym później pracować, co może okazać się problemem, gdy zaczniesz starać się o pracę w jakimś zespole.