11.05.20226 min

Maciej OlanickiRedakcja Bulldogjob

Frontend Developer – ścieżki rozwoju kariery

Sprawdź, w jakich kierunkach możesz rozwijać swoją karierę, będąc Frontend Developerem.

Frontend Developer – ścieżki rozwoju kariery

Frontend Developer to specjalizacja, którą najczęściej wybierają osoby rozpoczynające swoją karierę w IT. Trudno się dziwić – wykorzystuje się tam względnie przyjazne użytkownikowi języki programowania i narzędzia, nie ma się też na ogół do czynienia bezpośrednio np. z bazami danych, zaś rezultaty prac są namacalne, widoczne. 


Frontend Developer w Polsce

W kontekście stosunkowo niskiego progu wejścia pewnym zaskoczeniem może być, że według Badania Społeczności IT Frontend Developerzy stanowią zaledwie 17% wszystkich programistów. Odsetek ten pozostaje w zasadzie niezmienny od lat. 

Rzecz jasna ich podstawowym narzędziem frontendowców jest język JavaScript, konieczna jest też znajomość HTML-a i CSS. Coraz częściej programuje się także w TypeScripcie, o czym szerzej za moment. Co ciekawe, wśród frontendowców relatywnie niewielka jest znajomość innych technologii – SQL-a zna tylko 22%, PHP - 17%, a Pythona 11%. 

Frontend Developer w Polsce zarabia na umowie o pracę średnio 6 597 zł. W przypadku współpracy w formacie B2B może liczyć na 14 821 zł, przy czym należy zaznaczyć, że jest to kwota netto na fakturze, a nie „na rękę”. Jeśli zaś chodzi o zlecenia i dzieła, to średnio można na nich zarobić 5 902 zł miesięcznie. 


Frontend Developer – ścieżki kariery

Co zatem robi Programista Frontend? Oczywiście tworzy interfejsy użytkownika i właśnie to stanowi jego główną ścieżkę kariery. Wybór pojawia się jednak w zakresie stosowanych technologii i nie chodzi tu wyłącznie o znajomość frameworków, bibliotek i innych narzędzi deweloperskich, ale także o język programowania.


JavaScript czy TypeScript

Ale jak to? Przecież przed momentem wyjaśniliśmy sobie, że JavaScript to najważniejsze narzędzie pracy na frontendzie. To prawda, lecz coraz częściej zarówno programiści, jak i liderzy techniczni wybierają nie JS, lecz TypeScripta. Jest to odmiana JavaScript opracowana przez Microsoft, która cechuje się m.in. opcjonalnym statycznym typowaniem.

Statyczne typowanie oznacza, że w momencie interpretowania skryptu  znane są typy wszystkich zmiennych, programista musi je określić. Jeśli zatem w kodzie będzie błąd związany z typami, to dowie się o nim programista w konsoli, a nie użytkownik podczas uruchamiania aplikacji. W przypadku dynamicznego typowania interpreter „przepuści” błędy, a z konsekwencjami będzie mierzył się końcowy użytkownik.

Wśród innych zalet TypeScript wymienia się funkcję interferencji typów, składnię, która jest czytelniejsza, niż w przypadku JavaScript oraz możliwość pełnej kompilacji kodu do JavaScript, co zapewnia kompatybilność ze wszystkimi współczesnymi przeglądarkami. 

Wybór między JavaScript a TypeScript to pierwsze rozgałęzienie na ścieżce kariery frontendowca. Rosnąca popularność TypeScript to jednak trend stosunkowo nowy. Zdecydowana większość użytkowników tego zaczynała od JavaScript i siłą rzeczy zna oba języki, zwłaszcza że w składni są bardzo zbliżone. Już dziś nie brakuje jednak ofert, które precyzują, że projekt realizowany będzie w TypeScript. Niewykluczone zatem, że wkrótce na rynku pracy będą programiści z doświadczenie pracy wyłącznie w TS.


React

Jak już wspomniano, wybór ścieżki kariery w przypadku Frontend Developerów sprowadza nie tyle do tego, co będą robić, lecz jak. A konkretniej – z jakich narzędzi będą korzystać. Od lat najpopularniejszą biblioteką programistyczną na frontendzie pozostaje rozwijany przez Facebooka React. Jego solidność ciągły i prężny rozwój (o ważnych nowościach w najnowszej wersji pisaliśmy tutaj) przekłada się na to, że z Reactem pracuje dziś aż 61% wszystkich frontendowców. 

React jest biblioteką znacząco upraszczającą pracę frontendowca. Cała koncepcja bazuje na tym, aby developer zaprojektował interfejs, jaki potrzebny jest w konkretnym przypadku użycia aplikacji, a React ma zająć się resztą. Kluczową rolę odgrywa tutaj wirtualizacja DOM. VDOM przechowywany jest w pamięci i jeśli interfejs aplikacji zostanie zaktualizowany, to jest on synchronizowany DOM. 

To pośrednictwo ma ważne konsekwencje stanowiące mocne strony Reacta, m.in. deklaratywne API czy szybkość, z jaką wprowadzać można aktualizacje. Kolejną ważną cechą Reacta jest wykorzystanie JSX. Jest to rozszerzona składnia JavaScript, która pozwala umieszczać wśród kodu znaczniki HTML. Składnia JSX jest przez Reacta automatycznie tłumaczona na obiekty. 

Popularność Reacta wynika także z jego wszechstronności. Nic nie stoi na przeszkodzie, by z użyciem biblioteki zbudować interfejs komunikatora, rozbudowanej aplikacji przeglądarkowej, np. serwisu społecznościowego (wszak React powstał właśnie po to, by uprościć prace nad czymś tak gigantycznym, jak Facebook) czy platformę e-commercową. React wykorzystywany jest także w pracach na Twitterem, Slackiem, YouTubem czy Medium. Więcej na temat Reacta można przeczytać tutaj.


Vue.js

Choć dominacja Reacta na frontendzie jest zdecydowana, to wielu programistów korzysta także Vue.js. Framwork jest aktywnie rozwijany od 2014 r. przez zgromadzoną wokół projektu. Podobnie jak w przypadku Reacta, mamy tu do czynienia z wirtualnym DOM-em, co przyśpiesza i upraszcza prace nad aplikacjami. Warto też wiedzieć, że aplikacje w Reakcie budowane są z użyciem komponentów wielorazowego użytku, a także że bindowanie danych przebiega jednokierunkowo.

Twórcy Vue.js są zdania, że to w tej chwili najbardziej wydajny mainstreamowy javascriptowy framework. Ma on być także lekki – skompresowana aplikacja wyświetlająca „Hello World!” z załadowanym minimalnym API ma wielkość 16 kilobajtów, zaś przykładowy interfejs wykorzystujący wszystkie możliwe funkcje Vue „waży” zaledwie 27 kilobajtów. 

Choć implementacja Vue została napisana w TypeScript i w ogóle można odnieść wrażenie, że twórcy chcą by framework był „TypeScript-first”, to oczywiście nic nie stoi na przeszkodzie, aby wykorzystywać JS-a. Vue to projekt o ugruntowanej pozycji i dużej społeczności, korzysta z niego między innymi Netflix, Apple, GitLab czy Trivago. 


Angular

Kolejną ścieżką kariery Frontend Developera może być praca z frameworkiem Angular.  Jego mocną stroną jest przede wszystkim wszechstronność, co może zainteresować programistów, którzy chcą projektować interfejsy na różne platformy. Dzięki Angularowi można tworzyć interfejsy zarówno dla aplikacji klasy RIA, jak i efektywnie budować Progressive Web Apps.

Do najważniejszych funkcji Angulara należy data binding pozwalający na automatyczne synchronizowanie danych pomiędzy modelem a widokiem, dzielenie kodu pozwalające na ładowanie tylko tych jego fragmentów, które są niezbędne do wyświetlenia żądanego widoku. Z użyciem Angulara zbudowane są interfejsy takich stron, jak wyszukiwarka i wiele innych usług Google (właśnie przez jej twórców został stworzony Angular), PayPal czy IndieGoGo.

Node.js

O ile trudno powiedzieć, że Node.js może sam w sobie stanowić ścieżkę kariery, to jednak często nazwa środowiska pojawia się w ofertach pracy dla Frontend Developerów. 

Node.js to nie framework czy biblioteka, lecz środowisko uruchomieniowe zbudowane na znanym z Chrome’a silniku V8 z dorzuconymi dodatkowymi bibliotekami. Jego najważniejszym zastosowaniem jest możliwość uruchamiania aplikacji napisanych w JavaScript na serwerach, a także w środowiskach systemów operacyjnych: Windowsa, Linuksa i macOS-a. Dzięki Node.js można tworzyć dynamiczne strony, dokonywać operacji na plikach na serwerach oraz zbierać dane i modyfikować je w bazach. Z Node.js korzysta między innymi Uber, Trello, eBay czy Groupon.


Łączenie ścieżek kariery

Analizując różne warianty, należy zaznaczyć, że wymienione już ścieżki kariery nie tylko wzajemnie się nie wykluczają, ale wręcz uzupełniają, krzyżują. Nie należy więc obawiać się, że raz podjęta decyzja będzie miała swoje nieodwracalne konsekwencje i wykluczy pozostałe możliwości. Wręcz przeciwnie, im większa liczba znanych frameworków i bibliotek, tym większe możliwości ma programista. 

W ramach bonusu dorzucamy garść przydatnych linków, dzięki którym wybór optymalnej ścieżki kariery frontendowca może okazać się łatwiejszy:


.
<p>Loading...</p>