Frontend czy Backend – w czym tkwi różnica?

Wiele osób planujących rozpoczęcie kariery w zawodzie programisty, stoi przed nie lada wyzwaniem – decyzją jaką obrać drogę? Frontend czy Backend? Co jest lepsze, a co gorsze? Czego jest trudniej się nauczyć? Co daje większe pieniądze? Postaram się odpowiedzieć na te oraz parę innych pytań, które często słyszę od swoich kursantów. Zobacz, co wybrać: frontend czy backend.

Spis treści:

Frontend a backend – co jest lepsze?

Powyższe pytanie, choć jest najprostsze w swojej konstrukcji, jest też pozbawione jednoznacznej odpowiedzi. Powiedz, co jest lepsze? Rosół czy tiramisu? Przykład wydaje się wręcz idiotyczny, bo przecież jedno to danie obiadowe, lekkie, w formie płynu, a drugie to włoski deser z olbrzymią ilością tłuszczu (ale i smaku!).

Tak samo ma się frontend do backendu. Wielu z nas nie wyobraża sobie niedzielnego obiadu bez porządnej, tradycyjnej zupy. Nie brakuje jednak i takich, którzy bez deseru nie poczują, że cokolwiek jadły. To dwa różne światy, które mają pewne cechy wspólne, ale zarazem różnią się też znacznie. Aby odpowiedzieć sobie na pytanie frontend czy backend zobacz, czego spodziewać się po jednym i drugim, a następnie zdecyduj sam! Dobierz kierunek rozwoju w IT do swoich upodobań, a także predyspozycji.

Sprawdź swoje predyspozycje do pracy w IT w 15 minut

Czym różni się Frontend od Backend?

Zarówno frontend, jak i backend są ważnymi elementami realizacji projektu programistycznego. Jednak zgodnie z nazwami, „backend” to zaplecze, a więc solidne fundamenty dla mającej powstać aplikacji. „frontend” to zaś ta strona, która docelowo będzie widoczna i dostępna dla użytkownika danego oprogramowania. Jak możesz się domyślać, praca w tych obszarach wygląda nieco inaczej. Co więc wybrać? Oto kilka aspektów, które warto zgłębić.

Czego trudniej się nauczyć?

Na to pytanie jest już łatwiej odpowiedzieć. To nadal nie będzie jednoznaczna odpowiedź, ale dzięki niej będziesz wiedzieć, do czego jest Ci bliżej. Przede wszystkim trzeba zacząć od najważniejszego –gdy będziesz tworzyć backend, początkowo będzie trudno Ci zobaczyć jakieś efekty. One oczywiście będą, każda napisana aplikacja, biblioteka, moduł „będzie żyć”, przyjmować dane i na przykład zwracać je zmodyfikowane. Mogą wprowadzać zmiany w bazach danych, dokonywać ciekawych obliczeń, sterować monitoringiem, obsługiwać urządzenia medyczne, może nawet uratować życie. Jeżeli tego typu tematy wydają Ci się interesujące, lubisz tego typu “magię”, to zdecydowanie czeka Cię mnóstwo frajdy.

Swoje umiejętności będziesz pogłębiać, poznając coraz to nowsze algorytmy, analizując dane, pracując na zbiorach, optymalizując zadania tak, aby przy mniejszej ilości operacji, uzyskiwać ten sam lub lepszy efekt.

Frontend – dla kogo jest?

Co jednak, jeżeli wynik zwrócony w czarno-białej konsoli nie jest czymś, po zobaczeniu czego krzyczałbyś “hurra”? Wtedy zastanów się, czy frontend nie jest lepszą drogą dla Ciebie. Już pierwsze lekcje „programowania we froncie” skutkują pojawieniem się “czegoś z niczego”. To trochę, jak wypowiadanie słów, które stają się obrazem. Twoją pracą możesz podzielić się od razu ze znajomymi, którzy docenią (lub nie), stworzony przez Ciebie twór, ale przynajmniej nie zasną w połowie Twojej opowieści o tym, co robiłeś tego dnia w pracy. Coś, co jest „widoczne gołym okiem”, łatwiej jest ocenić i zmierzyć. Łatwiej też zachować początkową motywację, kiedy natychmiast widzisz efekty swojej pracy.

Chcesz rozpocząć przygodę z programowaniem?

Zapisz się na kurs Frontend Developer

Decyduj w oparciu o siebie

Gdzie więc odpowiedź na pytanie: frontend czy backend? Sam zadaj sobie pytanie, która z opcji wydaje się być ciekawsza. Co da Ci większą frajdę? Wyobraź sobie, że będziesz wstawać codziennie do pracy, która będzie wyglądać mniej więcej jak jeden z powyższych scenariuszy. Który z nich bardziej Ci pasuje?

Cechy, które pomogą zostać backendowcem

Obserwując backendowców z którymi miałem okazję pracować, mogłem zaobserwować parę wspólnych cech. Najważniejsza z nich, która oczywiście tyczy się w pewnym stopniu każdego zawodu, w którym chcemy być dobrzy, to cierpliwość.

Jak już wspomniałem przy backendzie trzeba poczekać nieco dłużej na efekty swojej pracy. Często wymaga on zgłębienia wielu zależności, zrozumienia sposobu działania systemu, z którym się pracuje.

Backend w pewnym stopniu ma też wyższy “próg wejścia”. Poza znajomością samego języka programowania (np. Java, JavaScript, PHP, C# itp), niezbędna będzie wiedza z zakresu baz danych, działania sieci WWW, podstawowych protokołów.

Chcesz pracować w backendzie? Naucz się Javy!

Co więcej, na barkach backendowca spoczywa również w dużej mierze zapewnienie bezpieczeństwa tworzonej aplikacji. Najgroźniejsze ataki, to takie, które mogą wykraść dane z bazy, usunąć je, wygenerować fałszywe wiadomości do użytkowników, zablokować pracę serwerów.

Cechy, które pomogą zostać frontendowcem

Zdecydowanym atutem każdego frontendowca jest “wyczucie smaku”. Chociaż zazwyczaj design tworzą designerzy, to nie brakuje sytuacji, w których programista jest zmuszony stworzyć jakiś element samodzielnie. Podczas przygotowywania tak zwanego “PoC”, czyli wstępnej koncepcji aplikacji, zdarza się, że to na barkach frontendowca spoczywa zaprojektowanie bazowego interfejsu użytkownika.

Jako cechę, która również się przyda się w tej profesji także dokładność, dbałość o detale. W sytuacji, kiedy będzie się sprawdzać zadanie wykonane przez koleżankę lub kolegę, trzeba mieć sprawne oko i wyłapywać wszelkie niezgodności. Ba, trzeba kontrolować przede wszystkim siebie, kiedy odtwarza się efekt z designu, pisząc CSS i HTML. Niektórzy klienci wymagają trzymania się zasady “pixel perfect”, czyli oczekują absolutnej dokładności w odwzorowywaniu.

Frontend czy backend? A może jedno i drugie?

W dzisiejszych czasach, choć celuje się w specjalizacje, każdy jest pewnego rodzaju “fullstackiem”. Kto to taki? To właśnie osoba, która dzieli umiejętności backendowca z tymi typowymi dla frontendowca. Nie oznacza to jednak, że każdy może robić wszystko i ma wystarczające do tego umiejętności. Nierzadko jednak zdarza się, że backendowiec tworzy widoki renderowane i serwowane z serwera. O co w tym chodzi? O to, że pewne narzędzie pozwalają tworzyć część wizualną przy wykorzystaniu technologii backendowych, nie są one jednak zwykle najlepszym rozwiązaniem, mając na sobie pewne wady.

A co frontendowiec wiedzieć musi o backendzie?

Co natomiast front wie o backendzie? Jeżeli programujesz już jakiś czas w JavaScripcie, to możesz skorzystać z Node, który jest serwerowym odpowiednikiem przeglądarki. To dokładnie ten sam język (z małymi różnicami w kwestii wspierania pewnych rozwiązań), ale pozwalający nam na pisanie aplikacji serwerowych. Musisz nadrobić tylko braki z dziedzin “dookoła”, o których pisałem wyżej.

Ważne jest to, aby oba zespoły mniej więcej wiedziały, czym zajmuje się drugi. Ułatwia to komunikację, ustalanie warunków współpracy (tzw. kontraktów), pozwala unikać błędów spowodowanych brakiem zrozumienia podstaw działania “drugiej strony”.

Frontend czy backend. Różnice w zarobkach

Gdyby porównywać osoby ze stażem do 3 lat, to stawki są stosunkowo zbliżone i zależne od języka, w którym się pisze. Starsze i mniej rozwijane, zazwyczaj nie oferują aż tak atrakcyjnych warunków zatrudnienia jak nowe i „na topie”. To też jednak nie jest regułą, ponieważ niektóre aplikacje napisane lata temu, dalej muszą być rozwijane, a przez niedobór programistów, którzy znają mało popularne technologie, ich stawki mogą być bardzo wysokie. Takie zjawisko często tyczy się systemów bankowych, które powstawały dawno temu i ze względu na kwestie bezpieczeństwa oraz koszty stworzenia ich od nowa, są nadal utrzymywane.

Zapisz się na kurs programowania

Jeżeli przyjrzeć się programistom z wieloletnim stażem, to wtedy backendowcy stopniowo wychodzą na prowadzenie. Chodzi o to, że umiejętności frontendowe mają pewne ograniczenie. Najbardziej złożone i skomplikowane algorytmy działają na serwerach, a nie na komputerze użytkownika końcowego. Wyzwaniem dla frontendowców mogą być zaawansowane animacje, ale i one mogą nie wystarczyć w konkurowaniu o zarobki z ekspertami technologii backendowych, którzy mają znacznie większe pole do popisu.

Pamiętaj jednak, że niejednokrotnie można trafić na oferty pracy za 20, a nawet więcej tysięcy dla osób pracujących w JavaScript, więc nie są to zdecydowanie małe pieniądze. Co więcej, przewagą „frontów” jest właśnie wspomniany język, który służy do tworzenia aplikacji na prawie każdą popularną platformę i nie ogranicza nas już do przeglądarki.

Zostań Frontend Developerem w 16 tygodni

Autor tekstu: 

Radosław Madecki

Radosław Madecki

Lead Mentor kursu Frontend Developer w Fututre Collars. Senior Frontend Developer w Clearcode. Działa także w Node, uczy się Pythona. Współpracował z KDSolutions, tworząc aplikację social media oraz system zarządzania danymi w firmie projektowej.  Zainteresowanie informatyką towarzyszy mu od dzieciństwa. Ciekawi go to, co sprawia, że aplikacja lub strona są przyjemne w użytkowaniu.