Nauka programowania – jak się uczyć programowania, mimo braku czasu i motywacji

Nauka programowania czas

Czy Ty też nie masz czasu na naukę programowania? I mi się kiedyś tak wydawało…  Teraz jednak już wiem, w jak wielkim byłem błędzie.
Przed sobą masz materiał, w którym zdradzam moje sprawdzone sposoby na efektywną naukę programowania – każdego roku dzięki nim uczę się wielu nowych technologii i frameworków. Nie wierzysz? – przeczytaj i sam wypróbuj.

Spis treści

Nauka programowania – jak znaleźć na nią czas?

Prawda jest taka, że wszystko w życiu to kwestia  wyboru i to od nas zależy, na co poświęcimy swój czas, a z czego zrezygnujemy.

Niezależnie od tego, kim jesteś: studentem dopiero zaczynającym swoją naukę, prezydentem, czy może profesorem na emeryturze, doba dla każdego z nas trwa tyle samo – 24h i nie zmienisz tego.

Nauka programowania – streszczenie

TL;DR: Dla osób, które chcą uczyć się programowania – ale nie mają kiedy

Skoro mówimy o braku czasu i Ty właśnie należysz do osób, które nawet nie mają czasu, żeby przeczytać tekst o tym, jak poradzić sobie z brakiem czasu… To poniżej masz streszczenie najważniejszych informacji z tego wpisu:

  • znajdź swoją motywację – bez tego szybko odpuścisz, gdy tylko pojawią się pierwsze kłopoty;
  • poświęć chwilę na ułożenie planu – tak, żebyś wiedział, co dokładnie chcesz osiągnąć. Bez tego będziesz się rozpraszał i pracował nad rzeczami mało ważnymi;
  • skup się na celu – czasem kosztem innych, chwilowo mniej ważnych rzeczy;
  • dociskaj i szukaj każdej chwili wolnego czasu – mniej śpij, mniej pracuj, zrezygnuj z telewizji, z facebooka itp.
Witam Cię w kolejnym odcinku nowej serii na blogu #SprawnyProgramista.Żeby być na bieżąco i niczego nie stracić, zachęcam Cię do obserwowania poniższych kanałów. Znajdziesz tam informacje o nowych odcinkach.
  1. Subskrybuj kanał na YouTube ➡ https://stormit.pl/syoutube
  2. Polub fanpage ➡ https://stormit.pl/facebook
  3. Dołącz do newslettera ➡ https://stormit.pl/newsletter
Teraz zapraszam do czytania i oglądania. Pamiętaj, że kolejny odcinek już niedługo.

Nauka programowania – lista moich 12 sprawdzonych sposobów
na dodatkowy czas na naukę programowania

Poniższe sposoby wypróbowałem już wielokrotnie na sobie i zawsze byłem zadowolony z efektów. Faktem jest jednak to, że do wszystkiego trzeba podchodzić z głową i z umiarem. Nie staraj się teraz na siłę wprowadzać każdego z tych sposobów. Niektóre z nich sprawdzają się tylko doraźnie, a na dłuższą metę mogą być wyniszczające dla człowieka. Każdy też ma inne predyspozycje i preferencje. To, co dobrze sprawdzało się w moim przypadku, nie musi sprawdzić się u Ciebie. Dlatego czytaj, wybieraj i przede wszystkim samodzielnie podejmuj decyzje.

Sposób #1. Znajdź swoje dlaczego

Zacznij od tego prostego pytania:

Po co uczysz się programowania?

Zanim przejdziesz dalej KONIECZNIE odpowiedz sobie na to pytanie. Najlepiej, jeżeli zrobisz to na kartce. Weź zwykłą kartkę papieru i zapisz swoje motywacje.

Dlaczego to jest takie ważne?

Ponieważ programowanie nie jest łatwe! To nie jest coś, czego możesz nauczyć się w weekend w przerwie między jednym a drugim filmem. Jeżeli zdecydujesz się uczyć programowania, to gwarantuję Ci, że nie raz będziesz miał wątpliwości i nie raz będziesz chciał rzucić to wszystko w diabły i zająć się czymś innym, czymś dużo prostszym…

I właśnie po to jest Ci potrzebna ta kartka. W takich momentach będziesz mógł do niej wrócić  i przypomnieć sobie, po co to wszystko robisz.

Tak wygląda moja motywacja – teraz Twoja kolej.

Chcę się uczyć programowania, ponieważ:
  • lubię rozwiązywać problemy;
  • lubię wyzwania;
  • czerpię przyjemność z ciągłej nauki;
  • mam możliwość kontaktu z wieloma interesującymi osobami;
  • taka praca zapewnia godny byt mnie i mojej rodzinie.

Nie masz odpowiedniej motywacji?

Poważnie zastanów się nad tym, czy programowanie jest rzeczywiście dla Ciebie. Jest wiele różnych innych zawodów – może znajdziesz dla siebie coś lepszego.

Simon Sinek – dlaczego?

Simon Sinek – dlaczego? (Motywacja do nauki programowania)

Simon Sinek – dlaczego?

W tym miejscu po prostu nie można wspomnieć o słynnym wystąpieniu TED, które wygłosił Simon Sinek. Jeżeli jeszcze nie miałeś okazji go przesłuchać, to zdecydowanie warto. Simon mówi w nim między innymi o tym, jak ważne są nasze motywacje i dlaczego tylko nielicznym firmom i ludziom udaje się odnieść tak spektakularne sukcesy, jak Apple, czy Martin Luther King.

Większość ludzi i firm wie, co trzeba zrobić, niektórzy z nich nawet wiedzą jak to zrobić – jednak mało kto wie, dlaczego powinno się to robić.

Dlaczego

Dlaczego?

Natomiast jeżeli chciałbyś dowiedzieć się, co programowanie może Ci zaoferować, to przeczytaj poniższy wpis.

Czy warto uczyć się programowania?

Czy warto uczyć się programowania?

➡ ZOBACZ 👉: Czy warto być programistą?

Sposób #2. Ucz się rano

Lubisz sobie dłużej pospać?

Ja też 🙂 Ba, kto nie lubi?…

🦉 Sowa vs skowronek 🐦

Nauka programowania – sowa vs skowronek

Nauka programowania – sowa vs skowronek

Podobno ludzie dzielą się na:

  • 🦉 sowy, którym lepiej pracuje się wieczorami oraz w nocy i na
  • 🐦 skowronki, którym lepiej pracuje się rano.

Kim Ty jesteś?

Zaobserwowałem, że w moim przypadku zmieniało się to w czasie. Miałem okresy, gdzie pracowałem dosłownie całymi nocami i potrafiłem zachować świeżość umysłu na kolejny dzień. Najbardziej niezniszczalny pod tym względem czułem  się podczas studiów, niestety z biegiem czasu utraciłem tę zdolność. Teraz po takim maratonie zwyczajnie byłbym nieprzytomny, a czas, który chwilowo oszczędziłbym, pracując w nocy, straciłbym w kolejnych dniach z nawiązką.

Od momentu, gdy w moim życiu pojawiły się dzieci, nauczyłem się też doceniać i szanować przespane noce. Niewiele życiowych sytuacji tak zmienia perspektywę, jak pojawienie się potomstwa. Od tego momentu zwyczajnie wiedziałem, że jak nie wykorzystam chwili na odpoczynek w nocy, to nie będę miał kiedy tego odespać.

Choćbyś nie wiem, jak się starał, to nie wytłumaczysz niemowlakowi, że chcesz jeszcze chwilę pospać, bo miałeś ciężką noc i właściwie dopiero co się położyłeś…
Mam też wrażenie, że dzieci mają jakiś dodatkowy zmysł i w takich sytuacjach z nieznanych mi jeszcze powodów wstają zwyczajnie jeszcze wcześniej.

Miałem też okresy, że wstawałem o drugiej w nocy i uczyłem się do białego rana, by potem na chwilę się jeszcze zdrzemnąć. Akurat wtedy taki model najlepiej się u mnie sprawdzał.
Czasem to może być jedyna możliwość, gdy ma się inne zobowiązania, takie jak rodzina, studia, czy praca zawodowa.

Nawet jeżeli uważasz się za typową sowę, to zachęcam, żebyś przynajmniej spróbował pracy lub nauki rano.

⏩ Miracle morning

Niektóre osoby, w tym również ja, potrafią nawet doświadczyć tak zwanego fenomenu poranka.

Zwrot cudowny poranek lub fenomen poranka (ang. miracle morning) pochodzi z książki „Miracle Morning”, której autorem jest Hal Elrod.

Autor książki zwraca uwagę na to, jak dobrze odbyty poranek może wpłynąć na Twój cały dzień, a długofalowo nawet na całe Twoje życie. Z własnego doświadczenia wiem, jak dobry poranek może dać zastrzyk energii na cały, nawet bardzo trudny, dzień. Osobiście staram się planować na poranki trudne zadania, ale też takie, które sprawiają mi dużo przyjemności i dają satysfakcję – czyli np. pisanie artykułów na bloga lub naukę programowania.

Fenomen poranka - Hal Elrod

Fenomen poranka – Hal Elrod

➡ ZOBACZ 👉: Link do książki: Fenomen poranka – Hal Elrod

Jest to o tyle ważne, że zanim cały świat obudzi się do życia, czyli zanim pójdziesz do pracy, czy zanim obudzi się reszta Twojej rodziny, to Ty już masz zrobione coś dla siebie. Wiesz, że choćby nie wiadomo co miało się wydarzyć tego dnia, to Ty już to zrobiłeś.

Autor książki „Miracle morning” idzie nawet o krok dalej i sugeruje strukturę takiego idealnego poranka pod postacią akronimu:

Life S.A.V.E.R.S

co można przetłumaczyć jako „uratować życie.

Poszczególne litery można rozszyfrować jako:

  • cisza (ang. Silence) – modlitwa, medytacja itp.
  • afirmacja (ang. Affirmation) – przekonanie samego siebie w myślach, że to, co robisz, jest rzeczywiście tym, co chcesz robić i prowadzi Cię tam, gdzie chcesz;
  • wizualizacja (ang. Visualisation) – wyobrażenie sobie swojego sukcesu – tego, co chcemy osiągnąć oraz drogi, jaką do tego doszliśmy;
  • ćwiczenia (ang. Exercise) – poranne ćwiczenia, pompki, przysiady, siłownia, bieganie itp.
  • czytanie (ang. Read) – czytanie książek, artykułów itp.
  • pisanie (ang. Scribe) – prowadzenie dziennika, bloga itp.

Te rzeczy tylko z pozoru muszą zająć dużo czasu. To od Ciebie zależy, ile chcesz na nie przeznaczyć. Jeżeli danego dnia bardzo się spieszysz, to możesz wyrobić się dosłownie w 10-15 minut. Jeżeli jednak masz więcej czasu, to może to być godzina i więcej.

OK Nawet jeżeli będzie to tylko chwila, to właśnie spędziłeś tę chwilę na rozwoju siebie samego i jesteś o tę chwilę bliżej swojego celu.

Nie oszukujmy się jednak, że nagle uda Ci się wprowadzić wszystkie te zwyczaje równocześnie, a od jutra będziesz wstawał o 3:30 po to, by godzinę poćwiczyć na siłowni, przeczytać kilka rozdziałów książki, zrobić kilka zadań z programowania i jeszcze zdążyć na 7 do pracy 🙂
Najlepiej zacząć od czegoś małego. Może będą to poranne ćwiczenia, może czytanie, a może nauka programowania? 🙂

Sposób #3. Ucz się wieczorem

Nauka programowania wieczorem

Nauka programowania wieczorem

Nauka wieczorem z natury obarczona jest bardzo dużym ryzykiem. Czasem trzeba naprawdę ogromnego samozaparcia, by po ciężkim dniu jeszcze zmotywować się, czy wręcz zmusić do kolejnego wysiłku i chociaż przez chwilę popracować. W takich warunkach naprawdę trudno o produktywną naukę.

Czasem nauka wieczorami jest też zwyczajnie niemożliwa, gdy akurat trzeba zająć się innymi sprawami. Niestety po kilku takich nieudanych podejściach, człowiekowi zazwyczaj bardzo spada motywacja do dalszych prób. Między innymi właśnie dlatego jestem zwolennikiem pracy nad najważniejszymi dla nas tematami z samego rana.

Jeżeli jednak masz czas, siły i chęci, żeby dokształcać się wieczorami, to potencjalnie można tu zyskać bardzo dużo cennego czasu.

Gdy głowa nie chce już współpracować

Nauka programowania ból głowy

Nauka programowania ból głowy

Gdy jesteś naprawdę zmęczony, ale mimo wszystko chcesz zrobić coś produktywnego, warto rozważyć zmianę podejścia.

Jeżeli jestem w takiej sytuacji i widzę, że zwyczajnie nie mam już sił na bardziej wymagające zadania, to po prostu przełączam się na mniej angażujące zajęcia – takie jak czytanie, oglądanie tutoriali, czy inne domowe obowiązki.

Takie prace też są bardzo ważne. Nie tylko pozwalają czegoś się dowiedzieć, ale też uwalniają czas na przyszłość. Przez co później, gdy mamy więcej energii, można skupić się już tylko na tych bardziej wymagających pracach.

Nie zapominaj jednak, że każdemu należy się też przerwa. Czasem warto zwyczajnie odpuścić i odpocząć.
Jutro też jest dzień i może akurat uda Ci się wstać rano 🙂

Sposób #4. Zrezygnuj ze swojego wolnego czasu 💀☠

Niektóre rzeczy wymagają poświęceń – nikt nie mówił, że będzie łatwo.

Zrezygnowaliśmy już z wieczorów na rzecz nauki programowania, a co z weekendami? – a co z urlopem?…

Człowiek nie jest maszyną, żeby pracował 24h na dobę, siedem dni w tygodniu – nie możesz o tym zapomnieć – każdy ma swoje ograniczenia. Jeżeli jednak dalej szukasz możliwości, by jeszcze więcej czasu poświęcić na naukę, pomyśl o weekendach i przynajmniej częściowej rezygnacji z urlopu.

Nie uważam, żeby całkowita rezygnacja z wolnego czasu była dobrym pomysłem – można jednak trochę go zredukować. Przykładowo w sobotę i niedzielę można popracować do 12:00 lub zamiast dwutygodniowego urlopu, tydzień spędzić na nauce, a drugi tydzień na wymarzonym wolnym. Przez wiele lat nie miałem urlopów praktycznie wcale, dopiero teraz staram się nadrabiać zaległości – dlatego wiem, jak może być to trudne.

Przede wszystkim pamiętaj, by nie przesadzić. Wielokrotnie miałem okazję obserwować, jak zachowują się ludzie na kursach wieczorowych, czy weekendowych. Osiem godzin pracy plus dojazdy, wieczorem nauka programowania, niedospana noc, a w weekend kolejne zajęcia. Pierwsze tygodnie kursu zazwyczaj nie stanowią problemu, ale po około dwóch miesiącach takiej pracy, bez wieczorów, bez weekendów i czasu na odpoczynek większość osób jest tak zmęczona, że z trudem kojarzy nowe fakty.

Info Pamiętaj, nie tędy droga – wszystko z umiarem.

Sposób #5. Mniej pracuj

Nauka programowania – redukcja etatu

Nauka programowania – redukcja etatu

Jeżeli jeszcze nie pracujesz jako programista i uczysz się programowania, żeby zmienić branżę, to rozważ redukcję obecnego etatu – lub zamiast robić nadgodziny, przeznacz ten czas na doszkolenie się.

W życiu nie można mieć wszystkiego, a przynajmniej nie w tym samym momencie 🙂 – dlatego zazwyczaj trzeba z czegoś zrezygnować.

Nie każdy pracodawca zgodzi się na redukcję etatu np. do 4 dni w tygodniu lub 6–7 godzin dziennie, warto jednak spróbować i zwyczajnie go spytać.
Jeżeli nie, jednoznaczna redukcja etatu, to może urlop lub urlop bezpłatny? – możliwości jest naprawdę sporo. To w Twoim interesie leży, żeby to sprawdzić.

Programowanie jako inwestycja w przyszłość

Takie działania z pewnością chwilowo nie poprawią Twojej sytuacji finansowej, jednak programowanie można traktować jako inwestycję w swoją przyszłość. Przy odrobinie samozaparcia i szczęścia, taka decyzja może zwrócić się w przyszłości z nawiązką.

Sposób #6. Popraw swoją wydajność, czyli ucz się szybciej – lepsza organizacja nauki

Skoro skończyły nam się już sposoby na wyciśnięcie więcej czasu na naukę, to czas skupić się na tym, jak jeszcze efektywniej wykorzystać ten czas.

Jest wiele sposobów na poprawę swojej wydajności:

  • Technika Pomodoro;
  • praca w tematycznych blokach czasu;
  • praca głęboka;
  • nauka na kursach lub z mentorem itp.

Wszystkie one skupiają się na poprawie Twojej wydajności i lepszej organizacji czasu, który już posiadasz. Przyjrzyjmy się teraz bliżej kilku wybranych sposobom.

Sposób #7. Rob jedną rzecz jednocześnie – siła skupienia  🎯

Nauka programowania – siła skupienia

Nauka programowania – siła skupienia

Nasze mózgi można by porównać do jedno-rdzeniowych procesorów. Są tak skonstruowane, że najlepiej, najwydajniej radzą sobie z pracą nad jednym zadaniem w tym samym czasie. Nasz mózg podobnie jak tego typu procesory może co prawda emulować wielowątkowość, jednak jest to dla niego na tyle nienaturalne, że taka praca jest bardzo niewydajna. Żeby zmienić kontekst pracy, trzeba załadować wszystkie nowe informacje do pamięci podręcznej i tak za każdym razem przy przełączaniu się między zadaniami, czy wątkami.

Programistyczny FLOW

Słyszałeś kiedyś o takim pojęciu o jak programistyczny flow?

To prawie mityczny stan, w którym programista jest tak skupiony na swoim zadaniu, że cały świat przestaje dla niego istnieć. W głowie jest już ułożony plan rozwiązania problemu, zostało tylko przenieść pomysł na kod. W tym momencie dzwoni telefon lub ktoś wchodzi do pokoju, żeby spytać, czy nie idziesz na kawę… 🗣I wszystko przepadło 💥– nie możesz już przypomnieć sobie rozwiązania, a w głowie jest tylko jedna wielka pustka…

Ciągła zmiana kontekstu 📉

Nauka programowania zmiana kontekstu

Nauka programowania zmiana kontekstu

Nasz umysł potrzebuje chwili czasu, żeby nastawić się na realizację danego zadania. Potrzebujemy „złapać kontekst”, czyli przypomnieć sobie wszystkie poboczne zagadnienia. Dopiero wtedy możemy przejść do realizacji głównego zadania. Bez takiego rozruchu nie możemy zwyczajnie wydajnie pracować.

Właśnie dlatego, tak ważne jest, żeby nie skakać ciągle między różnymi zadaniami i skupić się na jednym, konkretnym celu. Poświęcić całą swoją uwagę na ten jeden temat, rozwiązać go i dopiero wtedy zająć się czymś innym.

Info Jeżeli w Twoim projekcie manager co chwilę wrzuca Ci jakieś dodatkowe zadania do realizacji „na szybko”, postaraj się z nim porozmawiać i wytłumaczyć, że zwyczajnie takie podejście ma swój koszt. Jeżeli natomiast sam planujesz sobie zadania, to warto pracować lub uczyć się w blokach tematycznych. Jeżeli mam jakieś mniejsze zadania np. odpisanie na kilka maili, to staram się to zrobić jednym ciągiem, tak by potem nie zaprzątało mi to już głowy.

Deep work 📈

Przeciwieństwem do ciągłej zmiany kontekstu jest tak zwana „praca głęboka”, czyli po angielsku deep work.

Ta koncepcja dosyć szczegółowo została opisana w książce Cal’a Newport’a o tym samym tytule: „Deep work”. Autor książki skupia się na założeniu, że praca głęboka – czyli praca w maksymalnym skupieniu jest swego rodzaju super mocą, która może pomóc w osiągnięciu przewagi nad innymi ludźmi.

To learn is an act of deep work
(Uczenie się jest czynnością wymagającą skupienia).
Cal Newport

Nie ulega wątpliwości, że do nauki potrzebne jest skupienie, a nauka nowych rzeczy jest nieodłącznym elementem pracy jako programista. W świecie IT, który tak często się zmienia, zdolność do opanowania skomplikowanych rzeczy w krótkim czasie jest po prostu nieoceniona.

Cal Newport pokusił się nawet o zapisanie tej koncepcji w formie wzoru:

High Quality Work Produced = (Time Spent) x (Intensity of Focus)
Praca Wysokiej Jakości = (Spędzony Czas) x (Intensywności Skupienia)

W skrócie możemy to odczytywać, że im uda nam się osiągnąć lepsze skupienie, tym zapewnimy sobie lepsze rezultaty nauki.

Tylko jak to osiągnąć? ❓❓❓

4 zasady, aby pracować w skupieniu – czyli, jak się skupić❓

Autor przygotował 4 zasady, które mają nam pomóc w osiągnięciu stanu skupienia.

✔ Zasada 1 – skup się na pracy

Powinniśmy tak zorganizować sobie pracę, by wspomagało to nasze skupienie. Można to zrobić np. przez wybór jednej z filozofii pracy i nauki opisanych w książce:

  • Monastyczna – cały Twój dostępny czas poświęcony jest realizacji danego zagadnienia. Jeżeli już zabierasz się za zadanie, to poświęcasz mu tyle czasu, ile będzie na to potrzeba – dzień, tydzień, miesiąc, a może rok. Dopiero po jego realizacji możesz zająć się czymś innym;
  • Bimodalna – podczas „normalnej”, codziennej pracy, co jakiś czas przeznaczasz jeden cały dzień na pracę w skupieniu nad wybranym zadaniem. Taki cykl powtarzasz co pewien czas, np. 2-3 dni w tygodniu przeznaczasz tylko na naukę programowania, a przez resztę czasu chodzisz normalnie do pracy lub na uczelnię;
  • Rytmiczna – każdego dnia przeznaczasz na pracę w skupieniu określony/wybrany czas np. codziennie rano godzina. Ważne jest to, żeby było to codziennie i o tej samej porze;
  • Dziennikarska – pracujesz nad swoim zadaniem/projektem w każdej wolnej chwili: czekając na spotkanie, w przerwie na obiad, rano, przed snem itp.
Nauka programowania – rytm

Nauka programowania – rytm

Rytm pracy i nauki

Pomocne może okazać się też wypracowanie rytuałów, czyli np.:

  • praca w tym samym miejscu;
  • o tej samej porze dnia;
  • oraz w analogicznych warunkach: muzyka, szklanka wody pod ręką itp.
Nauka jak biznes

Kolejną rzeczą, na którą autor zwraca uwagę, jest analogia nauki do prowadzenia biznesu. Według tej teorii powinniśmy:

  • skupić się na tym, co dla nas najważniejsze i co przynosi największy zysk;
  • mierzyć swoją efektywność i na podstawie tych pomiarów podejmować dalsze decyzje, na czym się skupić, a z czego zrezygnować;
  • zobowiązać się, że dowieziemy konkretny wynik – najlepiej, jeżeli będziemy mieli kogoś, kto później zweryfikuje, czy rzeczywiście to zrobiliśmy.
Bądź leniwy
Nauka programowania – nuda

Nauka programowania – nuda

Ostatnia rzecz, na którą warto zwrócić uwagę w tym punkcie to hasło: „Be lazy” – czyli bądź leniwy. Oczywiście chodzi o bycie leniwym w ten roztropny sposób – to właśnie podczas przerw w nauce najczęściej wpadamy na ciekawe pomysły, ponieważ mamy wtedy chwilę na zastanowienie się nad tym, co robimy.

Odpoczynek jest też niezbędny do późniejszej pracy w głębokim skupieniu. Praca głęboka jest bardzo męcząca i wymaga ogromnych pokładów energii, zarówno fizycznej, jak i emocjonalnej. Nie zrażaj się, jeżeli na początku nie jesteś w stanie zbyt długo tak pracować – tego też trzeba się nauczyć.

✔ Zasada 2 – Zaprzyjaźnij się z nudą (ang. Embrace Boredom)

W tym punkcie Cal Newport dodatkowo zwraca uwagę, by nauczyć się dobrze wykorzystywać czas wolny bez nauki i pracy.

W naszym zawodzie paradoksalnie zazwyczaj największym problemem jest sam Internet, czyli dostęp do Facebooka, czy innych social mediów. Jeżeli pracujesz przy komputerze, to bardzo złym odpoczynkiem będzie przeglądanie wiadomości w sieci, czy scrollowanie facebookowego walla. W ten sposób tak naprawdę nie odpoczywasz, a jedynie odwlekasz moment powrotu do nauki.

Wiele razy sam łapałem się na tym, że pisząc artykuł, chciałem coś sprawdzić i dlatego uruchamiałem Google i szukałem informacji – pół godziny później orientowałem się, że przeglądam wpisy na FB lub oglądam jakiś film na YouTube… – słabo.

Info Dlatego teraz, w takiej sytuacji, staram się zostawić sobie jakieś TODO np. „poszukaj informacji o XYZ” i pisać dalej. Po sesji pracy głębokiej będę miał kilka takich TODO i wtedy poszukam wszystkich informacji w jednym bloku.
Nauka programowania – facebook

Nauka programowania – facebook

✔ Zasada 3 – Porzuć social media

Może nie chodzi o całkowite odinstalowanie Facebooka, Instagrama i Twittera, ale o zastanowienie się jak, i po co się z nich korzysta – tak, by robić to bardziej świadomie.

Czasem wystarczy samo policzenie ile czasu każdego dnia, czy tygodnia te aplikacje są uruchomione, by zmienić swoje podejście.

✔ Zasada 4 – Eliminuj czas bez skupienia

Niestety zazwyczaj jesteśmy przyzwyczajeni do ciągłego braku skupienia i rozpraszania się – a wtedy czas dosłownie ucieka nam między palcami. Jeżeli na koniec dnia jesteś zmęczony i jednocześnie nie wiesz, na co właściwie poświęciłeś ten dzień – to najprawdopodobniej jest to również Twój problem.

Dlatego postaraj się:

  • zaplanować swój dzień – nawet najsłabszy plan jest lepszy niż totalna samowolka;
  • oceniaj jakość tego, co robisz i wyciągaj wnioski;
  • bądź trudno dostępny – tutaj chodzi przede wszystkim o rezygnację z ciągłej komunikacji i np. odpowiadanie na maile tylko w określonych porach dnia.

Jeżeli spodobały Ci się opisane tu zasady, to warto sięgnąć do źródła i przeczytać książkę Deep work – Cal Newport (link znajdziesz poniżej).

Deep work – Cal Newport

Deep work – Cal Newport

➡ ZOBACZ 👉: Link do książki: Deep work – Cal Newport

Sposób #8. Zrezygnuj z rozpraszaczy 👥

Ten temat był już wałkowany tak wiele razy, że nie będę się nad nim rozwodził. Jednocześnie jednak jest on na tyle powszechnym problemem, że zasłużył na osobny punkt.

Prawda jest taka, że Facebook, Slack, telefon i inne automatyczne powiadomienia zabijają naszą produktywność.

Pamiętasz, co mówiłem o tym, jak ważne jest skupienie się na jednej rzeczy?

Fail A niby jakim cudem to zrobić, jak co chwilę wyskakują jakieś powiadomienia na telefonie, czy komputerze. Teoretycznie to tylko ułamek sekundy, ale takie chwilowe przerwy potrafią całkowicie wybić człowieka z rytmu pracy i skupienia.
Dlatego następnym razem, zanim zaczniesz pracę:
  • wyłącz telefon (albo przynajmniej go wycisz i odłącz od Internetu);
  • wyłącz wszelkie możliwe komunikatory i automatyczne synchronizacje maila (Slack, Gmail, Outlook itp.);
  • warto też na pewien czas całkowicie zablokować dostęp do social mediów 🙂 – możesz np. wykorzystać aplikację SelfControl.

Zapewniam Cię, że wystarczy pół godziny nauki w takich warunkach i poczujesz różnicę.

Myślisz, że w Twoim przypadku to się nie sprawdzi i Twój zespół albo przełożony zaprotestuje⁉

Info Też tak myślałem – jednak nic takiego się nie stało. Wystarczy wysłać wcześniej krótka wiadomość, że teraz pracujesz i potrzebujesz chwili skupienia, a wszelkie wiadomości będziesz sprawdzał np. co 30 minut. Jeżeli dalej ktoś będzie miał wątpliwości, to warto uzmysłowić mu, jak nierobienie czegoś takiego wpływa negatywnie na produktywność i że bez tego możesz nawet nie dostarczyć swoich zadań. Z takimi argumentami mało kto polemizuje.
Nauka programowania – równocześnie

Nauka programowania – równocześnie

Sposób #9. Rób wiele rzeczy jednocześnie 🔁

Kolejny sposób na naukę i poprawę naszej wydajności to robienie wielu rzeczy jednocześnie.

Możesz spytać: ale jak to? Dopiero co pisałem, żeby skupić się na jednej rzeczy

Tutaj niestety muszę zacytować słynne programistyczne powiedzenie: to zależy 🙂

Rzeczywiście skupienie się na jednej wybranej rzeczy jest bardzo ważne, mimo wszystko są takie zadania, które nie pasują do tej reguły i możemy je zrównoleglić.

Robienie kilku rzeczy jednocześnie siłą rzeczy przyspieszy naszą naukę.

Podcasty 🎧

Sprawny Programista podcast

Sprawny Programista podcast

Jednym z moich ulubionych zajęć, które lubię wplatać w inne aktywności, jest słuchanie podcastów. Staram się to robić za każdym razem, gdy wykonuję jakieś umysłowo mniej angażujące rzeczy – takie jak bieganie, różnego rodzaju prace fizyczne, czy domowe obowiązki.

Do tego stopnia lubię tę formę konsumowania wiedzy, że zdecydowałem się samodzielnie nagrywać podcast. Do którego słuchania oczywiście gorąco zachęcam.

➡ ZOBACZ 👉: Podcast Sprawny Programista

Mądra praca zawodowa

Jest takie powiedzenie, że nie chodzi o to, żeby pracować ciężko, ale mądrze. Przekładając to na naszą sytuację – jeżeli już pracujesz jako programista i chcesz się rozwijać, chcesz dalej uczyć się nowych rzeczy, to najlepszym wyjściem dla Ciebie będzie robienie tego w ramach obecnej pracy.

Czy jest coś lepszego niż możliwość uczenia się nowych i ciekawych rzeczy, w momencie, kiedy Ci jeszcze za to płacą?

Jak to zrobić?

Info Zwyczajnie poproś swojego przełożonego o ciekawsze, trudniejsze zadania i powiedz, że chcesz się rozwijać. W wielu projektach brakuje ochotników, którzy chcą dać z siebie coś więcej i dobrowolnie zająć się trudniejszym zadaniem.

Sposób #10. Wypracuj  zwyczaje i nawyki ⚒

Siła nawyku – Charles Duhigg

Siła nawyku – Charles Duhigg

W tym miejscu posłużę się kolejną już książką i będzie to:  Charles Duhigg – Siła nawyku. Myślę, że domyślasz się już, jak bardzo lubię czytać. 🙂

Charles Duhigg – Siła nawyku

Autor stara się nas przekonać, że odpowiednie pokierowanie wyrobieniem nowych lub zmianą dotychczasowych nawyków może diametralnie odmienić czyjeś życie. A przekładając to na większą skalę nawet funkcjonowanie społeczeństw, przedsiębiorstw, czy całych państw…

Charles na łamach swojej książki przedstawia teorię „pętli nawyków”, która ma pomóc osiągać wymarzone cele.
W ramach tej teorii nawyki i zwyczaje rozłożone są na czynniki pierwsze, a my dowiadujemy się jak:

  • powstaje taki nawyk;
  • jak funkcjonuje
  • i co bardzo ważne: co należy zrobić, żeby wyrobić w sobie taki nawyk lub zmienić już istniejący.

W tej książce nie znajdziemy jednak prostych przepisów, według których moglibyśmy zadziałać . Znajdziemy za to liczne przykłady i historie, na których możemy się wzorować i samodzielnie wyciągać wnioski.

Fail Przykładem złego nawyku może być codzienne siadanie przed telewizorem, otwieranie piwa, czy palenie papierosów. O ile jednorazowo takie czynności nie mają większego wpływu na nasze życie – to jeżeli przerodzą się w nawyk i każde popołudnie będzie tak wyglądało – może prowadzić to do problemów. OK  Odwracając sytuację – jednorazowe wyjście na siłownię, czy sięgnięcie po książkę niewiele zmieni w naszym życiu. Jednak jeżeli zrobimy z tego codzienny nawyk, to po miesiącu, czy roku można już oczekiwać całkiem niezłych efektów.

Tylko jak się zmotywować, żeby wyrobić w sobie takie nawyki?

Nawet jeżeli wiemy, jak dobrze by to nam zrobiło, nie jest to takie proste – i tutaj właśnie przychodzą nam z pomocą zimne prysznice. 🙂

Joel Runyon zimny prysznic (ang. cold shower)

Joel Runyon zimny prysznic (ang. cold shower

Joel Runyon zimny prysznic (ang. cold shower

Joel Runyon podczas swojego wystąpienia na TED opowiada o tym, jak codzienny zwyczaj brania lodowatych pryszniców wpłynął na jego życie. Na pierwszy rzut oka dosyć ciężko znaleźć związek między zimną wodą a nauką programowania – jednak jak to mówią: w tym szaleństwie jest metoda. 🙂

Joel mówi, że tak naprawdę to w większości wypadków my sami dobrze wiemy, co należy zrobić, żeby osiągnąć nasz cel.

  • Chcesz znaleźć pracę jako programista? => ucz się programowania.
  • Chcesz być wysportowany i dobrze wyglądać? => dobrze się odżywiaj i zacznij ćwiczyć itp.

Skoro to jest takie proste, to czemu tak mało osób to robi?

Zazwyczaj ograniczają nas i blokują nasze własne obawy – mało osób świadomie jest w stanie wprowadzić się w niekomfortowy stan. Dużo łatwiej jest powiedzieć, że chce się pracować jako programista, niż zrezygnować z wolnego weekendu, czy serialu wieczorem, żeby poświęcić ten czas na naukę programowania.
Niby wiesz, co trzeba zrobić, a mimo to nie robisz tego.

Info Idąc tym tropem, można dojść do wniosku, że to nie nauka programowania jest problemem, a brak umiejętności radzenia sobie z niekomfortowymi sytuacjami.

Na takie problemy Joel proponuje wyzwanie – przez kolejne 30 dni codziennie rano brać zimny, a nawet lodowaty prysznic.

Na samą myśl o takiej  propozycji mam w głowie same wątpliwości i budzi się totalny sprzeciw.

  • ale rano? Może jednak wieczorem, później;
  • czemu zimny?
  • przecież to głupie;
  • i co to ma mi niby dać?

Taki sprzeciw, a nawet nie poszedłem jeszcze do łazienki 🙂 – tam zapewne byłoby jeszcze trudniej.

I dokładnie o to chodzi! W analogiczny sposób nasz mózg broni się, jeżeli mamy zacząć naukę programowania lub jakąkolwiek inną czynność, która nie jest dla nas komfortowa – lub jak to się teraz ładnie mówi, która wykracza poza naszą strefę komfortu.

Skoro nie możesz poradzić sobie z taką małą trudnością, która będzie trwała tylko kilka minut i nikt tego nie będzie widział – to dlaczego myślisz, że poradzisz sobie z czymś dużo trudniejszym, co będzie trwało zdecydowanie dłużej?

Nie wiem jak Ty, ale ja po obejrzeniu tego video zacząłem się przekonywać, że skoro on już to zrobił za mnie i wyciągnął wnioski, to ja wcale nie muszę tego robić…

Link do wystąpienia.

Sposób #11. Zapłać za naukę 💰💸💲

Zapłać za naukę programowania

Na niektórych ludzi nic nie działa tak motywująco, jak świadomość potencjalnej utraty gotówki. Osobiście bardzo nie lubię TRACIĆ pieniędzy.

Jak się nad tym dłużej zastanowić, to bardziej boli mnie utracone 100 PLN, niż zrezygnowanie z możliwości zarobienia kolejnych 100 PLN.
W efekcie zdarza mi się złapać samego siebie na sytuacji, że poświęcam bardzo dużo wysiłku, żeby zaoszczędzić pewną kwotę, zamiast poświęcić ten sam wysiłek i w tym czasie skupić się na zarabianiu i np. zarobić dwa razy tyle.

Info Od kiedy uświadomiłem sobie bezsens takiego rozumowania, dużo chętniej np. kupuję różnego rodzaju kursy lub konsultacje. Potrafię nawet zapłacić za kurs 1000 PLN i więcej, co może wydawać się dużo, zważywszy, że większość podanych w nim informacji równie dobrze mógłbym znaleźć za darmo w Internecie. Jednak ktoś poświęcił swój czas i zebrał za mnie te informacje. Zweryfikował je i przygotował w takiej formie, że ucząc się z tego opracowania, mogę zrobić to znacząco szybciej. OK Kolejny plus jest taki, że łatwiej odpuścić sobie realizację kursu, za który nic się nie zapłaciło, niż takiego, który coś nas kosztował. 😉

Sposób #12. Nie ucz się w pojedynkę 👩‍👩‍👧‍👦

Ludzie są z natury stworzeniami stadnymi. 😉
Zazwyczaj przyjemniej pokonuje się nam różne trudności, gdy możemy wesprzeć się w ciężkich momentach na drugiej osobie.
Przyjemniej jest też, gdy mamy możliwość podzielenia się swoimi sukcesami.

Bardzo długo nie doceniałem tego aspektu społecznego związanego z programowaniem. W efekcie moje początki nie były zbyt łatwe. Możliwe, że gdybym szybciej wyszedł ze swoimi problemami do ludzi nie popełniłbym tak wielu błędów początkującej osoby i nie zajęłoby mi to tak wiele czasu.

Mentor programowania

Jedną z rzeczy, którą teraz zalecam młodym programistom jest znalezienie swojego mentora programowania. Pojęcie mentoringu niestety przez wielu jest odbierane negatywnie. Kojarzy się ono nam często z pseudomotywacyjnymi mówcami w stylu „Jesteś zwycięzcą”.

Z moich doświadczeń wynika, że na dobrze prowadzonym mentoringu mogą zyskać obie strony. Dlatego staram się zachęcać początkujące osoby, by szukały wsparcia u bardziej doświadczonych kolegów po fachu. Może na tym jednak skorzystać również druga strona, czyli osoba dzieląca się swoim doświadczeniem. Dzieje się tak między innymi dlatego, ponieważ tłumaczenie innym to jednocześnie najlepszy sposób na własną naukę. Żeby to zrobić sam musisz bardzo dobrze zrozumieć dane zagadnienie i spojrzeć na nie z punktu widzenia drugiej osoby.

Gdy przygotowuję się do zajęć na bootcampie, to staram się rozłożyć dany temat dosłownie na czynniki pierwsze. Wiem, że na sali będzie kilkanaście osób z których przynajmniej kilka napotka takie problemy, na które ja przy normalnej pracy raczej się nie natkę. Dlatego zawsze po takich zajęciach wychodzę bogatszy o nową wiedzę i doświadczenia.

Jak wybrać dobrego mentora?

Z mentoringiem niestety związane są też ryzyka. Co jeżeli mój mentor się myli? Co jeżeli ma złe intencje?

Osobiście zawsze trzymam się poniższej zasady.

Podpatruj inne osoby i ucz się od nich,  ale ZAWSZE myśl samodzielnie i dopiero wtedy podejmuj decyzje. Ponieważ to Ty ostatecznie za nie odpowiadasz.

Dodatkowo staram się szukać osób, które przeszły już przez jakiś proces, przez który sam chcę przejść. Przykładowo, gdy zaczynałem nagrywać podcast szukałem ludzi, którzy już to robią, a nie tylko osób, które słyszały jak to się robi. Dzięki temu mogłem z nimi porozmawiać i podpytać jak wyglądała ich droga, jakie mieli problemy, jak sobie z nimi poradzili i co zrobić by ich uniknąć.

Społeczność programistów

A co gdybym Ci powiedział, że nie musisz wybierać jednego mentora, a możesz ich mieć kilku? Albo nawet kilkudziesięciu, lub kilkuset?…

Tak właśnie działają społeczności. Programiści też maja swoje społeczności i warto z nich korzystać.
Do dyspozycji mamy różnego rodzaju meetupy, grupy w social media itp.

➡ ZOBACZ 👉: Zachęcam do dołączenia do naszej grupy zebranej wokół bloga.

Nauka programowania – podsumowanie sposobów na więcej czasu

Odpowiadając krótko na tytułowe pytanie: „Jak się uczyć programowania, mimo braku czasu i motywacji?” – moim zdaniem trzeba przede wszystkim chcieć. Jeżeli są szczere chęci, to możliwości zawsze się znajdą. Wtedy na drugi plan schodzą wszelkie wymówki i potencjalne przeszkody. Te kwestie nie dotyczą tylko i wyłącznie nauki programowania, ale odnoszą się również do wszystkich innych aspektów naszego życia.

Na koniec mam jeszcze ogłoszenie.
Właśnie wystartowała przedsprzedaż mojego kursu – KierunekProgramista, gdzie pokazuję więcej tego typu przykładów, tak by ułatwić Ci zostanie programistą i wejście do świata IT.

>>> KierunekProgramista.pl <<<

Jeżeli podobał Ci się ten materiał, proszę podziel się nim choćby z jedna osobą, która może go potrzebować. Dzięki temu pomożesz mi w dotarciu z tym przekazem do większego grona zainteresowanych.

A Ty Jak radzisz sobie z ciągłym brakiem czasu?

 


Jak zostać programistą

8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista.

Jak zostać programistą
2 komentarze
Share:

2 Comments

  1. Łukasz says:

    Najskuteczniejsza motywacja bierze się z pasji. Jeśli ktoś autentycznie chce się nauczyć programowania to musi znaleźć w sobie radość z pisania kodu i nauki. A po lekturze wpisu sprawdzę Twoje kursy ;D

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przeczytaj poprzedni wpis:
Jak dodać adres email do zaufanych
Jak dodać adres email do zaufanych

Słuchajcie moi mili, jest problem... Ostatnie wydarzenia związane z wirusem dotknęły nas na różne sposoby – również na takie, których...

Zamknij