Czym różni się Frontend od Backendu i kim jest Frontend Developer?

Programista Frontend pracuje na komputerze i patrzy na monitor.

Pochodzący z Wielkiej Brytanii autor książek i specjalista z dziedziny architektury oprogramowania - Martin Fowler mawia: “Każdy głupiec może napisać kod zrozumiały dla komputera. Dobrzy programiści potrafią stworzyć kod zrozumiały dla ludzi”. Dziś takim zrozumiałym językiem postaramy się przybliżyć Wam,  na czym polega praca Frontend Developera.

O pracy na tym stanowisku, pożądanych kompetencjach, stacku technologicznym oraz najtrudniejszym projekcie opowiada Rafał Bocheński - Frontend Developer w Comarch.

Zacznijmy na początek od określenia, czym jest Frontend? Jaka jest różnica pomiędzy Frontendem a Backendem? Jak zwyczajny użytkownik komputera, czy smartfona może to rozróżnić?

Frontend jest to część aplikacji odpowiadająca za interakcję z użytkownikiem, natomiast Backend jest odpowiedzialny za logikę kryjącą się za aplikacją. W prostszych słowach: Frontend jest to część „widzialna” aplikacji, natomiast Backend odpowiada za zapis i obróbkę danych. Czyli wszystko to, czego na pierwszy rzut oka nie widać. Interfejs strony, układ tekstu, menu czy grafiki – te wyniki Frontend zaciąga i wyświetla właśnie z Backendu i to finalnie widzimy na ekranie monitora, smartfona czy tabletu.

Mówi się, że specjalista IT w zakresie Frontendu musi znać trzy najważniejsze języki kodowania, czyli HTML, CSS i JavaScript. Zakładam, że każdy z nich zapewne spełnia inne funkcje w programowaniu stron i aplikacji?

HTML odpowiada za strukturę aplikacji, pozwalając nam na stworzenie odpowiedniego układu elementów na stronie internetowej. CSS zapewnia szatę graficzną, natomiast JavaScript dodaję logikę do naszej aplikacji umożliwiającą interakcję z użytkownikiem. Dopiero połączenie całej trójki pozwala nam na stworzenie w pełni funkcjonalnej aplikacji internetowej.

A jak wygląda sprawa ze stackiem technologiczny frontendowca? Często ulega zmianie lub aktualizacji?

Stack technologiczny frontendowca bardzo dynamicznie ulega zmianom, co zniechęca wielu młodych programistów do wybrania tej gałęzi programowania. Wpływ na to ma duża popularność JavaScript, co przekłada się na ciągłe tworzenie nowych bibliotek i frameworków. Należy pamiętać jednak, że nauczenie się chociaż jednej technologii, pozwala na znacznie łatwiejsze opanowanie innych opartych na tym samym języku programowania.

Skoro wiemy już, czym jest Frontend, przejdźmy do obowiązków, jakie specjalista na tym stanowisku posiada. Czym na co dzień zajmuje się Frontend Developer?

Frontend Developer zajmuję się tworzeniem interfejsu graficznego aplikacji oraz połączeniem go z aplikacjami backendowymi. Oznacza to, że dobry Frontend Developer musi posiadać wiedzę łącząca ze sobą wszystkie części aplikacji w celu stworzenia przejrzystego oraz intuicyjnego interfejsu.

Czy kompetencje miękkie są ważnym elementem na tym stanowisku?

Myślę, że kompetencje miękkie są bardzo ważnym i często niedocenianym elementem na tym stanowisku. Jak wspomniałem wcześniej Frontend łączy wszystkie części aplikacji, stąd też praca frontendowca wymusza na nas częste interakcje nie tylko z własnym, ale też z innymi zespołami.

W takim razie co musi umieć Frontend Developer? Czy są jakieś podstawy, bez których praca na tym stanowisku byłaby niemożliwa?

Podstawą, bez której praca jest niemożliwa, jest znajomość HTML, CSS, oraz JavaScript. W dzisiejszych czasach zdecydowana większość aplikacji tworzonych jest nie za pomocą czystego JavaScript’u, a bibliotek i frameworków tworzonych na jego podstawie, więc niezbędne będzie nauczenie się przynajmniej jednego z nich. Aktualnie do najpopularniejszych technologii webowych należą Angular, React.js oraz Vue.js. Innym niezwykle ważnym narzędziem, niezbędnym w pracy każdego programisty jest GIT, czyli system kontroli wersji.

Czy droga od juniora do seniora jest płynna, czy trzeba liczyć się z wieloma przeszkodami?

Poza znajomością wymienionych wyżej technologii niezbędna jest kreatywność, dobra wyobraźnia oraz cierpliwość i samodyscyplina. Jeżeli każdego dnia poświecisz odpowiednią ilość czasu oraz będziesz starał się nauczyć czegoś nowego to droga od juniora do seniora przebiegnie dla Ciebie płynnie.

Często widzimy, że w wielu ofertach pracy znajomość UX/UI jest dodatkowym atutem. Czy to jest kierunek, w którym powinien rozwijać się Frontend Developer?

Z pewnością jest to umiejętność niezwykle ułatwiająca pracę Frontend Developera. Na co dzień pracuję ze specjalistami w tych dziedzinach i każdego dnia staram się coraz lepiej rozumieć problemy przez nich rozwiązywane. Pozwala to na lepsze zrozumienie, co musi mieć i jak powinna działać aplikacja przyjazna użytkownikowi.

Sporo powiedzieliśmy już o teoretycznych aspektach tej branży. Przejdźmy do praktyki, czym na co dzień zajmujesz się w Comarch?

Aktualnie jestem liderem zespołu, który w sektorze IoT, odpowiada za Frontend. Do moich obowiązków należy tworzenie aplikacji, ale także nadzór technologiczny nad projektami powstającymi w moim sektorze. Dodatkowo odpowiadam za koordynację prac i wymianę informacji pomiędzy innymi Frontend Developerami.

Najciekawszy projekt już za Tobą, czy dalej czekasz na ten „jedyny, wyjątkowy” ?

Tak naprawdę developer nigdy nie wie, czy najciekawszy projekt już za nim. Natomiast mogę powiedzieć, że projekty, nad którymi pracujemy, stawiają przede mną wiele trudnych, ale zarazem ciekawych wyzwań. Praca z fizycznymi urządzeniami jest bardzo wymagająca, ale finalny efekt – interakcja pomiędzy urządzeniem, które trzymasz w ręce, a napisaną przez ciebie aplikacją jest bardzo satysfakcjonujący.

A jaki był najcięższy projekt, nad którym pracowałeś?

Myślę, że najtrudniejszym projektem, jest ten, nad którym pracujemy cały czas, czyli platforma dla urządzeń IoT. W prostych słowach jest to aplikacja pozwalająca nam na monitorowanie i zarządzanie urządzeniami IoT. Może się tak nie wydawać, ale jest to bardzo skomplikowane zagadnienie wymagające pracy naprawdę wielu osób.

Dodaj komentarz

      adres e-mail nie zostanie opublikowany

            Najczęściej czytane w tej kategorii