Jednym z pytań, które często dostaje jest: „od czego zacząć naukę programowania?”.

W tym wpisie spróbuję odpowiedzieć na to pytanie. Będzie to bardziej wskazówka niż droga, której trzeba się ściśle trzymać (ten temat rozwinę w oddzielnym wpisie wkrótce, ale jak coś – śmiało pytajcie).

Po postu zacząć. To najważniejszy punkt.

Dużo osób wiecznie przygotowuje się do startu. Zbiera materiały albo fundusze na jakiś kurs.

O ile jeśli zbierze te fundusze i wybierze się na dobry kurs – wyjdzie to dla niego na plus. Ale używanie braku kasy jako wymówki – to właśnie tylko i wyłącznie wymówka. W sieci jest dostępnych naprawdę bardzo wiele materiałów. Trzeba tylko je zacząć czytać, a nie tylko kolekcjonować.

Skoro już o materiałach mowa – tu też trzeba mocno uważać. W sieci jest dużo informacji, ale nie wszystkie są poprawne.

To jest właśnie najcięższe na początku. Jak odróżnić czy to, co ktoś pisze jest słuszne?

Ja stosowałabym taki filtr:

  • popularność danej treści (kanału na Youtube, bloga, Fanpage’a),
  • to, czy autor odpowiada na komentarze czy zbywa czytelników – może to niestety świadczyć, że tylko publikuje treści, a jeśli pojawia się problem – nie wie, co z tym fantem zrobić,
  • popularność danej odpowiedzi, np. na stack overflow (które swoją drogą polecam w przypadku szukania jakichkolwiek odpowiedzi, porad, rozwiązań).

Z czasem będziemy w stanie coraz więcej odfiltrować sami.

Co jakiś czas postaram się przedstawić materiały warte uwagi. Czy to tutaj czy na kanałach Social Media powiązanych z blogiem albo w newsletterze (także zachęcam do zapisu).

Ale, żeby nie było również jestem tylko człowiekiem. Nie bierzcie wszystkiego, co napiszę za pewne. Jeśli macie wątpliwości – zapytajcie. Jeśli wiecie, że się mylę – zwróćcie mi uwagę 😉

Ze swojej strony postaram się jak najbardziej weryfikować przedstawiane treści.

Obrać kierunek…

Ten punkt może być bardziej problemowy. Języków programowania jest od groma i jeszcze więcej. Najpopularniejsze przedstawiłam w jednym z kolejnych artykułów. Ale już teraz uczulam, że patrzenie tylko pod kątem popularności może się dla Ciebie źle skończyć.

Sama dość długo programowałam w C/C++. Nie przeszkadzało mi to, jednak odkąd zajęłam się Web’em praca stała się dla mnie jeszcze większą przyjemnością 🙂

Ciekawy artykuł w tym temacie znajdziecie na StartCoding. Jest z nim powiązana dość ciekawa infografika, która swojego czasu pojawiła się na grupie, którą prowadzę (dziękuję!).

nauka-programowania

Jest w niej naprawdę sporo racji 🙂 Także możesz ją wykorzystać jako podpowiedź. Zaznaczony poziom trudności rzeczywiście przekłada się na rzeczywistość.

Ale uwaga! Jeśli zainteresuje Cię np. Java, C/C++ to osobiście nie uważam, że siadanie do niej jako pierwszej bez żadnego wcześniejszego przygotowania jest dobrym pomysłem! Naukę programowania w tym kierunku zaczęłabym od Pythona.

Dlaczego więc Python? Bo rzeczywiście jest językiem, na którym możesz nauczyć się podstaw programowania. Więcej: już wkrótce zastąpi Pascala w szkołach średnich! O czymś to świadczy 🙂

Czy Python to zawsze dobry początek? Tak. Choć jeśli z kolei myślisz z kolei o Webie – moim zdaniem nie musisz od niego zaczynać, choć warto go znać (!).

Od czego zacząć w temacie Frontu pisałam już w artykule „Frontend Developer – jak zacząć? Języki i technologie na start” na moim drugim blogu. Niedługo postaram się rozwinąć ten wątek bardziej szczegółowo tutaj 🙂

… ale jednocześnie nie obawiać się zmian

Obranie kierunku to jedno. W praktyce z różnych powodów ten kierunek może się zmienić. Uparte siedzenie w technologii, która Cię nie kręci może się źle skończyć.

Droga programisty nie jest prosta. Jest pełna wzniesień, pagórków i dołów 😛 Technologia, którą kochasz może zostać porzucona bądź z dnia na dzień odmieniona do tego stopnia, że samo patrzenie na nią będzie Cię przyprawiać o ból głowy. Nie możesz iść w zaparte i siedzieć w czymś co Cię nie interesuje. Trzeba być przygotowanym na zmiany. I na pewno nie potępiać na starcie wszystkich innych kierunków.

 

Więcej?

 

Pytania?

A może chcesz dodać coś od siebie do tej listy?