Lydia Hallie
po opublikowaniu mojego poprzedniego artykułu o tym, jak zostałem 19-letnim programistą, setki ludzi przyszło do mnie z zasadniczo tym samym komunikatem: „uwielbiałem czytać twój artykuł i naprawdę chcę nauczyć się programować, ale po prostu nie mogę przejść tego pierwszego kroku. To takie frustrujące i przytłaczające, brakuje mi struktury i motywacji.”Chcę zaangażować jak najwięcej osób w świat technologii i uważam, że bardzo ważne jest skupienie się na ludziach, którzy są bardzo zmotywowani, ale po prostu nie wiedzą, jak to zrobić.
wiem, że obecnie istnieją tysiące zasobów ,które „nauczą Cię kodować”. Jednak zdecydowanie nie jest to najważniejsza część tutaj i nie o to chodzi w tym artykule. Kluczowe znaczenie ma sposób, w jaki tworzysz swoje życie wokół niego, obsługujesz wszystkie nowe informacje, utrzymujesz motywację i skupiasz się na właściwych częściach.
tak, to brzmi fajnie i w ogóle, ale czuję, że to będzie kolejny artykuł, który zmotywuje mnie na jakieś 10 minut, aż wrócę do oglądania Netflixa! Zanim zacznę, naprawdę chcę, żebyś zrozumiał, że jeśli chcesz nauczyć się kodować lub nauczyć się kodować w ogóle, jesteś niesamowity. Pokazałeś już, że możesz myśleć o kilka kroków do przodu i możesz wypchnąć się daleko poza swoją strefę komfortu, nawet jeśli jeszcze tego nie zrobiłeś! Jeśli możesz być podekscytowany nauką czegoś, czego jeszcze nie wiesz i czegoś, co wydaje się przytłaczające, na pewno będziesz dobrym programistą.
przez wiele lat byłem korepetytorem i często widziałem wzór, kiedy uczniowie mówili mi, że nie są już zmotywowani. Skupiali się na większym celu, ignorując małe, ale bardzo ważne ulepszenia, które wprowadzali, co sprawiało, że czuli, że nic nie osiągnęli. Chociaż wiedziałem, że jest to bardzo ważna rzecz, o której należy pamiętać podczas uczenia się nowych umiejętności, zauważyłem, że miałem dokładnie te same myśli, kiedy zacząłem programować. Czułem, że właściwie nie robię żadnych postępów, ponieważ myślałem, że wszyscy wokół mnie są o wiele wyżej niż ja i nigdy nie będę w stanie być w tym tak dobry.
kiedy myślałem o tym wszystkim, całkowicie zignorowałem wiele ważnych kroków, które już zrobiłem. Zanim się zorientowałem, mogłem pisać kod, nawet nie zastanawiając się nad tym dwa razy, i mogłem tworzyć bardziej złożone aplikacje za każdym razem. Po prostu dlatego, że porównywałem się do ludzi, którzy mieli wieloletnie doświadczenie, nie postrzegałem tego jako postępu. Wszystko, co mogłem myśleć, to ” wciąż jestem tak daleko od mojego celu.”
garb podczas nauki programowania jest prawdziwy i każdy z trudem sobie z tym radzi. Garb jest większy dla niektórych ludzi niż dla innych, ale naprawdę chcę pomóc ci to przezwyciężyć. Absolutnie nie musi tam być, ponieważ wszystko jest w twoim umyśle, ale łatwiej powiedzieć niż zrobić. Walka jest inna dla każdego, ale skupię się na najczęstszych problemach, z jakimi borykają się ludzie, gdy uczą się programować: jak radzić sobie z nowymi informacjami tak skutecznie, jak to możliwe, i jak zachować motywację. Nie zamierzam skupiać się na tym, jak znaleźć najlepsze zasoby, ponieważ jest to bardzo subiektywne.
skuteczne radzenie sobie z nowymi informacjami
każdy jest inny i nie każdy absorbuje informacje w taki sam sposób jak inni. Tak, kapitanie oczywisty, ale to nie jest tak oczywiste, jak mogłoby się wydawać. Zanim zaczniesz uczyć się kodowania, musisz nauczyć się, jak się uczyć.
wkrótce dowiesz się, lub prawdopodobnie już się dowiedziałeś, że istnieją dwa rodzaje zasobów, które są dostępne w dowolnym miejscu: kursy online i dokumentacja językowa. Jednak dopóki nie jesteś jakimś super-ludzkim geniuszem, po prostu nie zapamiętasz wszystkich nowych informacji, oglądając kursy (zwłaszcza, że naprawdę trudno się skupić, nie oszukujmy się, mogą być bardzo nudne) lub czytając zwykły tekst. To zupełnie normalne czuć się zagubionym i zdezorientowanym podczas oglądania kursów lub czytania dokumentów, wszyscy zmagają się na początku. Programiści mogą mieć trudności z wyjaśnieniem kodu ludziom, którzy nie mają na ten temat zbyt dużej wiedzy, bez używania innych niejasnych terminów geeky (patrząc na Ciebie, Stack Overflow!).
nie ważne jak dobry jesteś: nie pomijaj podstaw. Zawsze zacznij uczyć się języka od samego początku i niczego nie pomijaj. Podstawy są niezwykle ważne i pożałujesz tego później, jeśli nie zwrócisz na nie uwagi! Tak, zawsze możesz go wygooglować, ale to tylko sprawi, że będziesz wolniejszym programistą. Jeśli czytasz dokumentację, zacznij od pierwszej strony (lub 1.1 w wielu przypadkach) i przeczytać drogę do góry. Dla niektórych może to wydawać się stratą czasu, ale uwierz mi: tak nie jest. Zwróć uwagę na małe szczegóły, a podziękujesz sobie później!
jeśli walczysz ze zrozumieniem podstaw, wyluzuj! Nic Ci nie będzie. Jak bardzo się teraz zmagasz, absolutnie nie wskazuje na to, jak dobrym programistą będziesz później.
po każdych 10 minutach lub po każdym przeczytanym akapicie wyjaśnij własnymi słowami, czego właśnie się nauczyłeś. Może to być dość trudne, ale wkrótce dowiesz się, jakich części jeszcze nie rozumiesz. Nauczanie jest najlepszym sposobem na naukę, nawet jeśli nie ma nikogo w pobliżu! Udawaj, że wyjaśniasz to komuś innemu, a kiedy już odkryjesz, że nie rozumiesz zbyt dobrze pewnej części: zbadaj ją od razu i zapisz odpowiedź! Pisząc to, jeszcze bardziej myślisz o odpowiedzi, co znacznie ułatwia jej zapamiętanie.
nie słuchaj tylko kursu lub nie czytaj dokumentacji: aktywnie uczestniczyć, mając swój własny projekt na boku. Wdrażaj każdą nową rzecz, której się nauczysz, bez względu na to, jak mała jest! To nie jest tak proste, jak się wydaje, w rzeczywistości może być bardzo frustrujące, i wtedy wiesz, że robisz to dobrze. Doskonalisz swoje umiejętności kodowania, robiąc to często, a nie po prostu wiedząc o tym! Zaufaj mi, jesteś coraz lepszy w tym za każdym razem, gdy to robisz, nawet jeśli nie zdajesz sobie z tego sprawy!
pozostając zmotywowanym
Wiele osób pytało mnie, jak udało mi się zmusić się do kodowania tak wiele w normalny dzień. Zajęło mi trochę czasu, aby znaleźć dobry sposób, aby wyjaśnić moje myśli za tym, ale myślę, że w końcu to znalazłem!
każdy lubi grać w gry, bez względu na rodzaj gry. Ludzie lubią gry, ponieważ dostajesz natychmiastową satysfakcję, czujesz, że coś osiągnąłeś i widzisz, że stajesz się w tym lepszy. To idealna formuła motywacji! Byłem w stanie uzyskać to samo doświadczenie, ale podczas kodowania zamiast gier. I to jest o wiele łatwiejsze niż myślisz.
wyznacz małe cele. Nie dlatego, że nie zależy ci na poprawie, ale dlatego, że zależy ci na poprawie. Zrób listę rzeczy do zrobienia, które chcesz zrobić tego dnia: może to tylko czytanie 1 strony, oglądanie 1 kursu lub po prostu pisanie 10 linijek kodu. Będąc w stanie powiedzieć, że wypełniłeś całą swoją listę rzeczy do zrobienia, poczujesz się bardzo spełniony i o wiele pewniejszy swoich postępów. O wiele lepiej jest powiedzieć „zrobiłem dziś wszystko, co chciałem”, niż powiedzieć „ukończyłem dzisiaj tylko 2% kursu”. Dodatkowo, nawet jeśli przeczytałeś tylko 1 Stronę lub utworzyłeś 1 pole wejściowe, nadal jest to niezwykle ważne. Natychmiastowa satysfakcja!
ciągle przypominaj sobie, jak daleko już zaszedłeś. Może się to wydawać naprawdę trudne, ponieważ często pozostaje niezauważone. Nie widzisz aktywnego postępu, ale uwierz mi: każdego dnia kodujesz (nawet trochę), stajesz się w tym lepszy. Najlepszym sposobem na to jest posiadanie małego pamiętnika. Wyjaśnij w jednym zdaniu, z czym zmagałeś się tamtego dnia, i spójrz na to miesiąc później. Jest bardzo, bardzo duża szansa, że teraz nie będziesz się z tym w ogóle zmagać! Widzisz, że stajesz się w tym lepszy.
pracuj nad osobistym projektem, który cię naprawdę interesuje! Nie jest to jedna z milionów list rzeczy do zrobienia, ale coś, co naprawdę chcesz zbudować. Nie myśl teraz o samodzielnym samochodzie lub robocie, który może zrobić naczynia za ciebie, ale wybierając coś mniejszego, na przykład odtworzenie layoutu strony internetowej lub małej gry, zauważysz, że jesteś znacznie bardziej zmotywowany, aby to zakończyć. Po zakończeniu projektu masz coś do pokazania: osiągnąłeś coś!
zdaj sobie sprawę, że radzisz sobie znacznie lepiej niż myślisz. Nazywa się to również syndromem oszusta. Możesz mieć wrażenie, że wszyscy wokół ciebie wiedzą o tym o wiele więcej i są w tym o wiele lepsi od ciebie: ale to po prostu nieprawda. Nie mogę tego wystarczająco podkreślić: będziesz dobrym programistą, jeśli będziesz naciskał. Już udowodniłeś, że jesteś w stanie kodować, będąc wystarczająco zmotywowanym, aby się tego nauczyć.
rzeczy, o których należy zawsze pamiętać
- nigdy nie porównuj się z innymi programistami. Bardzo banalna rada, ale kluczowa. Nie porównuj swojego rozdziału 1 do cudzego rozdziału 20. Będziesz w ich pozycji znacznie, znacznie szybciej niż myślisz! Umieściłem to zdjęcie powyżej, ponieważ Wiem, że czułbym się onieśmielony, gdybym zobaczył to 4 miesiące temu. Teraz po prostu się z tego śmieję i mogę nawet dostrzec kilka błędów, które popełniłem!
- robisz o wiele większe postępy niż myślisz. Za każdym razem, gdy uczysz się lub kodujesz, rozwijasz się. Po prostu zaakceptuj to (Wiem, że to trudne).
- każdy na początku ma problemy, nie jesteś sam, a to nie znaczy, że będziesz złym programistą. To, jak się teraz czujesz, jest całkowicie normalne, a to tylko część procesu uczenia się. Wkrótce spojrzysz wstecz na tę frustrację, przez którą przechodzisz i zgodzisz się ze mną!
jeśli jesteś w stanie, spróbuj znaleźć mentora. Miałem najlepszą, jaką kiedykolwiek mogłem sobie życzyć, i jestem absolutnie gotów być twój, jeśli się do mnie odezwiesz. To świetnie, jeśli możesz zadać komuś Szybkie Pytania i uzyskać inspirację, to zdecydowanie pomaga przezwyciężyć ten garb.