O tym jak zaplanowałam ścieżkę nauki front-endu (i skąd wiedziałam, że już ją zrealizowałam)

Wyznaczanie ścieżki samodzielnej nauki jakiegoś zagadnienia może wydawać się trudnym zadaniem, zwłaszcza jeżeli nie robiliśmy tego nigdy wcześniej. Tak właśnie było w moim przypadku, jednak po wielu rozterkach wypracowałam sobie własną mapę obszarów front-endowych do opanowania wraz z metodą sprawdzania efektów nauki. Dzisiaj opowiem jak tego dokonałam.

Od chaosu do planowania

W lecie 2017 roku poruszałam się już w miarę sprawnie w gąszczu HTMLowych tagów i potrafiłam dopisywać do nich style w CSS (co wcale nie oznacza, że robiłam to optymalnie i „zgodnie ze sztuką”). Po pierwszym frustrującym dryfowaniu w oceanie kursów JavaScript w końcu trafiłam na taki, który mnie satysfakcjonował (szerzej pisałam o tym tutaj). Postanowiłam również usystematyzować moją ścieżkę nauki i stworzyć sobie plan do realizacji. Zaczęłam się zastanawiać co muszę potrafić, żeby mieć jakiekolwiek szanse w rekrutacji na staż lub stanowisko juniorskie.

Pierwsze co zaczęłam przeglądać to ogłoszenia o pracę i staże dla junior front-end developerów. To był strzał w dziesiątkę, ale niestety pogłębił też moje zagubienie w wyborze obszarów do nauki. Stało się tak, ponieważ nazwy stanowisk i zakresy obowiązków z różnych firmach diametralnie różnią się między sobą.

Junior front-end developer – kto to taki?

W mojej karierze spotkałam się z wieloma sposobami rozumienia zakresu obowiązków junior front-end developera. Poniżej znajduje się kilka przykładów z mojego życia – w firmie A to osoba, która:

  • przystosowuje widok prostych stron internetowych do makiet
  • zwraca uwagę na semantyczny kod HTML
  • zna metodykę BEM pisania CSS
  • zna podstawy PHP (na baaardzo niezaawansowanym poziomie)
  • zna podstawy jQuery (ale znajomość JS głębsza niż powodowanie latania czegoś po stronie nie jest wymagana)
  • zwraca uwagę na „pixel perfect” – czyli potrafi idealnie odwzorować kodem to, co zaprojektuje grafik

W firmie B osoba zatrudniona na stanowisku o tej samej nazwie:

  • tworzy rozbudowane aplikacje webowe
  • zna podstawy SQL i teorię relacyjnych baz danych
  • posługuje się sprawnie frameworkiem React
  • zna JavaScript w standardzie ES6
  • potrafi pisać style za pomocą preprocesora Less
  • posługuje się narzędziem kontroli wersji GIT
  • posługuje się podejściem „mobile first”
  • zna metodologię SCRUM

A teraz junior w firmie C:

  • utrzymuje nieresponsywne aplikacje webowe
  • zna JS w ES6 i framework Vue
  • posługuje się Webpackiem
  • potrafi pisać kod w ActionScript
  • umie tworzyć animacje w Flashu
  • obsługuje program do edycji dźwięku AudaCity
  • zna metodologię Kanban
  • potrafi dostosować kod do starych przeglądarek internetowych, np. Internet Exporer w wersji 8

Obszary zainteresowania front-end developmentu

Jak widać, łatwo pogubić się w gąszczu wymagań. Na szczęście trafiłam na rozpiskę, czego w 2017 taki junior front-end mógłby kolejno się uczyć. Grafika i rozpiska znajduje się tutaj, jednak od tamtej publikacji minęły już dwa lata co we front-endzie jest prawie przepaścią pokoleniową 😉 dlatego poniżej zamieszczam mocno rozbudowaną wersję z 2019 roku.

Moja ścieżka nauki

Na podstawie tych drogowskazów oraz planów zajęć ze szkół programowania, wytyczyłam sobie własną ścieżkę nauki. Na początek wybrałam podstawy, które chciałam potem rozbudowywać o kolejne moduły. Po wielu modyfikacjach moja rozpiska wyglądała następująco:

Framework Vue oraz Webpack zostały dodane później, kiedy zakwalifikowałam się do programu Learn IT, Girl (szerzej o programie napiszę za tydzień). Jednak zależało mi na tym, żeby tutaj całościowo pokazać jakie obszary z zakresu front-endu opanowałam przed rozpoczęciem poszukiwania swojej pierwszej posady.

Plan zawierał też punkty już zrealizowane, czyli naukę HTML i CSS. Czasem dobrze spojrzeć na listę rzeczy do zrobienia i móc na starcie zaznaczyć kilka pozycji 🙂

Skąd wiem, że już umiem?

Bardzo istotną kwestią w samodzielnej nauce jest ewaluacja nowych umiejętności. Oglądanie kursów to zupełnie coś innego niż pisanie własnego kodu. Tutaj nikt mnie nie przepyta ani nie da testu do wypełnienia. Musiałam więc sama znaleźć sposób na sprawdzenie czy rozumiem to, co obejrzałam.

W bardzo wielu miejscach spotkałam się z podejściem, które mówi że oglądanie tutoriali bez pisania kodu to strata czasu, który można poświęcić na programowanie. Generalnie się zgadzam, ale kiedy byłam na etapie poznawania totalnych podstaw JavaScript to nie bardzo wiedziałam co wtedy mogłabym zakodować. Oczywiście pisałam własne fizz buzzy, jednak ewaluację rozumiałam jako stworzenie samodzielnie czegoś większego.

Dlatego właśnie moja nauka polegała na obejrzeniu kursu a potem pisaniu swojego projektu i powrotach do kursu, kiedy tego potrzebowałam. Na przykład po nauce responsywności i Bootstrapa wymyśliłam sobie, że zakoduję jakąś prostą stronę, która będzie się fajnie wyświetlać na urządzeniach mobilnych. Szukałam w internecie przykładowych stron, które mi się podobają, rysowałam na kartce jak to ma wyglądać a potem po prostu pisałam. Starałam się też znaleźć kogoś, kto mógłby rzucić okiem na mój kod.

Podsumowując

W moim przypadku stworzenie sobie planu do realizacji punkt po punkcie wpłynęło bardzo pozytywnie na efektywność mojej nauki. Wytyczona ścieżka była odpowiedzią na chaos, który wkradł się w moje życie i pozwoliła uniknąć dalszych rozterek spod znaku „czego uczyć się w następnej kolejności”. Jednak najważniejsze były dla mnie projekty ewaluacyjne, które pozwalały mi sprawdzić czy opanowałam już wybraną partię materiału.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *