Jak nauczyć się programowania - 2023r
Jak przeżyłem rok nauki programowania w 2023
Zacznijmy od tego, że nie jestem programistą. Nie jeszcze. Jestem gościem, który rok temu postanowił, że czas zmienić swoje życie i nauczyć się kodować. Ten tekst to moja szczera relacja z frontu walki z kodem, błędami i własną głupotą.
Styczeń - Wielkie plany, małe możliwości
Pamiętam jak 2 stycznia usiadłem z kubkiem kawy i postanowiłem, że nauczę się programowania. Wybrałem JavaScript, bo wszyscy mówili, że to dobry start. Kupiłem kurs online za 300 złotych. Myślałem, że za miesiąc będę pisał aplikacje.
Rzeczywistość: po trzech dniach nie rozumiałem różnicy między var, let i const. Spędziłem cały weekend na jednym, głupim ćwiczeniu z pętli for. Żona pytała "czemu tak się męczysz?" - nie miałem dobrej odpowiedzi.
Luty - Pierwsza wielka porażka
Postanowiłem zrobić własny projekt - prostą listę zadań. Wydawało się proste: dodaj zadanie, usuń zadanie, zapisz w przeglądarce. Po tygodniu miałem działające dodawanie, ale usuwanie nie działało. W ogóle.
Największa lekcja z lutego: nie każdy problem da się rozwiązać w jeden wieczór. Czasem trzeba odpuścić, iść spać, a rano nagle wiesz co było nie tak.
Marzec - Problem z infrastrukturą
Tu natrafiłem na nieoczekiwany problem. Mój internet, ten sam od lat, okazał się zbyt wolny do nauki programowania. Kiedy oglądałem kursy online, film się zacinał. Kiedy próbowałem pobrać jakieś narzędzia, zajmowało to wieczność.
Znajomy programista powiedział mi wprost: "bez dobrego internetu się nie nauczysz". Sprawdziłem oferty i zmieniłem dostawcę internetu. To była jedna z lepszych decyzji w tym roku. Nagle cały proces nauki przyspieszył.
Kwiecień - Pierwsze "aha!"
Pamiętam ten dzień - 15 kwietnia. Nagle zrozumiałem jak działa local storage. To nie była jakaś wielka magia, po prostu kliknął. Napisałem funkcję, która zapisywała moją listę zadań w przeglądarce. Działała. Poczułem się jak geniusz.
To był mój pierwszy prawdziwy sukces. Coś, co napisałem samodzielnie, bez tutoriala, działało tak jak chciałem. Wydrukowałem ten kod i powiesiłem nad biurkiem. Dziwne? Może. Ale działało motywująco.
Maj-Czerwiec - Plateau
Przez dwa miesiącie nie robiłem żadnych postępów. Umiem tyle, ile umiałem w kwietniu. Próbowałem Reacta, ale to było za trudne. Wróciłem do vanilla JavaScript, ale już mnie to nie cieszyło.
Prawie rzuciłem. Myślałem, że może to nie dla mnie. Każdy mówi, że programowanie jest fajne, a ja czułem tylko frustrację.
Lipiec - Wakacyjny reset
Wyjechałem na tydzień bez komputera. Zero kodu, zero tutoriali. Kiedy wróciłem, spojrzałem na swój projekt świeżym okiem. I nagle zobaczyłem błąd, który uniemożliwiał usuwanie zadań - głupia literówka w zmiennej.
Naprawiłem to w 5 minut. Po pół roku moja lista zadań wreszcie działała tak jak powinna.
Sierpień - Pierwsze prawdziwe wyzwanie
Postanowiłem dodać do mojej listy zadań możliwość edycji. Brzmi prosto, prawda? Dla mnie to było jak wspinaczka na Mount Everest. Dwa tygodnie walki, setki wyszukiwań w Google, dziesiątki pytań na forach.
Największy problem: event delegation. Nie rozumiałem dlaczego moje przyciski edycji nie działają na dynamicznie dodanych elementach. Spędziłem trzy dni na tym jednym problemie.
Wrzesień - Przełom
Kiedy wreszcie zrozumiałem event delegation, coś kliknęło. Nagle zacząłem rozumieć nie tylko jak coś zrobić, ale dlaczego to działa tak a nie inaczej. To było jak magiczne przejście w grach - nagle nowy poziom trudności.
Moja aplikacja miała teraz pełny CRUD - create, read, update, delete. Mogłem dodawać, czytać, edytować i usuwać zadania. Działało to w przeglądarce, zapisywało stan. Byłem z siebie dumny.
Październik - Responsywność i inne potwory
Stwierdziłem, że moja aplikacja powinna działać na telefonie. Zacząłem uczyć się CSS i responsive design. To była zupełnie nowa wojna. Flexbox wydawał się prosty, ale w praktyce był koszmarem.
Znowu miałem problemy z internetem - tym razem przy testowaniu na różnych urządzeniach i przeglądarkach. Okazało się, że mój nowy dostawca ma lepszy routing do serwerów developerskich.
Listopad - Refaktoryzacja
Spojrzałem na swój kod po roku i zobaczyłem straszny bałagan. Zmienne o nazwach a, b, c. Funkcje, które robiły trzy różne rzeczy. Komentarze typu "tu się wywala, nie ruszaj".
Spędziłem cały miesiąc na porządkowaniu. Nauczyłem się o czystym kodzie, zasadach takich jak DRY i KISS. Mój kod stał się czytelniejszy, choć wciąż daleki od ideału.
Grudzień - Podsumowanie
Minął rok. Nie jestem programistą, ale już nie jestem kompletnym nowicjuszem. Potrafię:
- Napisać działającą aplikację webową
- Zrozumieć większość podstawowych konceptów JavaScript
- Debugować swoje błędy (choć wciąż zajmuje mi to za długo)
- Szukać rozwiązań w dokumentacji
Czego się nauczyłem poza kodem?
1. Bez dobrego internetu ani rusz. Wszystko jest online: kursy, dokumentacja, narzędzia.
2. Lepiej uczyć się regularnie po 30 minut niż rzadko po 5 godzin.
3. Nie porównywać się z innymi - każdy ma swoją drogę.
4. Czasem trzeba odpuścić i wrócić do problemu następnego dnia.
Plan na 2024? Nauczyć się Reacta, zrobić portfolio, może nawet aplikować na juniora. Ale przede wszystkim - nie przestać się uczyć. Bo jak się okazuje, w programowaniu najfajniejsze jest to, że zawsze jest coś nowego do odkrycia.
Jeśli też się uczysz - powodzenia. I pamiętaj: każdy kiedyś zaczynał. Nawet ci, którzy teraz wydają się bogami kodu.
Dostawcyinternetu Wszelkie prawa zastrzeżone 2023
