Backend developer – kim jest i czym się zajmuje?

Sklep internetowy jak każda witryna składa się z dwóch części: frontendu i backendu. Frontend to część widoczna dla użytkownika, która obejmuje layout i elementy wizualne witryny. Ogólnie rzecz biorąc są to części, z którymi może wejść w interakcje, czyli cały interfejs. Natomiast backend, często również nazywany “zapleczem” jest częścią, która pozostaje poza wzrokiem użytkownika. Jej zadaniem jest m.in. transmisja danych odpowiedzialnych za poprawnie działanie strony i wyświetlanie elementów frontendowych. Na tym jednak nie kończą się obowiązki backendowca. O tym czym jest backend i jak wygląda praca z nim opowiedział nam Radek Bąkowski, backend developer z Global4Net.

Czym jest i jak działa backend?

Jak już powiedzieliśmy backend jest tą częścią witryny, która pozostaje niewidoczna dla jej użytkowników. Zapewnia prawidłowe funkcjonowanie całej strony, także jej frontendowej części. Część backendowa to tak naprawdę serwer hostingujący, na którym często, choć nie zawsze, znajduje się baza danych. Dostarcza ona informacji potrzebnych do wykonania operacji po stronie witryny. Odbywa się to w następujący sposób:

  1. Użytkownik Twojego sklepu wykonuje czynność na stronie frontendowej. Może to być, np. otwarcie witryny z poziomu listy wyszukiwań. 
  2. Czynność użytkownika (zapytanie) zostaje przesłana jako sygnał do serweru hostingującego daną witrynę.
  3. Backend odbiera zapytanie, przetwarza jego zawartość informacyjną i identyfikuje je.
  4. Po identyfikacji zapytania, z bazy danych zbierane są informacje i dane potrzebne do wykonania polecenia użytkownika.
  5. Zebrane dane zostają przesłane z serwera w formie odpowiedzi do strony internetowej.
  6. Odpowiedź z serwera jest interpretowana przez frontend i wyświetlana jest zawartość witryny.

 

Ten proces zachodzi przy każdej czynności jaką wykona użytkownik Twojej strony: przy dodawaniu produktów do koszyka, porównywaniu modeli wybranego artykułu i wybieraniu metody płatności. To od jakości rozwiązań backendowych zależy skuteczność wykonywanych akcji i poziom zadowolenia użytkowników. A sama praca nad backendem nie należy do najłatwiejszych. Jak mówi Radek Bąkowski, backend developer w Global4Net, programowanie to duży wysiłek psychiczny, który wymaga ciągłego skupienia przez długi okres czasu. 8 godzin analizy kodu i próby odgadywania, za co może odpowiadać jedna jego linijka, mogą nadwyrężyć umysł. Sam proces utworzenia kodu backendowego wymaga jak najdokładniejszego zapoznania się z zadaniem lub problemem, które developer ma wykonać lub rozwiązać.

Przy opracowywaniu rozwiązań backendowych, najlepiej przeprowadzić research na temat danej techniki i działać metodą prób i błędów do momentu, aż nasze starania nie przyniosą pożądanego efektu. Jednocześnie wykonamy nasze zadanie i rozwiniemy swoje umiejętności.

Obowiązki backend developera

Na barkach backendowca leży odpowiedzialność za tworzenie kodu, który umożliwia prawidłowe funkcjonowanie strony. Gdy użytkownik klika w odnośnik i zostaje przekierowany zgodnie ze swoim życzeniem do wybranego adresu, zawdzięcza to właśnie pracy backend developera. Do innych zadań programistów od backendu należą:

  • rozwijanie i rozbudowa stron internetowych.
  • naprawa błędów.
  • praca nad zabezpieczeniami.
  • testowanie wprowadzanych zmian.
  • opieka nad bazą danych.

 

Rozwój stron internetowych

Internet jako medium nie lubi stagnacji – zmiany i rozwój są obowiązkowe, szczególnie w branży e-Commerce. Najbardziej pożądanymi zmianami w budowie strony internetowej jest usprawnienie działań i przyśpieszenie funkcjonowania witryny. Większość przygotowań i zadań mających na celu rozwój strony w tym kierunku jest związanych z działaniami backendowymi. Działania mające na celu wdrożenia technologii takich jak PIM-y, migracja sklepów internetowych na inne platformy takie jak Magento, czy tworzenie modułów i wtyczek od zera wpisują się w obowiązki backend developerów. Usprawniają one funkcjonowanie sklepu internetowego i ułatwiają zarządzanie nim. Dodatkowo backendowcy muszą dbać, aby po migracjach i wdrożeniach nowa witryna nie ucierpiała na poziomie SEO. Zatem, oprócz szeroko rozumianego rozwoju i ulepszania witryn, backend developerzy pomagają również innym działom w bardziej efektywnej  pracy ze stroną internetową.

Naprawa błędów

Podczas każdego projektu e-Commerce zespół developerski natknie się na problemy lub sam je stworzy, podczas wprowadzania wdrożeń, implementacji i innych zadań. Błędy dotyczące strefy serwerowej: niepoprawne przekierowania adresów, błędnie zainstalowane wtyczki, czy niedziałające zapytania są zgłaszane do zespołu backendowego. W takich sytuacjach, backend developer musi ustalić, co spowodowało błąd i znaleźć rozwiązanie. Typowe dla pracy w backendzie jest to, że wiele z tych błędów nie zostało opisanych w żadnym podręczniku, czy tutorialu. Niektóre z nich są tak unikalne, że developer musi znaleźć wyjście z sytuacji, zazwyczaj opierając się wyłącznie na swoim doświadczeniu i przeczuciu. Dlatego też, wielu backend developerów mówi o swojej pracy jak o rozwiązywaniu coraz to nowych zagadek.

Praca nad zabezpieczeniami

Backend developerzy pracują też jako pierwsza linia obrony przed nieautoryzowanym dostępem do strony, głównie do bazy danych. Dlatego, jednym z zadań backendowców jest filtrowanie danych przesyłanych z części frontendowej w celu upewnienia się, że nie wyrządzą one szkody w bazie danych po stronie serwera. Jednak trzeba pamiętać o tym, że backend developerzy nie dysponują tak zaawansowanymi narzędziami do zabezpieczeń jak programiści aplikacji antywirusowych. Ich kompetencje są ograniczone, ale nadal mogą używać języków programowania, a dokładniej wbudowanych funkcji. Dla przykładu język PHP, który jest wykorzystywany w większości zastosowań w internecie, posiada funkcję nieinterpretowania konkretnych zapytań SQL-owych, które mogą uszkodzić bazy danych, np. wyczyścić tabele informacyjne. Jednak na niektóre zagrożenia, backendowcy nie mają wpływu. M.in. nie są w stanie zabezpieczyć linków przekierowujących do zewnętrznych stron. 

Testowanie rozwiązań

Kolejnym obowiązkiem backend developera jest wstępne sprawdzanie funkcjonalności wprowadzonych zmian i implementacji. Sprowadza się to głównie do testowania transmisji zapytań z frontendu do serwera i przesyłania danych z powrotem do witryny.

Utrzymywanie baz danych

Oprócz zabezpieczania baz danych, do zadań backend developera należy również ich utrzymanie i poszerzanie zawartości o nowe informacje, np. te dotyczące odświeżanych produktów, jak i logik, które pomagają w obsłudze nowo-wdrożonych funkcji. Oprócz tego backend developerzy odpowiadają także za katalogowanie danych na serwerze, określanie ich formatu i dbanie o kompatybilność danych.

Narzędzia potrzebne do pracy backend developera

Główną kompetencją jako powinien posiadać backend developer jest znajomość języka programowania. Warto jednak najpierw pochylić się nad kwestią, czym dokładnie jest taki język.

Język programowania jako podstawa backendu

Językiem programowania lub kod to nic innego jak ułatwiony zapis elektrycznych sygnałów, które komputer odczytuje jako konkretne komendy. Dzięki językowi, developer może łatwo zarządzać jakiego rodzaju sygnały mają zostać wysłane i przetworzone przez komputer. 

Dla przykładu języki wysokiego poziomu, których zapis opiera się na języku angielskim, mają maksymalnie ułatwiać developerowi zarządzanie impulsami. Jak mówi Radosław, w porównaniu do języków niskiego poziomu, pozwalają one na kilkadziesiąt razy szybsze wprowadzenie tego samego kodu. W przeciwieństwie do języków niskiego poziomu, developer nie musi wskazywać konkretnych komórek pamięci, przekazywać odpowiednich wartości do dopasowanych rejestrów. Pozwala mu to zaoszczędzić czasu i zmniejsza szansę na popełnienie błędu. Jednak języki niskiego poziomu pozwalają na dużo efektywniejsze i precyzyjne zarządzanie zasobami jak i również dysponują lepiej zoptymalizowanym kodem.

Kompromisem pomiędzy tymi dwoma rodzajami są języki pośrednie, które są przystosowane do pracy z rejestrami i duża część ich składni opiera się na języku angielskim. Przykładem takiego kodu jest język C.

Rekomendowanymi językami do działań backendowych jest m.in. PHP (niski próg wejścia, bardzo przyjazny dla nowych programistów, duża wydajność), SQL (przydatny w pracy z bazami danych) i HTML (absolutna podstawa w pracy przy stronach internetowych).

Frameworki

Kolejnym narzędziem jakie powinno się znaleźć w arsenale każdego backend developera są frameworki. Pod tą nazwą kryją się gotowe rozwiązania programistyczne, które ułatwiają pracę developerom. Do najpopularniejszych frameworków wykorzystywanych w backendzie zaliczają się Laravel i Symfony, o których szerzej pisaliśmy tutaj. Frameworkami często nazywa się narzędzia CMS (content management system) takie jak Magento czy WordPress. Pomagają one zarówno zarządząć częścią frontendową i backendową naszej witryny.

Środowisko developerskie backend developera

Języki programowania i frameworki stanowią tylko kilka z narzędzi potrzebnych do pracy nad projektem w e-Commerce. Ważnym krokiem jest przygotowanie tzw. środowiska developerskiego i odpowiedniego stacku technologicznego. Radek wymienia te kompetencje jako najbardziej przydatne w pracy backend developera:

  • znajomość środowiska serwerowe (Nginx, Apache), umożliwiające na szybkie przełączanie się pomiędzy różnymi projektami.
  • narzędzie GIT, służące jako system kontroli wersji i archiwizator danych.
  • platforma Postman, pozwalająca na ułatwienie budowy API.
  • narzędzie JIRA, które pomaga w zarządzaniu zadaniami i workflowem projektów.
  • zintegrowane środowisko developerskie PHP Storm, które pozwala na edycje wpisywanego kodu, analizę jego jakości, a także łatwą nawigację i intuicyjny moduł wyszukiwania.

 

Jakiego systemu używać do pracy w backendzie?

Według mnie najwygodniejszy workflow oferuje Linux. Szczególnie, gdy przychodzi mi pracować nad bardziej skomplikowanymi problemami, Linux ułatwia zadania programistyczne. Trzeba się przyzwyczaić do charakterystyki kodowania na tym systemie, ale oferuje on dużo lepszą jakość pracy niż Windows, czy OS X. 

Dodatkowym plusem Linuxa jest dostęp open source i wsparcie wielotysięcznej społeczności jak i zespołu specjalistów, stale oferujących nowe aktualizacje.

Jak zostać backend developerem i jak rozwijać się w profesji?

Radek podkreśla, że w pracy programisty, niezależnie od specjalizacji, najważniejsze jest praktyczne doświadczenie. Jego przygoda z informatyką i programowaniem stron internetowych zaczęła się w technikum kiedy to uczestniczył w warsztatach programowania. W ramach swojego projektu musiał stworzyć stronę główną szkoły. Jak wspomina, pomimo częstych lekcji informatyki, dopiero na warsztatach zetknął się ze stroną programowania, która rzeczywiście jest wykorzystywana w praktyce w profesjonalnych firmach IT.

Praktyka ważniejsza od teorii

Dla aspirujących i obecnych backend developerów ważnym jest, aby nie poprzestawać tylko na poszerzaniu wiedzy teoretycznej, ale regularnie ćwiczyć umiejętności techniczne. Natura branży IT sprawia, że najbardziej realnym i wiernym realiom rynku pracy, sposobem nauki jest praktyka. IT poznaje się poprzez metodę prób i błędów, zadania projektowe i rozwiązywanie problemów. Aby jak najlepiej przygotować się do pracy backend developera musisz oczekiwać od siebie więcej niż to, co przewiduje curriculum uczelni. Uczestnictwo w warsztatach, webinariach, jak i praktycznych kursach to dobry początek.

Jednak nawet obecni backend developerzy muszą się bezustannie rozwijać. Jak to robić? Oprócz powyższych przykładów, codzienna praca nad projektami dostarcza masy okazji do nauczenia się nowych rzeczy i usprawnienia własnych praktyk działania. Obowiązki takie jak praca na bazie danych, zarządzanie serwerem, stawianie środowisk developerskich i operowaniem narzędziem GIT pośrednio poszerza kompetencje developera.

wykres średniego wynagrodzenia backend developera ze względu na ilość doświadczenia

Zawsze można wziąć pod uwagę zapoznanie się z zagadnieniami frontendowych. Może to zaowocować przemianą w full-stack developera lub administratora serwerowego. Każda ścieżka oferuje wiele możliwości rozwoju w branży, która jest jedną z najbardziej dochodowych i najszybciej rozwijających się.

Napisz do nas

Masz pytanie?

Napisz do nas

Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Wyrażenie zgody jest niezbędne.

PDF, DOC, DOCX, JPG lub PNG (max 5MB)

Przynajmniej jedno pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Andrzej Szylar

Andrzej Szylar

Chief Executive Officer

Dariusz Kobza

Dariusz Kobza

PR & Marketing Manager

Magdalena Paczynska

Magdalena Paczyńska

HR Business Partner