Czy pamiętasz, kiedy po raz pierwszy zdecydowałeś się nauczyć kodować? Podniecenie, zachwyt… uczucie kompletnej niewiedzy?

Pochodząc z małych firm, nie miałem absolutnie żadnego pojęcia, gdzie zacząć. Googlowanie „Jak nauczyć się kodować” przyniosło niezliczone strony programów kodowania online, artykułów, postów na blogu i filmów na YouTube. Który z nich powinienem wybrać? Jaka jest najlepsza rada? To wszystko było dla mnie strasznie przytłaczające.

Pozwólcie, że podzielę się z wami 10 ważnymi rzeczami, których nauczyłem się przez te lata, a które, mam nadzieję, pomogą wam rozpocząć podróż w kierunku kodowania (ale i być może zaoferują kilka dobrych przypomnień dla doświadczonych programistów;-)).

1. Możesz nauczyć się kodować za darmo.

Zacząłem swoją podróż od płatnego, internetowego szkolenia. Oferował różne kursy frontendowe i backendowe, miał społeczność Slack z łatwą pomocą od instruktorów, a także garść sesji mentorskich jeden na jeden. Kosztował 1300 dolarów. Jak się okazało – skończyło się na uzupełnianiu niektórych kursów z darmowych zajęć Codecademy.

Dopiero gdy dołączyłem do Tech Twittera – więcej na ten temat później – dowiedziałem się o wielu wysokiej jakości, darmowych opcjach kodowania. Należą do nich:

  • YouTube
  • Codecademy
  • freeCodeCamp
  • Scrimba
  • The Odin Project

Inną darmową opcją jest #100Devs Leona Noela, intensywny 30-tygodniowy obóz treningowy online dla koderów. Leon uczy HTML, CSS, Javascript, React, Node, Express, MongoDB i trochę teorii CS, a także udziela studentom wskazówek, jak nawiązać kontakt z innymi ludźmi, jak pracować jako freelancer i tworzyć wyróżniające się profile na LinkedIn i CV.

Istnieją również wspaniałe tanie programy dostępne za pośrednictwem Udemy i Udacity. Bardzo polecam kursy Jonasa Schmedtmanna na Udemy.

Podczas nauki kodowania nie ma potrzeby wydawania pieniędzy na drogie programy. Poznaj darmowe opcje wymienione powyżej, a będziesz w dobrych rękach.

2. Zachowaj spokój.

Nauka kodowania to maraton, a nie sprint.

Na początku swojej podróży z kodowaniem naprawdę ważne jest, aby ustalić realistyczne, możliwe do osiągnięcia cele. Przejście od początkującego kodera do gotowego do rozmowy kwalifikacyjnej zajmie trochę czasu… ile czasu zależy tak naprawdę od ciebie.

Ustal, kiedy masz wolny czas na kodowanie i zrób harmonogram. Wolisz kodować rano czy wieczorem? Czy możesz wygospodarować godzinę czy trzy? Zapisz to i zrób wszystko, aby się tego trzymać.

Uważaj na ludzi w mediach społecznościowych, którzy zamieszczają „mapy drogowe” doradzające, jak długo powinna trwać czyjaś podróż w kodowaniu (HTML i CSS – 1 miesiąc, JavaScript – 2 miesiące, itd.). Jeśli ktokolwiek mówi ci dokładnie, jakich języków musisz się nauczyć i ile czasu powinieneś poświęcić na naukę każdego z nich, mówi to tylko dla zaangażowania. Zignoruj ich.

Podróż każdego człowieka jest inna. Niektórzy rozpoczynają naukę kodowania jako część studiów, podczas gdy inni są zmiennikami kariery z rodzinami i innymi „dorosłymi” obowiązkami. To naprawdę zależy od Ciebie, jak długo to potrwa.

Po prostu upewnij się, że nadajesz sobie tempo, a dotrzesz tam, zanim się zorientujesz.

To może Cię zainteresować: Jak napisać dobry kawałek kodu?

3. To jest w porządku, aby kodować tylko trochę lub wcale w niektóre dni.

Twój szef poprosił cię o pozostanie do późna po pracy. Twoje małe dziecko jest chore na grypę. Powiedziałeś przyjacielowi, że pomożesz mu w przeprowadzce. Nie rozumiesz jakiejś koncepcji i czujesz się niezmotywowany. Miałeś ciężki dzień, jesteś zmęczony i po prostu nie masz na to ochoty.

Są różne powody, dla których kodowanie zostaje odłożone na bok… i to jest w porządku. Życie się zdarza.

Nie obwiniaj się ani przez chwilę, ani nie czuj się winny z powodu tego, jak mało nauki lub kodu napisałeś. Jesteś człowiekiem, a nie maszyną! Wszystko jest kwestią równowagi. Jutro jest nowy dzień.

Kluczem jest jednak, aby kontynuować, z ostatecznym celem, aby zrobić coś każdego dnia, nawet coś małego.

Małe rzeczy zrobione często zmieniają się w duże rzeczy z czasem.

4. Podczas Twojej podróży edukacyjnej będą zdarzały się wspaniałe dni.

Ukończenie aplikacji, nad którą pracowałeś tygodniami, jest jednym z najlepszych uczuć, jakich można doświadczyć podczas podróży edukacyjnej. Świadomość, że byłeś w stanie z powodzeniem stworzyć coś takiego z wiedzą, którą zdobyłeś, jest po prostu niesamowita.

Nawet małe rzeczy, takie jak rozgryzanie problemu bez pomocy Stack Overflow lub YouTube, mogą być naprawdę zachęcające (bring on RegEx!). 💪

Pamiętaj, aby świętować również te zwycięstwa!

5. Będą też „złe” dni.

Nauka kodowania może być trudna. Oto kilka rzeczy, które mogą się zdarzyć i co możesz zrobić, aby walczyć z nimi:

👎 Twój kod się nie kompiluje.

Uruchamiasz swój kod – zamiast działać płynnie jak dobrze naoliwiona maszyna, otrzymujesz listę komunikatów o błędach.

Popraw:

  • Zachowaj spokój (po tym, jak trochę pokrzyczysz na komputer: „Dlaczego to nie działa?”).
  • Przejrzyj komunikaty o błędach. Nie rozumiesz ich? Poszukaj w Google.
  • Użyj console.log w swoim kodzie, aby zobaczyć, gdzie poszedłeś źle.
  • Sprawdź nazwy zmiennych, aby upewnić się, że są napisane poprawnie (wszyscy byliśmy tam).
  • Jeśli to nie zadziałało, odejdź od komputera. Zajmij się robieniem czegoś innego. Szanse są takie, że odpowiedź przyjdzie do ciebie, kiedy najmniej się tego spodziewasz (podczas zasypiania, brania prysznica lub wizyty w toalecie).

👎 Masz problemy z uchwyceniem jakiegoś pojęcia.

Czytasz fragment w kółko i próbujesz zrozumieć kod, ale to po prostu nie jest kliknięcie. To zaczyna sprawiać, że czujesz się trochę przygnębiony.

Popraw:

  • Zrób sobie przerwę! Czasami jest to tylko kwestia zmęczenia. Powrót do niej ze świeżym spojrzeniem po krótkiej (lub długiej) przerwie może zdziałać cuda.
  • Użyj innego zasobu, aby dowiedzieć się o temacie. Nie wszystkie tutoriale i dokumentacje są stworzone tak samo. Jeden może mieć sens dla Ciebie bardziej niż inny.
  • Bądź pewny siebie i zachowaj perspektywę. To, że zmagasz się z jakąś koncepcją, nie oznacza, że nigdy jej nie zrozumiesz lub że bycie programistą nie jest dla Ciebie. Pomyśl o tym jak o wyzwaniu, które w dłuższej perspektywie uczyni Cię jeszcze silniejszym – i mądrzejszym. Zrozumiesz to, dzięki cierpliwości, praktyce i pozytywnemu nastawieniu.

👎 Nie możesz się skupić.

Siadasz do kodowania i twój umysł zaczyna błądzić…

Czego potrzebuję w sklepie spożywczym? Czy Taylor odezwał się do mnie w sprawie soboty? Ciekawe, czy domena dla mojego nowego projektu jest dostępna…

Zdarza się to każdemu z nas. Na szczęście istnieje pomocne rozwiązanie.

Popraw:

Technika Pomodoro (The Pomodoro Technique) 🍅

The Pomodoro Technique to metoda zarządzania czasem, która polega na robieniu serii przerw, aby pomóc w poprawieniu koncentracji i produktywności.

Jak to działa:

  • Wybierz zadanie (zakoduj swoją stronę portfolio!).
  • Ustaw timer na 25 minut.
  • Pracuj prosto przez te 25 minut (nie oszukuj)
  • Kiedy czas się skończy, zrób 5-minutową przerwę (aby sprawdzić Twittera)
  • Powtórz to jeszcze trzy razy. Przy czwartym Pomodoro zrób dłuższą, 15-30 minutową przerwę.

Jeśli chcesz użyć czegoś bardziej wyrafinowanego niż kuchenny timer lub timer na komputerze, jest mnóstwo aplikacji do wyboru (ja używam tej). Jeszcze lepiej, zakoduj sobie Pomodoro Timer.

Wiele osób przysięga na tę metodę, ja również. Będziesz zdumiony tym, co możesz osiągnąć.

👎 Straszny syndrom impostera.

Prawdopodobnie słyszałeś ten termin, który krąży wokół.

Syndrom impostera jest definiowany jako:

Psychologiczne zjawisko, kiedy osoba ma poczucie zwątpienia w siebie i niekompetencji pomimo swoich umiejętności, talentów i osiągnięć, z obawą przed zdemaskowaniem jako oszust.

Może to być szczególnie powszechne podczas nauki kodowania. Kiedy sprawy nie idą dobrze, myśli takie jak: „Nie mogę tego zrobić – nie jestem wystarczająco dobry” lub „Nigdy nie dostanę pracy” często pojawiają się w naszych głowach, pomimo wszystkiego, co osiągnęliśmy w naszych podróżach do kodowania.

Jeśli nie są kontrolowane, te myśli mogą prowadzić w dół brzydkiej ścieżki niskiej samooceny, braku motywacji i samosabotażu.

Popraw:

Jeśli kiedykolwiek spotkasz się z tymi uczuciami, wiedz, że nie jesteś oszustem. Zastanów się, jak daleko zaszedłeś od swojego pierwszego HTML-owego „hello world!”.

Spójrz na projekty, które stworzyłeś, kursy, które ukończyłeś, umiejętności, których się nauczyłeś i komplementy, które otrzymałeś od innych na temat swojego kodu (nie kłamią!).

Znajdź również pocieszenie w tym, że praktycznie każdy – na każdym poziomie – czuł się tak w pewnym momencie. Ponownie, jesteśmy tylko ludźmi. Masz to.

👎 Porównywanie się do innych.

Tina stworzyła niesamowity projekt rozwiązujący problem, z którym boryka się każdy, z pewnością zrobi wrażenie na każdym menedżerze ds. rekrutacji.

Strona portfolio Jacka jest tak fantastyczna, że pojawiła się na stronach internetowych poświęconych projektowaniu jako inspiracja.

Kelsey wolontariacko wykorzystuje swoje umiejętności w świetnej organizacji non-profit i naprawdę pomaga w poprawie życia.

Meena osiągnęła poziom 1 kyu kata w CodeWars.

Ashish dostał pracę po zaledwie 4 miesiącach studiów.

A ja… ? Wydaje się, że wszyscy osiągają te wszystkie niesamowite rzeczy, a co ja zrobiłem?

Popraw:
Zostań na swoim pasie.

Twoja podróż po kodowaniu dotyczy Ciebie. Wykorzystaj osiągnięcia innych jako inspirację.

Jeśli potrzebujesz pomocy, próbując zrobić to, co ci ludzie osiągnęli, poproś ich o wskazówki! Wyślij im DM i umów się na rozmowę Zoom. Później jest duża szansa, że będziesz mógł powiedzieć, że też osiągnąłeś te rzeczy.

👎 Masz ochotę się poddać.

Mogą być dni, kiedy masz ochotę po prostu rzucić ręcznik w swojej podróży po kodowaniu.

Może czujesz, że nigdy nie będziesz w stanie zrozumieć JavaScript, mimo że tak bardzo się starałeś. A może napotkałeś zbyt wiele złych dni, takich jak te wymienione powyżej, które odbiły się na Twojej pewności siebie.

Myśli takie jak „Może rozwój nie jest dla mnie” lub „Nie jestem do tego stworzony” mogą kłębić się w Twojej głowie. Jeśli zmieniasz karierę, możesz rozważać powrót do bezpiecznej, poprzedniej kariery – takiej, w której byłeś dobry, ale nie sprawiała Ci ona prawdziwej przyjemności.

Popraw:

Wiedz, że nauka kodowania jest trudna. To naturalne, że czasami czujesz się przytłoczony.

Oddychaj. Usiądź w spokojnym miejscu z ulubionym napojem i spróbuj przypomnieć sobie, co zainteresowało cię w nauce kodu lub dołączeniu do tech w pierwszej kolejności. Zapisz to na post-it i klepnij w ekran.

Zrób sobie przerwę, tak długą jak potrzebujesz. Może się okazać, że podczas tej przerwy zatęsknisz za kodowaniem.

Porozmawiaj z kimś, być może w technice, zaufanym przyjacielem lub członkiem rodziny, o swoich uczuciach. Większość osób była w tym punkcie kiedyś w swoim życiu. Być może będą oni w stanie dostarczyć ci pewnych spostrzeżeń, których nie brałeś pod uwagę.

Wiedz również, że istnieje wiele innych karier w technice, które nie obejmują kodowania, na wypadek gdybyś – po głębokich poszukiwaniach – stwierdził, że to nie jest dla ciebie (patrz #9). Ale proszę, upewnij się, że dasz kodowaniu swój najlepszy strzał.

Będą „złe” dni w twojej podróży do kodowania. Pamiętaj tylko, że w dłuższej perspektywie uczynią cię jeszcze silniejszym deweloperem. 💪

6. Otaczaj się pozytywnością.

Poszukaj ludzi, którzy będą wspierać i zachęcać do podróży – czy to wśród przyjaciół, rodziny, czy w mediach społecznościowych, takich jak Tech Twitter i grupy Discord.

Posiadanie plemienia, które będzie ci kibicować, może sprawić, że trudne części twojej podróży po kodowaniu będą o wiele bardziej znośne.

Tech Twitter

Tech Twitter jest doskonałym miejscem dla początkujących koderów, aby poszerzyć swoje podróże tech. Jest wypełniony łatwo dostępnymi informacjami i wspierającymi ludźmi, którzy chętnie pomogą Ci rozwinąć się jako programista.

Masz problem z ćwiczeniem kodowania? Zapytaj na Twitterze. Potrzebujesz wskazówek dotyczących pętli JavaScript? Przeszukaj Twittera, a znajdziesz mnóstwo wątków na ten temat.

Masz wygraną, że chcesz się podzielić? Bądź przygotowany na zalew zwolenników i nie-zwolenników dopinguje cię jak jesteś uczestnikiem w programie „The Price is Right”. To całkiem niesamowite uczucie.

Kilka przestróg…

Podobnie jak w przypadku wszystkich mediów społecznych, bycie na Twitterze może zjeść trochę poważnego czasu.

Bądź celowy ze swoim czasem.

Nie przewijać bezmyślnie.

Ustaw timer (i trzymać się go).

Czas jest bardzo cennym towarem. Więcej czasu spędzonego na Tech Twitter jest mniej czasu spędzonego na kodowanie i przygotowanie do przyszłości tech.

Ponadto, nie wpadnij na „potrzebują więcej zwolenników” mentalności. Chyba że celem jest być influencer lub DevRel, ustawić granice.

Discord

Innym świetnym miejscem na spotkanie z innymi koderami jest Discord. Otaczanie się pozytywnymi, podobnie myślącymi ludźmi może być dla ciebie trampoliną do osiągnięcia twoich technologicznych celów.

7. Tworzenie sieci kontaktów jest naprawdę ważne.

Wszyscy to słyszeliśmy… networking jest naprawdę ważny.

Ale dlaczego?

Z perspektywy nowego dewelopera, networking pozwala na poznanie ludzi, którzy mają kariery, o których chcesz się dowiedzieć więcej. To może prowadzić do mentoringu i poradnictwa zawodowego, gdy już wylądujesz na swoim pierwszym stanowisku.

Networking może również:

Budować pewność siebie poprzez wyprowadzenie Cię ze swojej strefy komfortu! Zmusza osobę do nauki lepszych umiejętności komunikacyjnych i poprawy ogólnych umiejętności miękkich.

Otwierają możliwości zatrudnienia. Poprzez nawiązywanie kontaktów z ludźmi, z którymi nawiązałeś/aś relacje, mogą oni przekazać Twoje nazwisko swoim menadżerom ds. zatrudnienia lub poinformować Cię o dostępnych stanowiskach.

Pomoże Ci nawiązać znajomości. Nawiązanie kontaktu z osobami, które mają takie same cele związane z karierą techniczną, nie tylko zapewnia wsparcie podczas nauki, ale może również pomóc w realizacji celów zawodowych w późniejszym czasie. Poza tym, poznawanie nowych ludzi może sprawić, że życie będzie jeszcze bogatsze.

Jak stworzyć sieć?

Jesteś introwertykiem i uważasz, że rozmowa z nowymi ludźmi jest wyzwaniem?

Bridget „The Developer Bee” napisała świetny wieloetapowy przewodnik, który pomaga właśnie w tym, w jej 4-częściowej serii blogów, „The Beginner’s Guide to Networking”. Seria omawia, jak dotrzeć do ludzi, strategie budowania nerwów, aby porozmawiać z ludźmi, o czym rozmawiać i co zrobić po nawiązaniu połączenia.

Bridget podaje nawet wiele przykładowych scenariuszy do wykorzystania w różnych sytuacjach networkingowych.

Gdzie stworzyć sieć?

Więc teraz masz pomysł, co powiedzieć podczas networkingu, ale gdzie iść?

  • Meetups. Istnieje mnóstwo grup tech Meetup do wyboru, osobiście lub online, niektóre nawet koncentrują się na konkretnych technologiach. Kochasz JavaScript? Najprawdopodobniej istnieje lokalna grupa zajmująca się tą tematyką. Poszukaj też grup oferujących mentoring, takich jak lokalne oddziały organizacji Women Who Code. Dodatkowa wskazówka: Danny Thompson zaleca, aby zgłaszać się na ochotnika na wydarzeniach Meetup i dodawać to do swojego CV i LinkedIn. Jest to szczególnie przydatne dla osób, które szukają pracy w branży dev bez żadnego doświadczenia.
  • Coffee Chats. Czaty przy kawie to fantastyczny sposób na poznanie ludzi z Twojej przyszłej dziedziny. Zrobione osobiście lub online przez Zoom lub Google Meet, spędzisz 15-30 minut zadając pytania doświadczonym devom, takie jak: „Jak wygląda twój dzień jako developer” lub „Jakie rady dałbyś komuś rozpoczynającemu swoją podróż w kodowaniu?” (Sprawdź kilka dodatkowych pytań tutaj).
  • Media społecznościowe. Tech Twitter i Discord to świetne miejsca do poznawania ludzi na wszystkich poziomach ich kariery. Natkniesz się na wielu devów, którzy są bardziej niż chętni do czatów przy kawie i oferują swoją wiedzę. DM je przez krótko przedstawiając się, co przyciągnęło cię do ich profilu, i prosząc o rozmowę przy kawie. (Wysłanie DM z samym „hello” nie załatwi sprawy 😄).

Networking… zrób to!

8. Tutoriale są świetne, ale to tylko część nauki.

Oglądałeś setki godzin tutoriali i pilnie śledziłeś wszystkie projekty. Teraz jesteś gotowy, aby ubiegać się o swoją pierwszą pracę, prawda? Pomyśl jeszcze raz.

Sposobem na prawdziwe ugruntowanie tych wszystkich rzeczy, których się nauczyłeś, jest PRAKTYKA.

Poniżej przedstawiamy kilka stron z grami dla początkujących i zaawansowanych oraz możliwościami budowania, które poprawią Twoje umiejętności kodowania i sprawią, że będziesz gotowy do rozmowy kwalifikacyjnej.

Początkujący –

Bardziej zaawansowany –

„Wiedza nie ma żadnej wartości, jeśli nie zastosujesz jej w praktyce”.

Anton Czechow

9. To jest w porządku, aby zmienić kierunek lub cele zawodowe podczas swojej podróży edukacyjnej.

Bądź ze sobą szczery. Czy robienie tego naprawdę uczyni mnie szczęśliwym? Czy jestem wystarczająco poinformowany o tym, co robi programista, aby stwierdzić, czy ta kariera jest dla mnie?

Jeśli uważasz, że masz wystarczająco dużo informacji, aby podjąć tę decyzję i czujesz, że rozwój jest świetnym wyborem, fantastycznie! Jeśli uważasz, że to może nie być dla Ciebie, to pivot! Jest tak wiele pozycji w tech poza rozwojem. Nikt nie będzie cię zawstydzał. To Twoje życie i musisz je przeżyć – rób to, co uważasz, że Cię uszczęśliwi.

10. Baw się dobrze!

Ucząc się kodowania, czasami wywieramy na siebie tak dużą presję, aby nauczyć się jak najwięcej, tak szybko jak to możliwe.

Ponadto, kiedy nie kodujemy, czujemy się winni, że nie kodujemy. Rezygnujemy z czasu z przyjaciółmi i rodziną, odkładamy nasze potrzeby na bok, skupiamy się laserowo na dążeniu do naszego celu i całkowicie się tym stresujemy. To może być błędne koło.

Nie musi tak być. Utrzymując rzeczy w perspektywie, biorąc przerwy, praktykując samoopieki i upewniając się, aby wstrzyknąć zabawy w swojej podróży, Twoja ścieżka będzie znacznie bardziej przyjemne doświadczenie.

Ten proces to ekscytujący czas, pełen nadziei i możliwości. Zdolność do budowania i utrzymywania strony internetowej lub aplikacji jest niesamowitą, pożądaną umiejętnością. Będziesz patrzeć z sentymentem na ten czas w swoim życiu i być dumnym z tego, jak daleko zaszedłeś.

To może Cię zainteresować: Dobra zabawa – ciekawe gry dla programistów

Wnioski

Podsumowując, 10 rzeczy, które chciałbym wiedzieć, gdy zaczynałem moją podróż do kodowania….

  • Możesz nauczyć się kodować za darmo.
  • Pace yourself.
  • To jest w porządku, aby kodować tylko trochę lub nic w ogóle niektóre dni.
  • Podczas twojej podróży edukacyjnej będą wspaniałe dni.
  • Będą też „złe” dni.
  • Otaczaj się pozytywną energią.
  • Networking jest naprawdę ważny.
  • Tutoriale są świetne, ale są tylko częścią nauki.
  • To jest w porządku, aby zmienić kierunek lub cele zawodowe podczas podróży edukacyjnej.
  • Baw się dobrze!

Ucząc się kodowania, rozpoczynasz przygodę pełną nieskończonych możliwości. Nie jest to łatwy wyczyn, ale walka jest tego warta.

Mam nadzieję, że te wskazówki okażą się tak samo przydatne jak ja w twojej własnej podróży po kodowaniu.

Szczęśliwego kodowania!

Oryginalny artykuł: https://dev.to/marisabrantley/10-things-i-wish-id-known-when-starting-my-coding-journey-3ga1