Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 269

Warning: Undefined array key "HandLtestDomainNameServer" in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 303

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/globaz/prod_global4net_com/wp-config.php:1) in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 269

Warning: Undefined array key "HandLtestDomainNameServer" in /usr/www/users/globaz/prod_global4net_com/wp-content/plugins/handl-utm-grabber-v3/handl-utm-grabber-v3.php on line 303
Backend developer – kim jest i czym się zajmuje? - Global4Net - E-commerce Software House

Backend developer – kim jest i czym się zajmuje?

31.05.2021 Kornel Kosoń

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?

Wielu z Wam może nasuwać się pytanie – backend co to właściwie jest? 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. Stąd też nautralnie rodzi się bardzo ważna rola jaką jest back end developer . Strona back endu dostarcza 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 www: 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. Tworzenie stron internetowych, 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 programista backend 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.

Jakie obowiązaki ma back end developer?

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. Back end developer pracuje także nad:

  • rozwijaniem i rozbudowaniem 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 back end 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, zadaniem back end developera jest pomaganie 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 rolą back end developera jest ustalenie, co spowodowało błąd i znalezienie rozwiązania. 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. Wielu programistów back endu mówi, że jednym z zadań back end developera jest także rozwiązywanie wielu coraz to nowych zagadek.

Praca nad zabezpieczeniami

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 back end developer nie dysponuje 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 który ma back end developer 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 back end developera

Główną kompetencją jako powinien posiadać back end 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ć back end 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 back end 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 back end 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 back end 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ę.

Cyfrowe newsy / Bądź na bieżąco

Od początku 2022 roku wchodzimy w skład Unity Group. Teraz zapisując się do naszego newslettera, będziesz na bieżąco z informacjami całej naszej organizacji.

    Wypełniając formularz wyrażasz zgodę na wysyłkę newslettera przez Unity S.A. z siedzibą we Wrocławiu. Zgodę możesz wycofać w każdej chwili. Więcej informacji na ten temat znajdziesz w naszej polityce prywatności.

    *Wymagane

    Andrzej-kurs-programowania

    Andrzej Szylar

    Chief Executive Officer

    E-mail:

    andrzej.szylar@unitygroup.com
    Magda2

    Magdalena Paczyńska-Kamienik

    HR Manager

    E-mail:

    magdalena.paczynska@unitygroup.com
    Aleksandra

    Aleksandra Bielawska-Clegg

    HR Business Partner

    E-mail:

    Michal

    Michał Duława

    New Business Developer

    E-mail:

    Katarzyna

    Katarzyna Zajchowska

    Marketing Partner

    E-mail: