Polub bloga na fejsie!

Frontend Developer – co to właściwie znaczy?

14

Ostatnio na blogu wciąż tylko wpisy czysto techniczne, postanowiłem więc dla odmiany napisać dziś coś trochę innego. Temat tego posta nasunął mi się już jakiś czas temu. Co jakiś czas dostaję bowiem maila z pytaniem, jaką wiedzę trzeba posiadać aby zacząć pracę na stanowisku Frontend Developer. Do tego na blogu NetteCode pojawił się ostatnio ciekawy artykuł, w którym autorka omawia kilka ofert pracy na to stanowisko. Wynika z tego wszystkiego, że Frontend Developer to pojęcie dość szerokie. Postaram się więc dzisiaj opisać swoje obserwacje i przedstawić kilka wersji „frontendowca”!

Frontend Developer, czyli programista

Moim zdaniem, programowanie w JavaScript, często z użyciem jakiegoś frameworka, to najbardziej pasujący opis do nazwy „frontend developer”. W czasach aplikacji internetowych, stron typu SPA, gdzie wiele operacji dzieje się po stronie klienta, istnieje duże zapotrzebowanie na taką specjalizację.

Od osoby takiej wymaga się przede wszystkim bardzo dobrej znajomości języka JavaScript, dzięki któremu implementowane są wszelkie wymagane „ficzery” aplikacji. Praca nad frontendem aplikacji, polega m.in. na komunikacji z API (najczęściej REST) wystawianym przez backend w celu pobierania z niego danych. Następnie dane te są, w odpowiedni sposób, prezentowane przez część frontendową. Do tego mogą dochodzić różne operacje na tych danych, które odbywają się już po stronie przeglądarki internetowej. Frontend aplikacji służy też do odbierania informacji od użytkownika. Są one następnie odpowiednio przetwarzane i wysyłane do backendu, za pomocą tego samego API.

W powyższych działaniach, bardzo przydatne są frameworki JavaScript, które dostarczają programiście narzędzi wspomagających wykonywanie opisanych powyżej zadań. Moim zdaniem, znajomość danego frameworka jest bardzo przydatna przy poszukiwaniu pracy jako Frontend Developer, ale nie jest to warunek konieczny. Osoba, która świetnie porusza się w języku JavaScript, jest w stanie szybko przyswoić sobie zasady pracy z każdym frameworkiem JS, dostępnym na rynku. Dlatego, kiedy młodzi kandydaci na Frontend Developerów pytają mnie czego się uczyć – zawsze odpowiadam, żeby najpierw nauczyli się JavaScriptu, a potem ewentualnie skupili się na konkretnym frameworku!

Oczywiście, znajomość JavaScript i frameworka to nie wszystko. Do tego dochodzi dobra znajomość HTML i CSS – ficzery ficzerami, ale aplikacja musi też przecież dobrze wyglądać, więc nie da się bez tego obejść. Ponadto znajomość wielu różnego rodzaju narzędzi (Sass/LESS/Stylus, webpack, babel, grunt/gulp, npm, itd.) wspierających pracę, również jest ważna i przydatna.

frontend developer przy pracy nad kodem

Frontend Developer, czyli grafik-webmaster

W wielu firmach, a co za tym idzie, ogłoszeniach o pracę, na stanowisko Frontend Developera szuka się osób ze znajomością: HTML, CSS oraz Photoshopa. Czasem nazwa stanowiska jest inna, na przykład „Web Developer”. Bardzo często zakres obowiązków takiego pracownika jest przesunięty w stronę bycia grafikiem, który dodatkowo ma „ciąć” swoje dzieła i kodować je do HTML i CSS.

Moim zdaniem, jest to trochę błędne użycie nazwy „Frontend Developer”… Tutaj mamy bowiem do czynienia z grafikiem, którego obowiązki zostały poszerzone o kodowanie statycznych stron. Niemniej jednak, tego typu wymagania spotyka się w ogłoszeniach o pracę i warto zdawać sobie z tego sprawę.

Czasami też, zdarzają się jeszcze bardziej okrojone formy „Frontend Developerów”. Osoby takie nie są grafikami, a zajmują się jedynie „cięciem” grafiki i kodowaniem jej do HTML i CSS. Swoją drogą nie wiem dlaczego słowo „cięcie” wciąż funkcjonuje – przecież nie ma już prawdziwego cięcia projektów graficznych na kawałki… To odeszło bezpowrotnie wraz z layoutami opartymi o tabelki…

graficy przy pracy

Frontend Developer, czyli… fullstack? web developer?

Od czasu do czasu zdarza mi się też widzieć ogłoszenia, w którym wymagana jest bardzo dobra znajomość HTML, CSS, JavaScript oraz… np. PHP! Takie oferty pracy to raczej domena firm typu „agencja interaktywna”, gdzie oczekuje się, że programiści ogarną tworzenie od zera całych stron.

Ok, backend takich stron zwykle nie jest jakiś mocno skomplikowany, żeby dzielić go na kilka osób. Wszystko fajnie… ale nie nazywajmy tego frontend developmentem! Na szczęście, takie coś to rzadkość i pracodawcy zwykle nazywają takie stanowiska mianem „web developera”.

Często też można się spotkać z określeniem „fullstack developer”. Odnosi się ono jednak najczęściej do programisty, pracującego przy większych aplikacjach internetowych, który ogarnia zarówno część kompetencji Frontend Developera (patrz pierwszy opisany dziś typ) jak i Backend Developera (gdzie backend może być w różnych technologiach, takich jak C#, Java, Ruby, PHP itp.).

Pamiętaj też, że istnieje jeszcze Node.js, który pozwala tworzyć backend w języku JavaScript. Tutaj może się zdarzyć, że człowiek ogarniający frontend i backend w tym samym języku nazwany zostanie nie „fullstackiem”, a na przykład „JavaScript developerem”…

Podsumowanie

Powyżej opisałem tylko, moim zdaniem, najczęstsze odmiany Frontend Developera. Pojęcie to jest jednak na tyle szerokie, że bez wątpienia może się zdarzyć, że natkniesz się na jeszcze inny miks wymaganych kompetencji. Warto więc dobrze studiować ogłoszenia o pracę. Na tej podstawie da się bowiem wyciągnąć ogólny wniosek, o jaki typ „frontenda” chodzi (albo czy w ogóle chodzi o „frontenda”).

REACT, REDUX, REACT-ROUTER - KURSY ON-LINE

Chcesz od podstaw poznać tajniki React, Redux oraz react-router? Zapraszam do moich szkoleń on-line:

Przejdź do szkoleń

Uwaga! Obecnie trwa przedsprzedaż kursów - premiera 1 sierpnia 2017!

  • Jak to poznać dobrze JS? Przecież wystarczy poznać jQuery!
    #heheszki #niebraćnapoważnie

  • Sandra

    A jak się teraz przekłada grafikę na kod jeśli nie cięciem? Bo ja się dopiero uczę i pokazano mi taką metodę, a wolałabym nie robić błędów i nie tracić czasu na przestarzałe metody.

    • chodziło mi o to, ze kiedyś brało się cały plik graficzny i cięło na kawałki, które umieszczało się w całości w komórkach tabeli, która stanowiła szkielet layoutu (stąd się wzięło określenie „cięcie layoutu”)
      teraz większość wyglądu strony ogarnia się za pomocą HTML/CSS, a tylko niektóre elementy (ikonki, logo, itp.) wrzuca się na stronę jako grafikę

      • Sandra

        Ok, rozumiem:) Dzięki za odpowiedź:)

        • z ciekawości poszperałem i znalazłem taki tutorial z 2003 roku: http://webinside.pl/artykul-124-photoshop–ciecie-grafiki-na-potrzeby-www.html – dobrze wiedzieć jak się to kiedyś robiło 😉

          • Dźwiedziu

            A potem były prowadzone całe społeczne kampanie informacyjne żeby oduczyć stosowania tabel do formatowania układu strony bo taka strona była przez to np. nieczytelna dla osób z dysfunkcjami wzroku, którzy używali syntezatora mowy.

        • Krall

          Grafiki używa się teraz głównie do zdjęć i rzeczy, których nie da się zrobić bądź jest bardzo trudno, np. loga.

  • Teraz dopiero dowiedziałem się dlaczego używa się sformułowania „cięcie grafiki” 🙂
    A jakim poprawniejszym wyrażeniem byś to zastąpił?

    • w sumie nie wiem 😛 ale jeśli by zostać przy tej nomenklaturze to już prędzej jest to „wycinanie” (niektórych kawałków), a nie „cięcie” (całości na mniejsze kawałki)

  • Cóż, jeszcze kilka lat temu front-end developer zajmował się właśnie zamianą projektu graficznego na pliki HTML/CSS, czasem jeszcze JS. Wraz z pojawieniem się jQuery, i dalej kolejnych innych bibliotek/frameworków, zakres pracy front-end developera znacznie się poszerzył – już nie wystarczyło umieć „ciąć” grafikę, nawet z wykorzystaniem DIV-ów i obsługą IE6 – IE8 😉

    Obecnie ten – nazwijmy to „pierwotny” – rodzaj front-end developera zajmującego się zaprojektowaniem i konwersją projektu graficznego na działający statyczny kod określa się mianem „Front-end Web Designera” – z takim tytułem spotkałem się w jednym z anglojęzycznych poradników dla front-end developerów na GitHubie i sam piastuje takie stanowisko w obecnej firmie.

    • no właśnie – z moich obserwacji, to właśnie ten „pierwotny” rodzaj ma największy problem z nazwą: co firma to inny wariant… ale jak ktoś szuka frontend developera czyli programisty pracującego z frameworkiem itd., to faktycznie nazwa stanowiska to „Frontend Developer”

  • Dźwiedziu

    Developer to programista. HTML i CSS to nie jest programowanie tylko design. A ta firma co szuka frontend developera do cięcia grafiki przypomina mi lata ’90 kiedy to masowo zatrudniano absolwentów informatyki na mniej lub bardziej niezwiązane z informatyką stanowiska tylko dlatego, że ta praca polegała na obsłudze jakiegoś programu komputerowego.

  • Przemek Boniarczyk

    No to o co kaman w tych ogłoszeniach o pracę zawierających w opisie „cięcie PSD”? Nadal jakieś agencje tworzą strony w oparciu o tabele i ew.dorzucają np.formularz,scrolling itp w JS? A potem widzę w ogłoszeniach juniorów „…że pocięli już 30 plików do projektu…” 🙂

    • nie no raczej „cięcie” teraz dotyczy „wycinania” tych elementów PSD, których nie da się wykonać za pomocą HTML/CSS czyli loga, obrazki, ikonki, tła itp.

Google Analytics Alternative