Diversity w polskim IT
Szymon Adamiak
Szymon AdamiakCo-Founder @ HYPE4 Mobile

Jak uniknąć głównego błędu w nauce kodowania, czyli o świadomej praktyce

Najgorsze co możesz zrobić, ucząc się kodowania, to zapomnieć o świadomej praktyce. Zobacz, jak sobie z tym poradzić, uczyć się efektywniej i przyspieszyć swoją karierę programisty.
12.09.20226 min
Jak uniknąć głównego błędu w nauce kodowania, czyli o świadomej praktyce

Bardzo często nie umiemy mądrze wykorzystać naszego czasu na naukę. Próbujemy się uczyć, ale nie robimy tego efektywnie, więc kończy się na tym, że jesteśmy zdemotywowani i zmęczeni. Być może słyszałeś kiedyś o słynnej zasadzie 10 000 godzin. Mówi o tym, że potrzebujesz 10 000 godzin świadomej praktyki, aby opanować swoje rzemiosło. Wiele osób skupia się na tej ogromnej liczbie. Nikt jednak nie rozważa tego, co oznacza słowo świadomej.

Jeśli nie praktykujesz świadomie, marnujesz tylko swój czas.


Świadoma praktyka to skuteczna nauka. Jest to planowe i systematyczne kształcenie. Skupia się na małych, starannie dobranych krokach, które z czasem pozwolą Ci osiągnąć daną umiejętność.

Smutna prawda jest jednak taka, że prawdopodobnie uczysz się nieefektywnie, przynajmniej częściowo.

Efektywna nauka nie jest łatwa, dlatego też często wybieramy tę łatwiejszą drogę. W efekcie tracimy swój cenny czas, osiągamy gorsze wyniki i brak nam motywacji. Oto kilka typowych błędów w nauce, które wszyscy popełniamy i wskazówki, dzięki którym będziesz uczył się efektywniej.

Brak planu

Nie da się osiągnąć żadnego sensownego celu bez planu działania. Musisz wiedzieć, jakie umiejętności są wymagane i jak możesz je zdobyć. W przeciwnym razie będziesz przeskakiwał od jednej pozornie ekscytującej rzeczy do drugiej.

Jak stworzyć taki plan? Zacznij od przeczytania lub obejrzenia kilku poradników z danej dziedziny. Np. jeśli chcesz się nauczyć front-end developmentu, przeczytaj jakieś poradniki na ten temat. Nie wymaga to wiele czasu. Szybko zauważysz, że wszyscy udzielają prawie tych samych rad. Musisz nauczyć się rzeczy w tej kolejności — HTML, CSS, JavaScript, jakiegoś frameworka JavaScript.

Teraz jesteś gotowy, aby zrobić kilka planów. Twoim celem jest wyznaczenie konkretnych i realistycznych celów. Zignoruj wszystko oprócz kroku, który właśnie zamierzasz wykonać. Skup się na HTML i zdecyduj, ile czasu chcesz mu poświęcić. Będzie to tylko przybliżone przypuszczenie, ponieważ nie wiesz jeszcze, jak skomplikowany jest materiał. Ustalamy tylko podstawowe zasady.

Załóżmy, że zdecydowałeś się poświęcić godzinę dziennie przez dwa tygodnie na naukę HTML, a Twoim celem jest stworzenie dobrze skonstruowanej strony internetowej. To naprawdę świetny plan i jesteś gotowy, aby rozpocząć naukę. Jeśli po tygodniu uznasz, że wiesz wystarczająco dużo, dostosuj swój harmonogram i przejdź do CSS. Tutaj podobnie, jeśli po dwóch tygodniach nie czujesz się jeszcze komfortowo, nic nie szkodzi. Dopasuj odpowiednio strategię do siebie.

Zawsze rób to krok po kroku i twórz szczegółowy plan na następny tydzień lub dwa, i pamiętaj, aby patrzeć z lotu ptaka na swój ostateczny cel.

Brak regularności

Na nic praktyka, jeśli nie ćwiczysz regularnie. Wiele osób chce się nauczyć kodować, ale mówią, że mają tylko co drugi weekend do dyspozycji. Myślą sobie coś w stylu „Poświęcę dwa pełne dni na naukę, tak aby było to 16 godzin nauki, czyli średnio ponad godzinę dziennie”.

Nauka nie działa jednak w taki sposób. W dniach pomiędzy praktyką zapomnisz już o wszystkim. Co więcej, nie da się efektywnie uczyć przez wiele godzin bez przerwy. Będziesz zbyt zmęczony, aby wykorzystać to, co znajduje się w materiałach. Istnieją również dowody na to, że sen pomaga w utrwalaniu nauki. Nie chcesz stracić tej przewagi, dlatego powinieneś uczyć się codziennie, ale też często odpoczywać.

Podsumowując, bardziej efektywne jest uczenie się godzinę dziennie niż siedem godzin raz w tygodniu. Oczywiście jeśli masz więcej wolnego czasu w weekendy, wykorzystaj go. W każdym razie postaraj się poświęcić trochę czasu na naukę każdego dnia, nawet jeśli w niektóre dni będzie to tylko 15 minut.

Brak koncentracji

Brak koncentracji to grzech nr 1 na mojej liście grzechów. Kiedy uczyłem się programować po raz pierwszy, często spędzałem do pięciu-sześciu godzin dziennie na nauce. Oglądałem bardzo dużo tutoriali. Po kilku dniach nic nie pamiętałem, ale czułem, że włożyłem w naukę dużo wysiłku.

Dlaczego moja nauka nie była efektywna? Ponieważ nie byłem skoncentrowany. Wielokrotnie oglądałam tutoriale podczas gotowania lub przewijania Facebooka. Innym razem byłem tak skupiony na przepisywaniu kodu, że nie skupiałem się na prezentowanych koncepcjach czy celach kursu. Wielu instruktorów tylko pogarszało sprawę, zachęcając mnie do kodowania razem z nimi. To fatalna rada, bo większość z nas nie potrafi robić dwóch rzeczy jednocześnie, więc kiedy piszemy na klawiaturze, nie myślimy.

Nie możesz się oszukiwać. Czas, który poświęcasz na naukę, powinien być przeznaczony wyłącznie na naukę.

Zamknij wszystkie niepotrzebne zakładki w przeglądarce, wyłącz wszystkie powiadomienia, zostaw telefon w drugim pokoju. Skup się wyłącznie na wykonywanym zadaniu. Jeśli oglądasz filmik instruktażowy, nie koduj w tym samym czasie. Obejrzyj go, spróbuj zrozumieć, a następnie spróbuj zakodować samodzielnie. Jeśli nie potrafisz czegoś zrobić, spróbuj to wygooglować. W ostateczności rozważ powrót do filmu.

Kiedy czytasz tutorial, nie kopiuj i nie wklejaj kodu. Postaraj się wszystko zrozumieć i samemu stworzyć kod. Im bardziej jesteś skupiony i pracujesz na własną rękę, tym szybszy będzie Twój postęp.

Jeśli to tylko możliwe, staraj się budować rzeczy samodzielnie. Same tutoriale nie zaprowadzą Cię zbyt daleko. Prawdziwa nauka zaczyna się dopiero wtedy, kiedy zostajesz z kodem sam na sam.

Brak feedbacku

Aby skutecznie się uczyć, musimy wiedzieć, czy robimy postępy. Potrzebujemy informacji zwrotnej — ktoś lub coś mówi nam, czy to, co robimy, jest dobre. W ten sposób możemy budować dobre nawyki i tym samym się doskonalić.

Jako programiści jesteśmy w komfortowej sytuacji. Zazwyczaj wiemy, że popełniliśmy błąd, ponieważ kod nie działa zgodnie z oczekiwaniami. Dzięki temu możemy korzystać z szybkich pętli informacji zwrotnych i uczyć się na błędach. Kiedy jednak zdobędziemy trochę doświadczenia, zdajemy sobie sprawę, że działający kod to za mało. Powinniśmy zadbać o czytelność kodu, łatwość utrzymania, wydajność, przypadki brzegowe, itp.

Jak możemy uzyskać informacje zwrotne na ten temat? Możemy poszukać kogoś, kto mógłby wykonać review naszego kodu. Być może znasz jakichś doświadczonych programistów, którzy mogą pomóc. Czasami eksperci oferują review kodu za darmo na Twitterze lub innych platformach mediów społecznościowych. Możesz też poszukać grup programistycznych i tam prezentować swój kod. Możesz znaleźć wiele osób, które chętnie udzielą Ci feedbacku.

Nie bój się oceny. Zamiast tego postaraj się uzyskać taką informację zwrotną. Wiem, że ostra krytyka boli, ale postaraj się nie brać jej do siebie. Traktuj uwagi jako świetny sposób na osobisty rozwój.

Możesz uzyskać informację zwrotną w pośredni sposób. Kiedy rozwiązujesz zagadki algorytmiczne na stronach takich jak HackerRank czy Codewars, spójrz na rozwiązania innych osób. Przeanalizuj, jak podchodzili do problemów i w jaki sposób Twój kod wyróżnia się wśród innych. Możesz również spróbować zaimplementować kilka popularnych bibliotek po swojemu. Później porównaj swój kod z kodem biblioteki. Obserwowanie, jak dobrzy programiści rozwiązują problemy, które sam próbowałeś rozwiązać, jest zabawnym i efektywnym sposobem nauki.

Brak wyzwań

Rozwijasz się, kiedy walczysz. Na samym początku, kiedy uczysz się kodować, wszystko jest trudne i skomplikowane. Po kilku tygodniach nauki niektóre rzeczy staną się dla Ciebie banalne. A wtedy musisz uważać, żeby nie popaść w samozadowolenie.

Będzie Cię kusiło, by oglądać tutoriale na ten sam temat lub wykonywać łatwe, powtarzalne zadania. Założę się, że znajdziesz nawet kilka wymówek, takich jak: „Ten inny tutorial da mi inne spojrzenie na problem”. To jednak mało prawdopodobne. Zazwyczaj nie potrzebujesz innej perspektywy. To, czego potrzebujesz, to przekucie teorii w praktykę.

Musisz wyrobić w sobie nawyk stawiania sobie wyzwań. Wiem, jak trudno robić to wobec samego siebie. Kiedy ja się uczyłem, często godzinami oglądałem tutoriale, w których znałem 95% pokazywanych rzeczy. Była to tylko strata mojego czasu i dało mi to fałszywe poczucie osiągnięcia.

Można powiedzieć, że nie robienie niczego jest lepsze niż robienie czegoś. I zazwyczaj tak właśnie jest. Jednak ponowne oglądanie rzeczy, które już znasz, nie liczy się jako robienie czegoś. Już lepiej pójść na spacer. Odpoczynek jest korzystniejszy dla jakości uczenia się niż powtarzanie w kółko tych samych prostych rzeczy.

Innym sposobem ucieczki od wyzwań jest skupianie się na łatwych elementach zadania. Jeśli próbujesz nauczyć się JavaScript poprzez tworzenie aplikacji, nie spędzaj godzin na dopieszczaniu CSS. Po prostu użyj jakiegoś frameworka CSS i motywuj się do nauki trudniejszych elementów.


Oryginał tekstu w języku angielskim przeczytasz tutaj.

<p>Loading...</p>