55430647 ml

Jak zostać front-end developerem?

Wiele osób chcąc poprawić swoją sytuację zawodową zastanawia się nad wyborem zawodu programisty. Nic dziwnego – programiści to jeden z najbardziej rozchwytywanych zawodów na rynku pracy. Zawód programisty wiąże się z ciekawymi benefitami i – co oczywiste – wysokimi zarobkami. Zawód ten kojarzony jest jednak z koniecznością odbycia ciężkich studiów, na których zdobywa się specjalistyczną wiedzę, i po których to studiach można zaczynać szukać pracy… Nic bardziej mylnego! Aby zostać programistą, nieważne czy to od strony serwerowej (backend), czy klienckiej (frontend), wcale nie potrzeba dyplomu wyższej uczelni, niezależnie od preferowanej strony. W tym artykule jednak skupimy się na „od zera do bohatera” programisty frontend.

Czym jest warstwa frontend?

Warstwa frontendowa dzisiejszych aplikacji to wszystko to co dzieje się po stronie klienta – logika aplikacji WWW działająca w przeglądarce (JavaScript), szablony stron (HTML) oraz ich ostylowanie (Kaskadowe arkusze stylów - CSS). Tak naprawdę wszystko to, co widzimy w dzisiejszych aplikacjach WWW (takich jak Facebook, Twitter, strona Twojego banku, czy serwis informacyjny) to kombinacja wymienionych przeze mnie technologii kontrolowanych właśnie przez Twoją przeglądarkę internetową. Programiści warstwy frontend (podobnie zresztą jak inni programiści na dzisiejszym rynku pracy) mogą liczyć na bardzo dobre zarobki oraz ciekawe bonusy – jak jednak zostać takim programistą?

Jak zostać programistą front-end?

Po pierwsze (i najważniejsze) – aby zostać programistą warstwy klienckiej (a także i backendowej) – nie są potrzebne żadne studia. Po prostu nie są. Studia w pewnych sytuacjach mogą być pomocne, jednak nie jest to czynnik decydujący o tym czy dostaniemy posadę programisty w konkretnej firmie. Kolejny punkt przemawiający za tym aby jednak nie iść na studia, to przewaga Javy na uczelnianych projektach. Język ten nie jest wykorzystywany w świecie frontendu, a większość zadań na zajęciach i laboratoriach na uczelni wymaga użycia właśnie tego języka (albo jest preferowana przez wykładowców – to akurat wiem z autopsji i własnych uczelnianych przygód). Warstwy frontendu nie poznamy na studiach w zadowalającym nas stopniu (nie mówiąc o konkretnych frameworkach i bibliotekach). Jest to więc dość mocny argument za tym, aby jednak odpuścić studia mając w perspektywie karierę programisty front-end. Pytanie więc – jak? Odpowiedź jest krótka – samodzielna nauka i szukanie informacji na własną rękę. Tu z pomocą przychodzi nam Internet. Kursy Online, filmy instruktażowe, dokumentacje bibliotek i frameworków, otwarte repozytoria z projektami innych programistów, fora i grupy dyskusyjne, blogi znanych programistów i twórców projektów open-source – zdecydowanie na brak źródeł wiedzy nie powinniśmy narzekać. Od czego jednak zacząć?

59 zł za 20 interaktywnych kursów programowania.

Taniej nie będzie. Sprawdź nas.

HTML i CSS – podstawy dzisiejszych stron WWW

HTML to hipertekstowy język znaczników używany praktycznie na każdej stronie WWW którą odwiedzamy. HTML pozwala nam na opisanie struktury informacji naszej strony WWW, ale także formuje linki, akapity, nagłówki. Język ten mówi nam jak dany dokument ma wyglądać w naszej przeglądarce. CSS to język formatowania treści – kaskadowe arkusze stylów służą głównie do tego, aby określić jak mają się prezentować elementy na naszej stronie internetowej. Czy dany akapit ma mieć czcionkę X, czy czcionkę Y, jakim kolorem ma być zapisany. Jak nasz element ma być położony względem innego elementu? Co z marginesami? Co z obramowaniem? Na te, i wiele innych pytań odpowiadają arkusze styli – razem z HTMLem tworzą podstawę dzisiejszych stron WWW, a ich dobre poznanie jest fundamentem jeśli idzie o bycie dobrym frontendowcem.

JavaScript – interakcja z użytkownikiem na stronie

JavaScript to język skryptowy obsługiwany w naszej przeglądarce internetowej. Wszelka funkcjonalność z użytkownikiem – czat na Facebooku, obliczenia które widzimy na stronie, animacje elementów, obsługa formularzy sieciowych – to wszystko obsługiwane jest właśnie przez JavaScript. Dowody? Wystarczy wejść na naszą ulubioną stronę WWW, a następnie wyłączyć na niej obsługę tego języka – gwarantuję Wam, że będziecie zaskoczeni ile elementów na stronie jest obsługiwanych właśnie przez ten język. Świat JavaScriptu jest bardzo bogaty. Co chwila powstają nowe Framework i biblioteki rozwiązujące różne problemy w taki czy inny sposób. Oczywiście niemożliwe jest zapoznać się ze wszystkimi bibliotekami – na to bowiem nie starczyłoby nam życia. Jest jednak kilku liczących się graczy w świecie JSa, których popularność nie zniknnie z dnia na dzień: jQuery, Angular.js, backbone.js, Ember

Aby pisać trzeba… pisać!

Sama teoria nie wystarczy. Aby zostać frontendowcem trzeba… pisać! Wymyślmy parę przykładowych projektów, a następnie spróbujmy je zrealizować. Nie musi to być od razu drugi Facebook – na sam start stwórzmy parę przykładowych stron WWW, a następnie je ładnie oscylujmy – dobrym pomysłem jest stworzyć własną wizytówkę w postaci CV online. Następnie poznajmy konkretne Framework i biblioteki – tu również nie musimy tworzyć aplikacji na wielką skalę. Wystarczy prosty blog, aplikacja typu lista zakupów – grunt to zapoznanie się z możliwościami danej technologii. Pamiętajmy o dzieleniu się naszym kodem z innymi programistami. Świetnym pomysłem jest wrzucanie wszystkich naszych prac do jakiegoś publicznego repozytorium – z pomocą przychodza serwisy takie jak GitHub czy BitBucket. Własne port folio zdecydowanie udowodni pracodawcy, że z programowaniem mieliśmy do czynienia od strony praktycznej.

Dobre praktyki – czyli jak nie pisać

Gdy poznamy już podstawy wymienionych przeze mnie technologii, warto poczytać co nieco o dobrych praktykach oraz o tym jak pisać dobry i czytelny kod. Nie sztuką jest pisać kod, który działa. Sztuką jest napisać kod który działa, ale jednocześnie jest czytelny dla innych programistów, a jego fragmenty i moduły są gotowe do ponownego użycia. Czy nasz kod zawiera małe funkcje, których nazwy wyraźnie wskazują, za co dana funkcja jest odpowiedzialna? Czy mój kod zawiera obsługę błędów, czytelne komentarze i jest odpowiednio sformatowany? Jeżeli wiemy już na czym mniej więcej polega programowanie warstwy front-end, warto poczytać zaznajomić się z dobrymi praktykami i wzorcami projektowymi. Taka wiedza na pewno przyda się na rozmowie o pracę.

Praktyka/staż – na dobry początek

Okej, udało się – przerobiliśmy kursy, przeczytaliśmy książki, subskrybujemy blogi, udzielamy się na grupach, mamy co nieco na naszym własnym repozytorium na GitHub. Czas zabrać się za poszukiwanie pierwszych zleceń. Dobrym pomysłem jest staż bądź praktyka w średniej wielkości firmie. Rozsyłajmy CV – nie bójmy się odrzucenia, pierwsza praca nie musi od razu oznaczać wielkich kokosów. Ważne jest, aby poznać świat frontendu od strony praktycznej i zmierzyć się z rzeczywistymi problemami mniejszego bądź większego korpoświata.