Jak się szybciej uczyć – krótki superporadnik samouka

Zadzwonił do mnie znajomy z pytaniem, w jaki sposób zdobywam nowe umiejętności. Spędziliśmy razem miłą godzinę, dyskutując o metodach nauki, co zainspirowało mnie do podzielenia się z Tobą moimi doświadczeniami. Temat ten fascynuje mnie od dawna i mam nadzieję, że moje przemyślenia będą dla Ciebie wartościowe.

W tym artykule przedstawię szereg strategii na efektywną naukę, które osobiście wypróbowałem. Chociaż wiele przykładów będzie związanych z branżą IT, nie musisz posiadać specjalistycznej wiedzy technicznej, aby z nich skorzystać. Starałem się przedstawić uniwersalne zasady, które mogą być zastosowane w różnych dziedzinach.

Zaczynajmy….

Nauka to nie tylko wiedza, to również ciężka praca i zabawa.

Ścieżka programisty – krew, pot i łzy

Obecnie trudno znaleźć umiejętność, która byłaby równocześnie tak łatwo dostępna i jednocześnie tak wymagająca, jak programowanie."

Dlaczego jest to łatwe? Rynek edukacyjny oferuje obecnie ogromny wybór szkół programowania, liczne książki oraz szeroki wachlarz kursów, zarówno płatnych, jak i darmowych.
Dlaczego jest to trudne? Nauka języka programowania to jedynie czubek góry lodowej umiejętności, jakie trzeba posiąść. Do tego dochodzi wiedza, jak działają frameworki, systemy operacyjne, architektura oprogramowania i masa bardzo frustrujących problemów z narzędziami, które blokują prace. Nieraz trafiałem na problemy, których rozwiązań nie było w internecie i spędzałem tygodnie na szukaniu rozwiązań.

Jak zaczynałem się uczyć programowania, czyli jakoś 2004 (miałem 14 lat), to nie miałem dostępu do Internetu w domu. Mój dostęp do internetu ograniczał się do ciemnych, zadymionych kafejek internetowych oraz lekcji informatyki.. Nie było też wtedy kursów online, sandboxów online do eksperymentowania, webinarów, Youtube. Jedynie artykuły, ziny, nagrania takiej jakości, jakby były nagrywane ziemniakiem, które pobierałem na dyskietki, z których zazwyczaj połowa nie działała w domu ;P Głównie uczyłem się programowania z książek, czytałem rozdział, przepisywałem kod i bawiłem się nim. Jakoś to działało, bo zdobywałem sporo umiejętności z czasem, jedynie brakowało feedbacku od społeczności/nauczyciela. Później natrafiłem na świetnego nauczyciela informatyki w liceum, startowałem w konkursach programowania i kilkanaście lat później, głównie dzięki swojej regularnej pracy, znalazłem się w branży IT i pracuję w fajnym projekcie dla Cisco. Udało mi się opanować programowanie bez konieczności spędzania pięciu lat na studiach.
Jak zaczynałem się uczyć programowania, czyli jakoś 2004 (miałem 14 lat), to nie miałem dostępu do internetu w domu. Mój dostęp do internetu ograniczał się do ciemnych, zadymionych kafejek internetowych oraz lekcji informatyki.. Nie było też wtedy kursów online, sandboxów online do eksperymentowania, webinarów, YT. Jedynie artykuły, ziny, nagrania nagrywane ziemniakiem, które pobierałem na dyskietki, z których zazwyczaj połowa nie działała w domu ;P Głównie uczyłem się programowania z książek, czytałem rozdział, przepisywałem kod i bawiłem się nim. Jakoś to działało, bo zdobywałem sporo umiejętności z czasem, jedynie brakowało feedbacku od społeczności/nauczyciela. Później natrafiłem na świetnego nauczyciela informatyki w liceum, startowałem w konkursach programowania i kilkanaście lat później, głównie dzięki swojej regularnej pracy, znalazłem się w branży IT i pracuję w fajnym projekcie dla Cisco. Udało mi się opanować programowanie bez konieczności spędzania pięciu lat na studiach.

Z perspektywy czasu, może studia by pomogły w karierze… nie jestem tego w stanie stwierdzić. Z mojego doświadczenia akademickiego mogę stwierdzić, że jest to mało efektywny sposób nauki konkretnych umiejętności – szczególnie praktycznych.

Za dużo, nie wiem za co się wziąć…

Dzisiaj mamy dostęp do niezliczonych kursów, zarówno płatnych, jak i darmowych, mnóstwa doskonałych artykułów oraz różnorodnych materiałów wideo na YouTube. Szkolenia online, stacjonarne. Problemem nie jest dostępność, a wybór odpowiedniej drogi i podążanie nią. W poście opisuję, w jaki sposób ja się uczę, co działa u mnie.

Jaki jest twój 🎯 ?

Na początatku musisz określić, co dokładnie chcesz osiągnąć i na jakim poziomie. Inaczej będzie wyglądać ścieżka do poziomu "wiem, o co chodzi, gdzie tego szukać", niż do "mam ponadprzeciętne wyniki, jestem ekspertem, uczę innych".

Załóżmy, że chcesz zostać programistą(-ką) – cel bardzo ogólny. Przeczytałeś(-aś) artykuły, że to praca przyszłości, dostajesz 10 tysięcy na start, owocowe czwartki, pasztetowe piątki, młode i dynamiczne zespoły. Brzmi super i chcesz zmienić swoją branżę…

Jaki jest konkretnie Twój cel? Skonkretyzuj, rozbij na czynniki pierwsze. Temu może pomóc analiza SMART. czy podobna np. 6W.

Jakiego rodzaju programistą(-ką) chcesz zostać?

Najpierw szukałbym informacji o samej pracy programisty. Na czym polega, jakie są wymagania na rynku, co trzeba poznać.

Powiedzmy, że z researchu wyszło kilka rzeczy.
Jest kilka głównych specjalności, jak:

  • backend,
  • frontend,
  • fullstack,
  • aplikacje mobilne.

Dodatkowo każdą z tych specjalności można wykonywać z użyciem innych narzędzi.

Co dalej? Skąd masz wiedzieć, którą specjalność wybrać?

Każda ścieżka wymaga innego podejścia, poznania innych umiejętności. Chociaż pewne meta-zdolności są przenoszalne, tzn. poznając jeden język programowania, będzie dużo łatwiej zrozumieć inny. Podobnie jest z jazdą na deskorolce, snowboardzie, surfingu. Rozumiejąc sposób jazdy na jednej desce, będzie dużo łatwiej ogarnąć inną – zasady balansu są podobne, trzeba zrelaksować odpowiednio ciało, patrzeć przed siebie, itd. Czy ucząc się hiszpańskiego, będziemy w stanie zrozumieć podobne języki, jak włoski, czy portugalski.

Jaki poziom umiejętności chcę osiągnąć?

Jaki poziom biegłości w danej umiejętności potrzebujesz? Inaczej będziesz mógł(-a) się przygotowywać do poziomu mistrza świata, a inaczej do poczucia "ogarniam". Jaki poziom będzie dla ciebie wystarczający? Warto to sobie określić, aby utrzymać wysoki poziom motywacji. Zbyt duży i ambitny cel może łatwo cię wypalić, a zbyt błachy nie będzie odpowiednio kręcący.

Bracia Dreyfus zdefiniowali 5 podstawowych poziomów kompetencji.

  1. Nowicjusz
  2. Zaawansowany początkujący
  3. Kompetentny
  4. Biegły
  5. Ekspert

Każdy z tych poziomów można dalej sprecyzować, co on oznacza dla Ciebie. W zależności od danej umiejętności poziom mistrza będzie raz prosty do osiągnięcia w ciągu kilku lat, a innym przypadku może zająć kilkadziesiąt lat.

Dodatkowo, kiedy i jak poznasz, że osiągnąłeś(-aś) swój celowy poziom?

Dam przykład ze świata sztuk walki, ostatniozacząłem trenować brazylijskie jiu-jitsu. Dowiedziałem się, że w niektórych klubach jak i trenerzy przyznają kolejne pasy inaczej. Niektórzy co kilka miesięcy, a czasem potrzeba kilku lat regularnych treningów pomiędzy promocjami. Poziom np. purpurowych pasów (środkowe) w jednym klubie będzie równy brązowych (przed czarnym) w drugim klubie.

W świecie programistów można podać np. takie definicje poziomów:

Poziom Opis
1. Nowicjusz Nowicjusz ma niewielkie lub żadne doświadczenie w programowaniu. Potrzebuje szczegółowych instrukcji do każdego kroku zadania, takich jak pisanie prostego kodu HTML czy obsługa zmiennych w Pythonie. Nie jest w stanie samodzielnie rozwiązywać problemów i wymaga ciągłego nadzoru.
2. Zaawansowany początkujący Zaawansowany początkujący rozumie podstawowe konteksty i może zastosować poznane zasady w nowych sytuacjach, takich jak korzystanie z pętli lub funkcji w nowych programach. Potrafi rozwiązywać proste problemy, takie jak debugowanie kodu lub korzystanie z kontrolnych instrukcji warunkowych, ale nadal potrzebuje wsparcia i wskazówek.
3. Kompetentny Kompetentny programista potrafi samodzielnie planować i realizować zadania, jak na przykład projektowanie i implementacja nowych funkcji w aplikacji lub zarządzanie bazami danych. Rozumie kontekst pracy i potrafi wybierać odpowiednie narzędzia i metody do rozwiązania problemów. Może mentorować nowicjuszy i radzić sobie z bardziej złożonymi problemami, takimi jak integracja różnych systemów czy optymalizacja wydajności.
4. Biegły Biegły programista podejmuje decyzje intuicyjnie, opierając się na szerokim doświadczeniu. Potrafi analizować i oceniać różne aspekty projektu, takie jak architektura oprogramowania czy możliwości optymalizacji kodu. Jest w stanie przewidywać problemy techniczne i dostosowywać swoje podejście do zmieniającego się kontekstu projektu.
5. Ekspert Ekspert posiada głębokie i intuicyjne zrozumienie programowania i nowych technologii. Potrafi rozwiązywać najbardziej złożone problemy, takie jak tworzenie skalowalnych rozwiązań chmurowych czy rozwijanie zaawansowanych algorytmów sztucznej inteligencji. Jest liderem w swojej dziedzinie, często występuje jako kluczowy mówca na konferencjach branżowych i mentoruje innych programistów.

Kiedy

Dalej… Do kiedy chcę osiągnąć swój cel? Po czym poznam, że go osiągnąłem(-am)?
Co do tego momentu chcę opanować? Jak będę mierzyć swoje postępy?

Można np. wyznaczyć, że w pół roku chcę napisać todolist aplikację na Androida

W tym etapie szukałbym w internecie haseł w stylu "developer roadmap" np. https://roadmap.sh/

Motywacja

Jak myślisz, jakie uczucia towarzyszyć Ci będą po osiągnięciu celu? W jaki sposób realizacja tego celu wpłynie na Twoje życie oraz życie innych?

Co stanowi dla mnie nagrodę? W jaki sposób się motywuję?

Odpowiedzi na pytania pomogą Ci w uświadomieniu swoich motywacji – tego, co emocjonalnie pcha cię do przodu i pomoże ci w trudnych momentach. Nie piszę o łatwych, przyjemnych chwilach, bo wtedy nauka sama leci, jest to czysta przyjemność. Najciekawiej jest, jak osiągniemy dołek, pojawiają się trudności, frustracja narasta.

Efekt plateau:

A propos osiągania postępów myślę, że ważne jest zrozumienie, że prędziej czy później pojawi się efekt plateau.

Platea effect
źródło: https://www.betteratenglish.com/break-intermediate-english-plateau

Efekt plateau w kontekście nauki nowych umiejętności odnosi się do okresu, w którym postęp wydaje się zatrzymać mimo kontynuacji wysiłków w nauce. Jest to naturalna i często nieunikniona faza w procesie zdobywania umiejętności, kiedy początkowy szybki postęp ustępuje miejsca wolniejszemu tempu rozwoju. Nie kończy się on jednak; po pewnym czasie i wysiłku można dalej robić większe skoki w postępie. Wymagają one jednak większego wysiłku.

Ten etap można potraktować jako czas na integrację nowych umiejętności i wiedzy. Postęp nie jest tak szybki jak wcześniej. Za to działa jakby pod powierzchnią, trochę jak bambus, który potrzebuje kilku lat na zakorzenienie, wtedy jest w stanie rosnąć w sposób spektakularny – nawet 1 m na dobę.

Eksperymentuj

Załóżmy do tego momentu, że mniej więcej wiesz, co chcesz osiągnąć i kiedy. Teraz pojawia się jeden problem. Możesz nie wiedzieć, czy wybrana ścieżka jest dla ciebie. Może się okazać, że szybko się zniechęcisz programowaniem aplikacji mobilnych, ale lubisz robić stronki www.

Na początku polecam mocne eksperymentowanie i spróbowanie kilku ścieżek po tzw. łebkach.

Na przykładzie nauki programowania to możesz poszukać pierwszego lepszego tutoriala np. "how to make a todo application", cokolwiek, aby móc zapoznać się. Dla nauki języków to pobranie apki np. Duolingo, odpalenie kilku nagrań na YT z podstaw np. hiszpańskiego. Jeśli na początku czujesz niepewność, zagubienie to idź dalej – to w pełni naturalny proces.

Na początku najlepiej znaleźć nauczyciela/mentora, który ci pokaże co i jak, wytłumaczy, odpowie na pytania. Poprowadzi cię przez pierwsze często frustrujące etapy nauki np. programowania.

Na moim ostatnim przykładzie

Jestem samoukiem. Lubię ludzi, którzy są samoukami. Są oryginalni. Graham Masterton

Moją sportową pasją są sztuki walki. Kilka lat temu trenowałem SPAS, który jest rosyjską wersją krav-magi (samobrona) z elementami stójki (kickboxing, box), walki nożem, czy grapplingu (walka w parterze).

Grappling sprawiał mi wiele problemów, bo brakowało mi techniki i intuicji w ciele, niemal zawsze byłem poddawany przez np. duszenie, czy dźwignie. Moją przygodę z tym sportem przerwał covid. Byłem na poziomie 1, może ledwo 2 na szynach.

Mocno mi brakowało sztuk walki i kilka miesięcy temu postanowiłem wrócić do sztuk walki. Pomyślałem, że warto się skupić na parterze, bo sprawiał mi najwięcej problemów. Ambicja odpalona 😉 Walka w stójce mocno mnie (muay-thai) kusiła, bo znałem temat i sobie radziłem, ale zdecydowałem się na brazylijskie jiu-jitsu. Mój trener od siłowni – Rafał Hryniewicki jest wielkim pasjonatem BJJ i dał mi kilka lekcji, abym mógł się zajarać 😉

No i się zajarałem. Zanim zacząłem grupowe treningi, gdzie na bank miałbym spore trudności, zainwestowałem w personalne treningi no-gi, czyli bez kimona. Dlaczego bez kimona? Walka w stroju wprowadza dodatkowe elementy w walce, więc komplikacje. Od jakoś marca 2 x w tygodniu trenujemy, robimy podstawy, tłumaczy mi krok po kroku zasady ruchu w praktyce. Od niedawna poczułem, że jestem gotowy pójść na grupę. I było całkiem spoko. Nadal stosunkowo rzadko udaje mi się kogoś początkującego poddać w walce, ale przynajmniej rozumiem, co robię dobrze i co jest do poprawy. Nadal mam indywidualne zajęcia, na nich omawiam co się nauczyłem na grupowych, mogę poprawiać elementy, które mi nie wychodziły na grupowych. Wydaje mi się, że to jest bardzo efektywna forma nauki. Na grupowych zajęciach mogę się sprawdzać w walce, a na personalnych poprawiać się. I tu bardzo polecam Damiana z klubu Copacabana w Warszawie.

Metody szybkiej nauki

Metoda DSSS

Metoda DSSS (Deconstruction, Selection, Sequencing, Stakes), opracowana przez Tima Ferrissa, jest moim podejściem do nauki i osiągania mistrzostwa w różnych dziedzinach w krótkim czasie.

Deconstruction – dekonstrukcja
Pierwszym krokiem w tej metodzie jest "Deconstruction" (Dekonstrukcja), która polega na rozbiciu umiejętności na najmniejsze możliwe komponenty. Ferriss podkreśla, że kluczowym elementem jest zidentyfikowanie i skupienie się na tych częściach umiejętności, które dają największe rezultaty

Selection – selekcja:
Drugi etap, "Selection" (Selekcja), wymaga wybrania tych elementów nauki, które są najbardziej efektywne w osiąganiu szybkich rezultatów. Ferriss sugeruje, że należy skoncentrować się na 20% narzędzi lub technik, które przynoszą 80% pożądanych efektów, co jest zgodne z zasadą Pareto

Sequencing – sekwencjowanie:
Trzeci krok, "Sequencing" (Sekwencjonowanie), dotyczy optymalnego ułożenia kolejności nauki wybranych komponentów. Ferriss argumentuje, że właściwa kolejność może znacząco przyspieszyć proces nauki, a niewłaściwe sekwencjonowanie może prowadzić do frustracji i zniechęcenia

Stakes – stawka
Czwarty element metody DSSS, "Stakes" (Stawki), odnosi się do wprowadzenia konsekwencji za niewykonanie zaplanowanych działań. Ferriss zaleca ustalenie stawek, które motywują do działania, na przykład poprzez publiczne zobowiązania lub umowy z przyjaciółmi, które zwiększają odpowiedzialność za realizację celów

Kluczowe jest tutaj zrozumienie, że skuteczność metody leży w jej zdolności do dekonstrukcji umiejętności, inteligentnego wyboru najważniejszych elementów, odpowiedniego planowania kolejności nauki oraz wprowadzenia motywujących stawek. Dzięki temu podejściu, nawet skomplikowane umiejętności mogą być opanowane w sposób szybki i efektywny.

Przydatne pytania i strategie do metody DSSS

  1. Dekonstrukcja: Można zdefiniować najmniejsze jednostki przyswajalnej wiedzy, od których warto zacząć?
  2. Selekcja: 20 % wiedzy, działań -> 80% rezultatów
  3. Sekwencja: W jakiej kolejności powinienem przyswajać sobie poszczególne elementy?
  4. Stawka: Jaką określić stawkę, aby stanowiła gwarancję realizacji programu? Jakie przyjąć realne zagrożenia?
  5. Kompresja: 20% w łatwo przyswajalnej wiedzy w postaci 1 kartki?
  6. Częstotliwość: Jak często powinienem ćwiczyć? Czy da się skompresować materiał i jak wówczas należy zaplanować naukę? Co może mi najbardziej dokuczać?Ile wynosi minimalna skuteczna dawka?
  7. Kodowanie: Jak powiązać nowy materiał z tym, co już wiem, aby łatwiej go zapamiętać?

Tim Ferris w swoim show "Tim Ferris Experiments" dekonstruuje w każdym odcinku jedną umiejętność:
Mocno polecam – jako praktyczne zastosowanie jego metody i inspiracje.
https://www.youtube.com/playlist?list=PLuu6fDad2eJwnly_hEdir9biYcpG_MKMd

Inne tipy

  • Zainwestuj w indywidualne lekcje > grupowe
  • Zdobywanie umiejętności to nawyk i potrzeba dyscypliny do osiągania wyników. W temacie, polecam artykuł na moim blogu o budowaniu skutecznych nawyków
  • Szukając źródeł wiedzy w internecie wykorzystaj Reddita, Youtube. Jest tam masa tutoriali, tipsów.
  • Repozytoria githuba z tagiem #awesome są świetnym źródłem linków do wartościowych materiałów:https://github.com/sindresorhus/awesome
  • Do zbierania linków na poźniej wykorzystaj aplikacje jak Readwise, GetPocket, Instaper – da ci to poczucie uporządkowania.
  • Ucz innych, tego czego sam(-a) się uczysz. To najskuteczniejsza metoda nauki, bo pomaga Ci usystematyzować wiedzę. Dostaniesz pytania, przez co poznasz lepiej swoje braki w doświadczeniu i wiedzy. Nie musisz czekać, aż będziesz doskonały(-a), można to robić na każdym etapie. Możesz na przykład prowadzić bloga/wideo-bloga gdzie opisujesz swój proces i tłumaczysz kolejne zagadnienia, które poznajesz.
  • Polecam bardzo książki "Art of Learning", "Zostań ultrasamoukiem. Jak mistrzowsko opanować twarde umiejętności w zadziwiająco krótkim czasie" – najlepsze pozycje, jakie czytałem o metodach nauki.
  • Jeśli masz możliwość, zanurz się w uczenie się jak najmocniej możesz. Chcesz się nauczyć niemieckiego, wyjedź do Niemiec i posługuj się wyłącznie niemieckim, unikaj używania polskiego. Im trudniej, tym lepiej 😉
  • Testuj różne metody. Niektórzy są bardzo efektywni z fiszkami, niektórym one po prostu nie wchodzą. Aplikacje do nauki języków, jak Duolingo, mogą załapać idealnie, po kilku latach mi się Duolingo znudziło.
  • Nie kupuj od razu wszystkich książek, kursów, narzędzi, jak leci. Jeśli się uczysz manualnych czynności np. stolarki. Zacznij od minimalnej ilości materiałów, narzędzi. Z czasem, jak poczujesz, że nie wystarcza to, zainwestuj.

Kończymy…

Nie jestem w stanie w pełni opisać całego zagadnienia. Chętnie w bliskiej przyszłości rozszerzę temat, dam więcej przykładów, lepiej opiszę ciekawe strategie efektywnej nauki.

Nauka to ciągły proces. Jeśli przestajesz się uczyć, przestajesz rosnąć.

Pamiętasz, że dzielenie się wiedzą może pomóc umocnić Twoje własne zrozumienie tematu? 📚 Udostępnij ten poradnik na swoim profilu i zobacz, jakie inne fascynujące metody nauki mogą polecić Twoi znajomi! Jakie techniki nauki uważasz za najbardziej skuteczne?

Subscribe
Powiadom o
guest

0 komentarzy
Inline Feedbacks
View all comments