Nauka programowania dla wielu może się wydawać jako trudna skomplikowana i przeznaczona tylko dla wybranych.
Ja też tak myślałem i wydawało mi się, że to nie dla mnie bo po prostu sobie nie poradzę i nie zrozumiem tego wszystkiego.
Z pewnością może to być mega skomplikowane i tajemnicze gdy dopiero zaczynasz lub interesujesz się nauką programowania.
Czy programowanie na serio jest tak trudne, jak ludzie to przedstawiają?
Odpowiedź brzmi zarówno tak, jak i nie no bo nie da się udzielić jednoznacznej odpowiedzi. Nauka programowania wymaga sporo czasu i wysiłku, podobnie jak każda inna wartościowa umiejętność. Jednak przy odpowiedniej motywacji i zaangażowaniu każda logicznie myśląca osoba może nauczyć się programowania.
Jednym z największych wyzwań stojących przed początkującymi programistami jest zrozumienie języka branżowego i dużej ilości nowych pojęć technicznych. Jeśli nie masz podstawowej wiedzy na temat pojęć programistycznych, takich jak zmienne, pętle, funkcje, typy danych itp. no to uczysz się wszystkiego od zera i wiadomo, że zajmuje to sporo czasu.
Programowanie wymaga znacznej ilości logicznego i abstrakcyjnego myślenia, co może być wyzwaniem dla niektórych osób. Czyli wiele rzeczy musisz sobie wyobrazić i zrozumieć, że tak coś działa bez możliwości zobaczenia jak to się dzieje. Ponadto języki programowania często mają stromą krzywą uczenia się i na początku wymagają dużo zapamiętywania. Tak naprawdę wszystko jest dla Ciebie nowe i dlatego początek jest najtrudniejszy.
Innym powodem, dla którego programowanie może być trudne, jest to, że często będziesz się uczył w osamotnieniu, w najbliższym otoczeniu nie wszyscy będą rozumieli czego i po co się w ogóle tego uczysz.
Dodatkowo będziesz podejmował wiele prób i będzie sporo błędów i porażek. Jeśli nie lubisz rozwiązywać problemów i są one dla Ciebie frustrujące to niestety zawód programisty nie będzie dla Ciebie najlepszą opcją.
Kolejnym wyzwaniem, które może pojawić się podczas nauki programowania, jest utrzymanie motywacji przez cały proces. Programowanie wymaga wielu umiejętności rozwiązywania problemów, co oznacza, że będziesz musiał przyzwyczaić się do tego.
Czyli większość Twoich zadań to będą problemy, z którymi będziesz musiał sobie poradzić i je po prostu rozwiązać.
Jak wygląda proces nauki programowania od strony mentalnej?
Zakładam, że jesteś już po wstępnym etapie, przekonałeś się, że programowanie jest dla Ciebie interesujące i podjąłeś decyzję o nauce programowania.
Polecam przeczytać artykuł, na podstawie którego opracowałem poniższą sekcję -> Why Learning to Code is So Damn Hard
Na poniższym wykresie możesz zobaczyć w przybliżeniu proces nauki programowania na przestrzeni czasu i Twojej pewności siebie.
źródło: https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/
Etap I – Miesiąc miodowy
Czujesz się świetnie bo każdego dnia zdobywasz nowe umiejętności i wiedzę. Zazwyczaj podążasz krok w krok za prowadzącym kurs i w związku z tym, że całą wiedzę masz podaną na tacy, nie ma żadnych problemów i wszystko idzie gładko to wydaje Ci się, że jest super.
Etap II Rozczarowanie/Zakłopotanie
Cliff of Confusion to bolesne uświadomienie sobie, że jest o wiele trudniej, niż Ci się wydawało. Zwłaszcza gdy chcesz coś zrobić samemu, nie przepisując kod za prowadzącym kurs. Wówczas uświadamiasz sobie, że to czego uczyłeś się było takie łatwe i przyjemne a przyrost wiedzy był ogromny i bezproblemowy. Wynikało to z tego, że naśladowałeś osobę prowadzącą kurs lub przepisywałeś kod i dlatego szło tak dobrze a teraz zaczyna się najtrudniejszy czas w nauce programowania, w którym poddaje się najwięcej osób.
Z jednej strony początkowa ekscytacja opadła i zaczynają się coraz trudniejsze tematy. To właśnie czas gdy uczysz się rozwiązywania problemów i pomału zdobywasz wiedzę na własną rękę + starasz się robić coś samemu, nie tylko przepisując kod.
Jeśli podążasz za tutorialem to możesz zatrzymywać video zanim dostaniesz gotowe rozwiązanie i najlepszą opcją będzie próba samodzielnego rozwiązania.
Etap III Pustynia rozpaczy
Jest to długi i często samotny czas podróży w której każdy nowy kierunek wydaje się właściwy i interesujący, ale często kręcisz się w kółko i stoisz w miejscu. Wszystko wydaje się być bardziej interesujące od konkretnej nauki programowania. Z jednej strony coś tam robisz ale tak konkretnie to nie bardzo.
Po jakimś czasie przychodzi refleksja i postanawiasz na serio wziąć się do nauki i pomimo trudności pokonywać kolejne etapy i zdobywać kolejne porcje wiedzy. Na tym etapie pojawia się wiele wątpliwości, czy dam sobie radę, tak mało potrafię, jeszcze tyle nauki przede mną itd.
Mimo trudności kontynuujesz naukę i pomału widzisz światelłko w tunelu bo rozumiesz coraz więcej, wiedza układa Ci się w głowie i masz ochotę na więcej.
Etap IV Droga do doskonałości
To ten etap gdy w końcu poczujesz, że to co robisz ma sens i odnajdujesz się w tym. Wiesz że jest ciężko ale widzisz swój progres i ile nauczyłeś się w ostatnim czasie. Dodatkowo masz motywację bo jest perspektywa zdobycia pierwszej pracy.
Czujesz się coraz pewniej i z większym luzem podchodzisz do kolejnych zagadnień, czujesz, że to jest to.
Etap V Rozpoczęcie poszukiwania pierwszej pracy jako junior
Opanowałeś wszystkie podstawowe zagadnienia i czujesz, że mógłbyś już pracować jako programista. Tutaj również nie jest lekko bo konkurencja na rynku jest duża i w związku z tym musisz się wyróżnić na tle innych kandydatów i musisz posiadać sporą ilość wiedzy.
Kontynuujesz naukę i robisz dużo projektów do portfolio aby zademonstrować swoje umiejętności. Równocześnie aplikujesz w wiele miejsc i w końcu nadchodzi moment gdy zaliczasz wszystkie etapy rekrutacji i rozpoczynasz pracę jako junior developer.
Czy programowanie jest naprawdę trudne ?
Programowanie może być trudne, zwłaszcza dla osób, które dopiero startują. Jednak dzięki zaangażowaniu, codziennej praktyce i wytrwałości z czasem może stać się łatwiejsze i nawet przyjemne.
Jednym z powodów, dla których programowanie może być dla wielu osób trudne, jest to, że wymaga ono dużo logicznego i abstrakcyjnego myślenia.
Czyli Twoje zadanie będzie polegało na podzieleniu złożonych problemów na mniejsze, łatwiejsze do zarządzania części, a następnie użyć logicznego rozumowania do rozwiązania każdej z nich.
Dodatkowo, programowanie nie zawsze idzie tak jakbyśmy tego chcieli. Wielokrotnie będzie Ci się wydawało, że coś powinno działać ale z różnych powodów tak nie będzie. Czyli, Twoim zdaniem będzie podejmowanie wielu prób i szukanie błędów w kodzie co dla wielu może być irytujące i nudne.
Innym powodem, dla którego programowanie może być trudne, jest to, że istnieje wiele różnych języków programowania i technologii do nauczenia się a ilość tych rozwiązań ciągle rośnie.
W mniejszym lub większym stopniu różnią się one od siebie i każdy z nich ma swoją własną unikalną składnię, zasady i najlepsze praktyki. Zdobycie biegłości w danym języku lub technologii może wymagać od Ciebie sporo czasu i wysiłku.
Jednak pomimo tych trudnościom programowanie może być naprawdę satysfakcjonujące bo Tworzysz coś z niczego. Za pomocą kodu można stworzyć wiele rozwiązań i zmieniać świat na lepsze 😉