Różnice między frontend, backend i fullstack developerem

Czym różni się Frontend od Backend Developera? Kim tak naprawdę jest FullStack Developer? Jak wygląda ścieżka rozwoju Web Developera? Odpowiedzi na te pytania znajdziecie w poniższym wpisie.

Kilka słów wstępu

Zakresy obowiązków programistów w różnych firmach mogą różnić się diametralnie. Wszystko zależy od tego, czym dana firma się zajmuje i jaki projekt aktualnie wdraża. Przedstawione niżej obowiązki developerów opisane są w najszerszym możliwym zakresie, znacznie wykraczającym poza obowiązki jednego programisty. W zależności od projektu potrzebne będą kombinacje różnych umiejętności.

Frontend Developer

Do jego podstawowych zadań należy napisanie struktury strony oraz zajęcie się jej wyglądem. To on odpowiada za to co widzimy, i jak się czujemy korzystając z witryny internetowej. Ściśle współpracuje z grafikiem, gdyż to on ma wcielić w życie projekt przedstawiony mu przez Web Designera. Obecnie, często od Frontend Developera wymaga się także komunikacji z serwerem poprzez zapytania AJAX, które wykorzystywane są przy wszelkiego rodzaju dynamicznych stronach.

Często mylnie przedstawia się umiejętności Frontend Developera jako posługiwanie się jedynie tymi trzema językami:

  • HTML
  • CSS
  • JavaScript

Jest to duże uogólnienie, które sprawia błędne wrażenie, że zostanie dobrym web developerem zarabiającym 10-15 tys. zł. miesięcznie, następuje bardzo szybko po opanowaniu zaledwie tych trzech stosunkowo prostych technologii.

Rzadko wspomina się o tym, że są to umiejętności konieczne, aby zostać Juniorem (osobą, która dopiero wchodzi na rynek i do pracy potrzebuje mentora, który będzie czuwał nad jej kodem), a wraz z rozwojem konieczne będzie poznanie wielu innych narzędzi, języków czy technik programowania. A jak rozpoznać, że poczyniliśmy postępy w danej technologii?
- Zaczynamy rozumieć memy z nią związane.

Poniżej znajduje się bardziej rozbudowana lista technologii i umiejętności, których najczęściej wymaga się od kandydata w ofertach pracy dla programistów:

  • Bootstrap
  • Sass
  • jQuery
  • TypeScript
  • Redux
  • Scrum
    • Module bundlers:
    • Webpack
    • Rollup
    • Parcel
  • Testy jednostkowe
  • GraphQL
    • System kontroli wersji:
    • Git
    • SVN
    • Co najmniej jeden z frameworków:
    • React
    • Angular
    • VueJS

Jeżeli chciałbyś zostać Frontend Developerem, ale nie wiesz od czego zacząć i w jakiej kolejności uczyć się poszczególnych aspektów web developmentu, polecamy road mapę! Doskonale przedstawia ścieżkę rozwoju jaką powinien przejść każdy specjalista Frontend, a także inspiruje do dalszego zgłębiania tematów.

Backend Developer

Specjalista tego typu zajmuje się wszystkimi zagadnieniami związanymi z serwerem i mechanizmami, których nie widać gołym okiem. To on odpowiada za to, aby do Frontu dotarły wszelkie dane potrzebne do sprawnego działania strony. Ponadto po jego stronie jest dbanie o bezpieczeństwo witryny, a także zarządzanie bazą danych. Niejednokrotnie musi współdziałać z Frontend Developerami, aby stworzyć odpowiednie mechanizmy do komunikacji strony internetowej z serwerem.

Poza zrozumieniem działania i składni języka PHP, wymaga się od niego umiejętności posługiwania się językiem SQL, a także obsługi różnego rodzaju baz danych.

Lista umiejętności wymagana od Backend Developera:

  • Node.js
  • LAMP
  • AWS
  • REST API
  • SOAP API
  • Docker
  • Scrum
  • GraphQL
  • ORM
    • Bazy danych:
    • PostgreSQL
    • MySQL
    • MariaDB
    • Oracle
    • MongoDB
    • DynamoDB
    • Testy:
    • Jednostkowe
    • Integracji
    • Funkcyjne
  • Redis
    • System kontroli wersji:
    • Git
    • SVN
    • Co najmniej jeden z frameworków:
    • Symfony
    • Laravel
    • Ruby on Rails
    • Django
    • Express

Co ciekawe, od Backend Developera bardzo często wymaga się także języka JavaScript - tego samego co od Frontend Developera. Stało się to wraz z rozwojem Node.js, który pozwolił z użyciem JavaScript wykonywać operacje standardowo wykonywane przez język PHP po stronie serwera.

Pisząc o Frontend Developerze wspomnieliśmy o road mapie, która proponuje ścieżkę rozwoju programisty. Dla Backendu również istnieje taka mapa!

FullStack Developer

Podział na Frontend i Backend najczęściej występuje dopiero w momencie wysoko wyspecjalizowanych firm, w których projekty są naprawdę ogromne. Przy mniejszych projektach występuje potrzeba ludzi niczym Leonardo da Vinci - wszechstronnych. To są tak zwani FullStack Developerzy, którzy posiadają umiejętności zarówno z dziedziny tworzenia i stylowania stron internetowych, ale także ustawiania serwera, przygotowania bazy danych i pisania mechanizmów dostarczających dane do wyświetlania na stronie.

Niejednokrotnie zdarza się, że od takiego specjalisty wymaga się także umiejętności tworzenia aplikacji na urządzenia mobilne lub zdolności obsługiwania programów graficznych pokroju Adobe Photoshop lub Adobe Illustrator.

Powiązane stanowiska

Wordpress Developer

Wordpress stał się tak bardzo rozbudowanym systemem CMS, że opanowanie jego wszystkich funkcjonalności, jak i zrozumienie procesu tworzenia własnych wtyczek do tego systemu, stało się nie lada wyczynem. Od jakiegoś czasu na rynku pojawiły się dedykowane oferty pracy dla ludzi z umiejętnościami opisanymi powyżej. Wordpress Developerowi najbliżej do FullStack Developera, ponieważ do swojej pracy używać będzie zarówno języka PHP (backend) wraz z dodatkowymi funkcjami wystawionymi przez Wordpress, jak i języków CSS, HTML, JS które odpowiadają za wizualne aspekty (frontend).

Team Leader

Jest to osoba odpowiedzialna za zarządzanie zespołem programistów (najczęściej do ok. 5-6 osób) a także za raportowanie postępu zadań swojemu przełożonemu, którym najczęściej jest Head of IT (w zależności od firmy może być nazywany inaczej).

Scrum Master

Odpowiada za poprawne przebieganie procesów metodyki Scrum. Pomaga zarządzać zespołem programistów i prowadzić codzienne spotkania potocznie nazywane daily (Daily Meeting). To on dba o morale zespołu oraz o to by ludzie się dobrze czuli pracując ze sobą.

Copy Paste aka StackOverflow Developer

Mistrz CTRL + C , CTRL + V. 95% kodu który wychodzi spod jego rąk to kod skopiowany z internetu. Nie ma co ukrywać, każdy z nas kiedyś na ścieżce swojego rozwoju w IT był taką osobą. Jego kod to zlepek fragmentów z aplikacji do sprzedaży taczek, systemu nadzoru lotów kosmicznych i przepisu na szarlotkę, ale jednego nie można mu zarzucić - przeważnie działa! ;)

Web Designer

Jego zadaniem jest stworzenie makiety serwisu lub aplikacji internetowej, na bazie której będzie przebiegało wdrożenie. Co do zasady, web designer projektuje serwisy internetowe. Natomiast jeśli jego umiejętności poszerzymy o projektowanie zorientowane na użytkownika czy projektowanie interfejsów - wtedy taką osobę możemy nazwać UX/UI designerem.

Kwestia nazewnictwa stanowisk developerów jest sporna i nie jest z góry określona przez jakąś nadrzędną organizację. Różne agencje mogą nieco inaczej podchodzić do opisanych wyżej kwestii, ale wszyscy zgadzają się co do jednego - Frontend to to co widać, Backend to to czego nie widać.

Jeśli chcesz porozmawiać o nowościach w branży IT lub po prostu napić się dobrej kawy w doborowym towarzystwie, skontaktuj się z nami lub wyślij maila na kontakt@webalize.me.