Praca w IT

5 narzędzi, które usprawnią Twoją naukę programowania

uczenie się programowania

Nauka programowania lub nowych technologii — chcesz zrobić to samodzielnie? Tak też da się osiągnąć cel! Trzeba jednak poświęcić więcej czasu i energii na przygotowanie ścieżki rozwoju oraz zgłębianie tematów, które czasem trudno rozgryźć bez czyjejś pomocy. Technologia idzie jednak do przodu (a i starsze rozwiązania nadal dobrze się sprawdzają). Zobaczmy, jak może nam to pomóc w nauce programowania!

Nauka programowania — po co Ci te narzędzia?

Oprócz argumentów, które znajdziesz poniżej, te uważam za najistotniejsze:

  • trzy narzędzia (Trello, Notion, ChatGPT) możesz wpisać do CV (są one bowiem nieraz wykorzystywane przez firmy),
  • jedno (timer Pomodoro) będziesz wykorzystywać już zawsze – nie tylko do nauki programowania, ale i w pracy,
  • ostatnie (Anki) pomoże Ci tę pracę zdobyć / zmienić na lepszą.

Trello – organizacja tematów i harmonogramu

Dlaczego warto mieć plan nauki programowania

Nie polecam zaczynać nauki bez stworzenia planu na dalsze działania. Oczywiście przerobienie jednego krótkiego kursu online jest OK, gdy chcesz sprawdzić, czy programowanie jest dla Ciebie, jeśli jednak planujesz np. się przebranżowić lub nauczyć nowej technologii, stwórz własną ścieżkę rozwoju.

Dlaczego? Oto kilka powodów:

  • Nie wytracasz pędu – o wiele bardziej motywujące jest przerabianie kolejnych tematów (wtedy widzisz wyraźnie, że robisz postępy) niż przerwy w nauce na poszukiwanie nowych źródeł wiedzy oraz ćwiczeń i projektów. To drugie może się skończyć frustracją: „Grzebię w sieci zamiast się uczyć. Stoję w miejscu, a czas goni!”.
  • Masz szansę zadbać o spójność materiałów – im mniej twórców, tym lepiej. Materiały przygotowane przez jedną osobę mogą stanowić gotową ścieżkę rozwoju. Oszczędzasz czas, bo nie musisz przeglądać i porównywać zakresu tematycznego materiałów oraz zapoznawać się z opiniami (ponieważ znasz już jakość pracy danego twórcy).
  • Idziesz do przodu, zamiast tkwić na zgłębianiu pobocznych tematów, bo trzymasz się harmonogramu. Dodatkowo widzisz swoje postępy: w końcu cały czas „odhaczasz” kolejne przerobione tematy.

Trello – jak zorganizować naukę programowania

Trello jest prostym w obsłudze narzędziem, które pozwoli Ci zgromadzić materiały i ustalić harmonogram działania. Jego kwintesencją są kolumny (czyli tzw. listy) i zamieszczane w nich karty – nasuwa to skojarzenia z tablicą Kanban.

Kolumny możesz zorganizować na co najmniej dwa sposoby:

  • zatytułować je nazwami kolejnych tygodni/miesięcy nauki,
  • zatytułować je nazwami modułów (zakresów tematów, które chcesz zgłębić, np. „Asynchroniczność w JavaScripcie”).

Wewnątrz kolumn umieść karty ze szczegółami – nazwami tematów do przerobienia. Każdą kartę możesz opatrzyć m.in. opisem, to-do listą oraz deadline’em. Dzięki temu od razu będziesz wiedzieć:

  • ile masz czasu na naukę danego tematu,
  • z jakich materiałów masz się uczyć,
  • jakie punkty tematyczne są „do zaliczenia” w obrębie tego zagadnienia (dobrze się tu sprawdzi to-do lista),
  • w jakich zadaniach / w jakim projekcie przećwiczyć zdobytą wiedzę.

Zaliczone karty (tematy, które masz już przerobione) możesz przenosić do specjalnej kolumny oznaczonej np. jako „Ukończone”. To świetna reprezentacja tego, co już za Tobą – przyda się jako zastrzyk motywacji w chwilach zwątpienia.

Trello i Google Calendar

Dzięki dodatkowi do Trello możesz zsynchronizować swoją tablicę z kalendarzem Google. Jeśli Twoje karty są opatrzone datą (deadline’em), to zostanie ona wyświetlona w kalendarzu. To dobry sposób na zwizualizowanie harmonogramu.

Notion – porządkowanie i gromadzenie materiałów

Notion jest trochę jak lista katalogów na Twoim komputerze – pozwala gromadzić notatki, systematyzować je i przeszukiwać. Jeżeli więc lubisz uczyć się przez notowanie lub chcesz mieć listy najważniejszych wniosków z danych lekcji (np. z kursów wideo), to jest to świetne miejsce.

Możesz utworzyć strukturę modułów i tematów identyczną z tą na Trello. Trzymanie uporządkowanych notatek w jednym miejscu umożliwi Ci szybki powrót do wybranych zagadnień i sprawne powtórki materiału.

Timer Pomodoro – efektywna nauka programowania

Timer Pomodoro to nie jest jedno konkretne narzędzie (choć akurat przykładowe podlinkowałem) – możesz znaleźć takie, którego interfejs najbardziej Ci odpowiada. Najważniejszy jest jednak zamysł:

  • uczysz się przez wybraną ilość czasu (np. 25 minut),
  • robisz sobie przerwę (np. 5 minut).

Oto zalety korzystania z Pomodoro:

  • Odbywasz kilka sesji, w których zachowujesz pełne skupienie (polecam więc nie zaglądać do telefonu czy zakładek z social mediami – najlepiej wszystko wyciszyć/wyłączyć).
  • Dajesz głowie odpocząć (w przerwie zrób parę ćwiczeń, przejdź się po szklankę wody itd. – dobrze jest zrobić coś zupełnie innego niż siedzenie przy komputerze). Dzięki temu popełniasz mniej błędów i utrwalasz materiał.
  • Kontrolujesz swoją produktywność – wiesz, ile czasu zajmuje Ci nauka programowania i nie możesz sobie zarzucić, że „nic dziś nie zrobiłeś”. To przydaje się zwłaszcza wtedy, gdy musimy walczyć z wewnętrznym krytykiem.

ChatGPT a nauka programowania – tłumaczenie trudnych zagadnień i code review

ChatGPT – jeśli tylko masz do niego dostęp, korzystaj! Oczywiście nie chodzi o to, żeby pisał on za Ciebie kod – w końcu masz nauczyć się tworzyć go samodzielnie.

ChatGPT częściowo jednak zastąpi Ci „znajomego programistę”, którego możesz poprosić o pomoc. Jest to duża oszczędność czasu – nie musisz pytać o dane zagadnienia na forach czy grupach na Facebooku (a dodatkowo jakość odpowiedzi tego narzędzia jest nieraz wyższa niż kogoś, kto na szybko napisał komentarz pod Twoim postem).

Podczas nauki programowania ChatGPT może pomóc Ci co najmniej w paru rzeczach:

  • wyjaśnić wyrażenia i koncepcje,
  • wytłumaczyć kod, którego nie rozumiesz,
  • pomóc znaleźć błąd w kodzie,
  • podpowiedzieć lepsze/alternatywne rozwiązanie i wyjaśnić, na czym polega zmiana,
  • zrobić code review (choć zawsze warto zachować czujność – to tylko narzędzie, któremu zdarza się „błędne rozumowanie”; nie wie też, że jesteś osobą początkującą, więc zaproponowane przez niego alternatywy kodu mogą wybiegać poza Twój aktualny zakres umiejętności).

W przypadku code review ChatGPT sprawdzi się przede wszystkim na początku nauki, gdy popełniamy podstawowe błędy. Wówczas możemy uzyskać na przykład takie podpowiedzi:

Naming conventions:

It’s a good practice to use meaningful and descriptive variable names that can make the code more readable and understandable. Instead of using names like a, b, num, res, res2, etc. try to use more descriptive names like base, exponent, multiplicationTable, result, etc. This can make the code more self-explanatory and easier to understand.

Variable declaration:

It’s a good practice to declare variables using let or const keyword before using them. In the given code, res and res2 are not declared with any keyword which can cause issues in some cases.

Error handling:

The given code does not handle cases where the user enters a non-numeric value in the prompts. It’s a good practice to handle such cases and provide appropriate error messages to the user.

Później, gdy tworzymy już bardziej skomplikowane rozwiązania, lepiej pytać ChatGPT o konkretne fragmenty kodu, co do których mamy wątpliwości. Jeśli więc wydaje nam się, że np. napisaliśmy zbyt długą funkcję, możemy poprosić o jej uproszczenie lub rozbicie na kilka mniejszych. Z tym ChatGPT powinien sobie poradzić.

Anki – utrwalanie wiedzy i przygotowanie do rekrutacji

Anki to narzędzie do fiszek (możesz znaleźć takie, które Ci najbardziej odpowiada lub tworzyć fiszki ręcznie). Taka metoda nauki zdaje się „staromodna”, lecz nadal jest skuteczna. Aby utrwalić wiedzę, trzeba nie tylko ją przyswoić, ale i kilkukrotnie odtworzyć.

Postaraj się w tym momencie wyjaśnić jakąś prostą koncepcję, np. co to jest console.log (może być coś innego, jeśli jeszcze nie uczyłeś się programowania).

Jak Ci poszło? Podejrzewam, że sporo się zastanawiałeś, „dukałeś” albo musiałeś poszukać czegoś w Google, aby upewnić się co do swojego sposobu rozumienia tematu.

Przed przystąpieniem do poszukiwania pracy warto więc stosować fiszki i odpowiadać na głos. Jeśli znasz kogoś na podobnym etapie nauki, możecie odpytywać się nawzajem. W ten sposób będziesz o wiele lepiej przygotowany do rozmowy technicznej!

To tylko pięć narzędzi, a jednak wydaje się, że przygotowanie własnej ścieżki rozwoju oraz sama nauka programowania to sporo zachodu. To prawda – na początku wypracowanie własnego systemu może zająć trochę czasu, ale za to później będziesz nie do zatrzymania. Powodzenia w nauce nowych technologii!

Zdjęcie główne pochodzi z unsplash.com

Programista i mentor w DevMentor.pl

Satysfakcji z nauczania doświadczył już w podstawówce, a do świata IT wszedł na stałe wraz z założeniem firmy programistycznej w okresie studiów. Po paru latach wykładania na bootcampie zmienił formę nauczania – wybrał mentoring jako najskuteczniejszy sposób przekazywania wiedzy. Tworzy podcast Pierwsze kroki w IT i prowadzi blog dla początkujących programistów. Prywatnie mąż, ojciec oraz miłośnik szachów, zdrowego stylu życia i górskich wypraw.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/nauka-programowania-5-narzedzi/" order_type="social" width="100%" count_of_comments="8" ]