Spis treści:

Darmowy kurs Pythona ➞ Mini kurs dla początkujących i doświadczonych programistów. 4 ciekawe projekty w portfolio, komunikacja na żywo z prelegentem. Kliknij i odkryj, czego możesz nauczyć się na kursie.
Dowiedz się więcejVladislav Ryzhov to nazwisko kojarzone z profesjonalizmem i wysokim poziomem kompetencji w swojej dziedzinie. Jego osiągnięcia i doświadczenie czynią go prominentną postacią w branży. Vladislav aktywnie angażuje się w projekty mające na celu opracowywanie i wdrażanie innowacyjnych rozwiązań. Jego podejście do pracy charakteryzuje się dbałością o szczegóły i zaangażowaniem w ciągłe doskonalenie. Dzięki swojemu zaangażowaniu i pracy zespołowej Vladislav Ryzhov zdobył szacunek współpracowników i klientów. Jego wiedza i doświadczenie pozwalają mu skutecznie rozwiązywać złożone problemy i osiągać wyznaczone cele.

Ekspert w swojej dziedzinie posiada głęboką wiedzę i doświadczenie, co pozwala mu skutecznie rozwiązywać problemy i udzielać cennych rekomendacji. Jego profesjonalne umiejętności i umiejętność analizy sytuacji czynią go niezastąpionym specjalistą. Ekspert aktywnie śledzi najnowsze trendy i nowości w swojej dziedzinie, co gwarantuje aktualność informacji i wysoką jakość świadczonych usług. Dzięki temu jest w stanie oferować innowacyjne rozwiązania, które odpowiadają potrzebom klientów i wymaganiom rynku.
Vladislav Ryzhov, aktywny użytkownik Twittera o nicku @_Vlod_, pracuje w firmie IT Lad. Jego główną specjalizacją jest backend development w Node.js dla znanej sieci sklepów obuwniczych. W wolnym czasie Vladislav uczy się języka angielskiego, co ułatwia mu podróżowanie.
W zeszłym roku poświęciłem całe lato na naukę JavaScriptu i postawiłem sobie za cel ukończenie wszystkich kursów, przeczytanie książek i artykułów o JavaScript do 1 września. Udało mi się to zrealizować i zostało mi jeszcze kilka wolnych dni. Teraz jestem gotowy, aby rozpocząć naukę Reacta.
Wybrałem React z kilku powodów. Po pierwsze, jest on bardzo popularny wśród programistów, co sprawia, że jest bardzo pożądany na rynku pracy. Po drugie, liczba ofert pracy związanych z Reactem znacznie przewyższa liczbę ofert pracy dla innych technologii, otwierając więcej możliwości rozwoju kariery. Co więcej, wielu ekspertów i źródeł rekomenduje naukę tego frameworka, potwierdzając jego przydatność i skuteczność w tworzeniu nowoczesnych aplikacji internetowych.
Niniejszy artykuł powstał w oparciu o dyskusję zaprezentowaną w wątku na Twitterze. Ten format pozwala na szybką i skuteczną wymianę opinii i pomysłów. Twitter staje się ważną platformą do dyskusji na aktualne tematy, gdzie użytkownicy mogą dzielić się swoimi poglądami i reagować na opinie innych. Co ważne, takie dyskusje pomagają budować społeczność i kształtować opinię publiczną. Wątki na Twitterze mogą służyć jako źródło informacji i inspiracji do głębszych badań, dyskusji i analiz. Pomagają identyfikować trendy i nastroje społeczne oraz stwarzają okazję do konstruktywnego dialogu.
Gdzie zacząłem się uczyć
Nadszedł 1 września. Wróciłem do akademika, uruchomiłem samouczek wideo „React w godzinę” na moim starym laptopie i zacząłem tworzyć swoją pierwszą aplikację za pomocą Create React App.
Laptop był znacznie wolniejszy niż mój komputer domowy. Instalacja i konfiguracja Create React App zajęła mi całe 20 minut. Na mocniejszym urządzeniu ukończyłbym te zadania w kilka minut i od razu przeszedłbym do kodowania. Zamiast tego musiałem poczekać i zająć się innymi rzeczami. Uczyłem się w ten sposób przez około trzy miesiące, aż dostałem nowy laptop.
Po przygotowaniu projektu z wykorzystaniem Create React App zacząłem oglądać filmy instruktażowe. Postępowałem zgodnie z przykładem autora, ale nie byłem w stanie w pełni zrozumieć materiału. Prawie nic nie było jasne. W końcu zdecydowałem się skorzystać z samouczka na oficjalnej stronie React. Był interesujący, ale mimo to nadal nie mogłem w pełni zrozumieć koncepcji.
Zacząłem pisać dokumentację i zapoznałem się z podstawami w ciągu 3-4 dni. Następnie zacząłem tworzyć swój pierwszy projekt – grę idle z tabelą wyników, która wykorzystuje Firebase do przechowywania danych. Podczas rozwoju projektu stosowałem podejście obiektowe, bez uciekania się do bibliotek zewnętrznych, a z Firebase korzystałem za pomocą standardowej metody pobierania (fetch). Ukończyłem projekt w około 1-2 tygodnie.
Opanowałem podstawowe zasady i skutecznie utrwaliłem swoją wiedzę, studiując dokumentację.
Kontynuowałem studiowanie dokumentacji. Z każdą nową warstwą informacji, zrozumienie stawało się coraz bardziej złożone i pojawiały się pytania dotyczące jej zastosowania. Mimo to aktywnie robiłem notatki i przeglądałem kod w moim IDE. Aby przyspieszyć proces nauki, czytałem dokumentację nawet na zajęciach i podczas przerw na uczelni. Ćwiczyłem tematy, które uważałem za najważniejsze, po wykładach, ignorując resztę.
Klon Twittera i pierwsze sukcesy
Stopniowo uczyłem się hooków. Na pierwszy rzut oka wydawały się jeszcze bardziej skomplikowane i zagmatwane. Filmy, dokumentacja i artykuły nie zawsze zawierały niezbędne wyjaśnienia, ale w końcu udało mi się zrozumieć podstawowe hooki. To pozwoliło mi lepiej zrozumieć ich funkcjonalność i zastosowanie w projekcie. Teraz czuję się pewniej w korzystaniu z hooków i jestem gotowy, aby wdrożyć je w praktyce.
Stanąłem przed ważnym wyborem: pracować nad własnym projektem czy zagłębić się w nowe technologie, takie jak Redux, o którym dużo się mówi. Ponieważ jednak dokumentacja Redux jest napisana po angielsku, a ja mam z tym językiem trudności, postanowiłem odłożyć naukę na później. Zamiast tego postanowiłem stworzyć własną sieć społecznościową. Miałem już gotowe makiety dla Facebooka, Twittera i LinkedIn w Figmie i zdecydowałem się na Twittera.
Wtedy natknąłem się na bibliotekę Styled-components i postanowiłem zintegrować ją z moim projektem opartym na hookach. Chociaż nie miałem doświadczenia w pracy z bazami danych, zdałem sobie sprawę, że są one niezbędne do wdrożenia tej funkcjonalności. Wybrałem Firebase, ponieważ ta platforma ułatwia konfigurację autoryzacji, w tym autoryzacji przez Google. Ta decyzja znacznie uprościła proces rozwoju i poprawiła komfort użytkowania.
Zdecydowałem się zrezygnować z korzystania z bibliotek zewnętrznych i zaimplementowałem routing kontekstowy. Teraz zdaję sobie sprawę, że nie było to najoptymalniejsze rozwiązanie, ale w tamtym czasie wydawało się jedyną opcją. W rezultacie ukończyłem klon Twittera w około cztery tygodnie. Proces był ekscytujący, wymagający i oczywiście obarczony dużą ilością kodu niskiej jakości.
Po ukończeniu głównych funkcji wdrożyłem projekt na serwerze, zaktualizowałem CV i opublikowałem je na platformie JavaScript Jobs. Później, kiedy odwiedziłem stronę projektu, natknąłem się na krytykę i wiadomości w stylu „nic nie działa” i „projekt to porażka”. To oczywiście trochę mnie zdenerwowało, ale kontynuowałem ulepszanie funkcjonalności. Kiedy wydałem nową wersję, negatywne recenzje zniknęły – pozostały tylko wiadomości testowe w stylu „to mój testowy tweet” i pozytywne odpowiedzi. W ten sposób ciągłe ulepszanie projektu doprowadziło do poprawy doświadczenia użytkowników i ich satysfakcji.
Jak zdałem sobie sprawę, że kocham backend
Dwa tygodnie później zaproponowano mi rozmowę kwalifikacyjną w firmie IT. Podczas rozmowy zadawano pytania z przygotowanej wcześniej listy, ale pytano również, czy stworzyłem jakieś ulubione projekty. Nie mogę powiedzieć, czy miało to wpływ na moje otrzymanie pracy; prawdopodobnie nawet nie spojrzeli na moje portfolio, ale dla mnie było to cenne doświadczenie. Tworzenie ulubionych projektów nie tylko pozwoliło mi pogłębić moje umiejętności, ale także zademonstrować je w rzeczywistych sytuacjach.
Po rozmowie kwalifikacyjnej długo czekałem na odpowiedź, ale dział HR zawsze był w kontakcie. W międzyczasie zacząłem oglądać kurs na YouTube, gdzie instruktor budował projekt przypominający Twittera, korzystając ze stosu MERN. W tym momencie zdałem sobie sprawę, że wolę programowanie backendu, mimo że niektórzy mogą uważać backend Node.js za niepełnoprawny backend.
Przez długi czas nie rozumiałem, dlaczego chcę zostać front-end developerem. Kodowanie nigdy mnie tak naprawdę nie interesowało, ale robiłem to, ignorując swoje prawdziwe pragnienia. Dzięki Reactowi proces ten stał się nieco bardziej angażujący, ale szybko stracił na atrakcyjności.
Ukończyłem kurs i byłem gotowy do pracy. Firma prowadziła bootcamp mający na celu szkolenie full-stack developerów, zarówno front-end developerów, jak i back-end developerów. Pracowaliśmy nad ulubionymi projektami, opanowaliśmy nowoczesne technologie, a moja chęć pracy nad back-endem stała się jeszcze silniejsza.
Całkowicie poświęciłem się back-end developmentowi i powierzono mi stworzenie systemu CI/CD. Projekt jest imponujący pod względem skali, więc za front-end odpowiada osobny zespół, podczas gdy my skupiamy się na programowaniu w Node.js i C#. Tylko raz musiałem wprowadzić zmianę w wywołaniu funkcji w React. Od tamtej pory nie miałem styczności z frontendem.
Cieszę się, że udało mi się pomyślnie przejść z jednej dziedziny do drugiej, zachowując przy tym całą swoją wiedzę i umiejętności. Gdybym jednak zaczął uczyć się backendu rok temu zamiast Reacta, być może osiągnąłbym większy sukces i programowanie sprawiałoby mi więcej przyjemności. Posłuchałem rady i nie eksperymentowałem z innymi obszarami, bojąc się marnować czas na zostanie programistą. Myślałem, że prawie opanowałem frontend i byłoby za późno na zmianę kierunku – w końcu włożyłem w to już dużo wysiłku.
W tej chwili nie mam ochoty wracać do programowania frontendu. Nie dlatego, że frontend jest zły, po prostu nie czuję się do niego obecnie pociągany. Niemniej jednak React odegrał ważną rolę w mojej drodze do IT. Dzięki tym ramom mogłem zanurzyć się w dziedzinie technologii informatycznych, co potwierdza, że mój wybór sprzed roku był słuszny.
Jeśli dopiero zaczynasz uczyć się programowania, ważne jest, aby wybrać język lub dziedzinę, która Cię interesuje. Nie zmuszaj się do nauki czegoś, czego nie lubisz. Wypróbuj różne technologie, a być może znajdziesz coś, co Cię zainspiruje i zaangażuje. Lepiej poświęcić czas na eksperymentowanie z różnymi językami, niż później zmagać się z brakiem motywacji i nudą. Wybór odpowiedniego języka programowania może znacząco poprawić jakość nauki, uczynić ją bardziej produktywną i przyjemną.

