11/26/2020

Front-end, Back-end, DevOps vs Full-stack – krótki przewodnik dla założycieli i CEO

Małgorzata Galińska

Piętnaście, dwadzieścia lat temu do polskich firm nagminnie zatrudniano Informatyków, czyli speców "od wszystkiego". Pięć, dziesięć lat temu poszukiwani byli Programiści danej technologii, a słowo Informatyk stało się symbolem minionej ery (i synonimem lekkiego obciachu). Obecnie branża IT stała się bardzo złożona, a Developerzy coraz częściej specjalizują się w dość wąskich dziedzinach, przez co nazwy ich stanowisk bywają często niezrozumiałe dla managementu i biznesu.

developer_hero_image

Wśród najczęściej spotykanych stanowisk warto wymienić Programistów:

  • Front-end
  • Back-end
  • Full-stack
  • DevOps

Jako CEO czy Manager firmy nie musisz oczywiście znać szczegółowo zadań realizowanych przez poszczególnych Programistów, warto jednak spojrzeć na nich “z lotu ptaka” i zrozumieć kluczowe dla danej roli cele i zakresy odpowiedzialności.

Niniejszy artykuł to swoista ściągawka uwzględniająca najważniejsze informacje o pracy na stanowiskach Front-end, Back-end, Full-stack, DevOps Developer oraz szybki przegląd zarobków, technologii i narzędzi wykorzystywanych przez poszczególnych programistów.

Kim są programiści Front-end?

Każda strona internetowa lub aplikacja ma warstwę wizualną, czyli warstwę, z którą de facto jej użytkownicy będą mieli najwięcej do czynienia. O ile graficy projektują sam wygląd strony (kolory, czcionki, kształty, rysunki), to ostatecznie niezbędny będzie programista Front-end, który wdroży projekt graficzny używając swoich umiejętności kodowania HTML, CSS i JavaScript.

Rolą frontendowca jest również określenie, które elementy designu nie powinny być implementowane z uwagi na ich niepraktyczność, co wymaga siłą rzeczy stałego kontaktu z grafikami.

Od nawigacji w witrynie, przez responsywność, aż po animacje – programiści Front-end zajmują się wdrażaniem wszystkiego, co widzisz i z czym możesz wchodzić w interakcje na stronie lub w aplikacji. Od programistów Front-end najczęściej oczekuje się znajomości HTML, CSS i JavaScript oraz różnych frameworków i bibliotek.

Technologie front-end

  • HTML
  • CSS (i powiązane technologie, takie jak Sass i Less)
  • JavaScript

Jakie są obowiązki programisty Front-end?

  • Praca nad projektem i architekturą strony internetowej
  • Poprawa komfortu użytkowania witryny lub aplikacji
  • Opracowywanie nowych funkcji poprawiających wrażenia użytkownika
  • Zachowanie równowagi między estetyką a funkcjonalnością
  • Optymalizacja witryn pod kątem urządzeń mobilnych
  • Optymalizacja stron pod kątem szybkości i skalowalności

developer_at_work_image

Kim jest programista Back-end?

O ile programiści Front-end są odpowiedzialni za widoczną część witryny lub aplikacji, programiści Back-end zajmują się całą resztą po stronie serwera: bazami danych, skryptami serwera i interfejsami API.

Jak sama nazwa wskazuje, programiści Back-end pracują „na zapleczu” oprogramowania. Robią co w ich mocy, aby wszystko działało sprawnie „pod maską”. Skupiają się na komunikacji serwera z przeglądarką (lub aplikacją) oraz dbają o to, żeby serwer dawał odpowiednie informacje dla danego żądania.

Technologie Back-end i obszary umiejętności:

  • NodeJS
  • Python
  • PHP
  • Ruby on Rails
  • Języki wykorzystywane po stronie serwera (Java, Ruby lub Python, .NET)
  • Protokoły komunikacyjne API (REST, SOAP, RPC)
  • Bazy danych (MySQL, MongoDB, Oracle, SQL Server)
  • Serwery (Apache, Nginx, serwery IIS, Microsoft IIS)

Jakie są obowiązki programisty Back-end?

  • Wymyślić sposoby realizacji głównych założeń witryny / aplikacji (wspólnie z developerami Front-end)
  • Zapewnienie prawidłowego przechowywania danych, a także wyświetlania ich użytkownikom aplikacji
  • Obsługa i tworzenie systemów przetwarzania płatności
  • Zarządzanie zasobami API
  • Tworzenie architektury systemu lub serwisu WWW

Kim są programiści Full-stack?

Programiści Full-stack to przysłowiowe „złote rączki” branży IT. Łączą oni umiejętności programistów Front-end i Back-end.

Są to specjaliści, którzy odnajdują się zarówno w pracy nad projektami, które obejmują bazy danych i algorytmy, ale równie dobrze orientują się w technologiach dla użytkowników. Od programisty Full-stack oczekuje się znajomości HTML, CSS i JavaScript, ale także znajomości jednego lub kilku języków programowania wykorzystywanych przez Back-end, np. Ruby, PHP lub Python. Doświadczenie dewelopera Full-stack łączy elementy zarządzania projektami, projektowania stron internetowych i UX.

Nie oznacza to oczywiście, że są ludźmi od wszystkiego i w każdej z tych technologii są w stanie samodzielnie napisać cały kod. W rzeczywistości prawie każdy Full-stack wciąż spędza większość czasu jako programista Front-end lub Back-end, ale jeśli zajdzie taka potrzeba, jest gotowy przejąć różne zadania i zajrzeć „pod maskę”, lub sprawnie naprawić "karoserię".

Technologie i umiejętności Full-stack

  • Technologie front-end (HTML5, CSS3, JavaScript)
  • Technologie back-end (jeden lub więcej języków programowania, np. Python, PHP, Ruby, .Net itp.)
  • Bazy danych, cache i message brokery (MySQL, MongoDB, Oracle, SQL Server, Redis)
  • Podstawowe umiejętności graficzne (najlepiej podstawowe umiejętności projektowania prototypów i projektowania UI / UX)
  • Systemy kontroli wersji, takie jak Git
  • API (REST i SOAP). Umiejętność tworzenia usług REST i SOAP jest mile widziana

Jakie są obowiązki programisty Full-stack?

  • Tworzenie architektury serwisu WWW
  • Współpraca z grafikami
  • Tworzenie aplikacji internetowych typu back-end
  • Tworzenie baz danych
  • Tworzenie stron internetowych z naciskiem na wiele platform i responsywność
  • Projektowanie i rozwijanie API

Kim są inżynierowie DevOps?

Inżynierowie DevOps różnią się nieco od pozostałych ról omawianych w tym tekście. Nie pracują z samym kodem, lecz gdzieś na pograniczu zespołów wytwarzania oprogramowania (Dev) i zarządzania systemami (Ops). Dzięki integracji i sprawnej współpracy między tymi dwoma działami firma może pracować nad swoimi produktami i wydawać aktualizacje znacznie szybciej i w bardziej spójny sposób niż w zwykłym modelu.

FunFact: skąd wziął się termin DevOps i co on naprawdę oznacza?

Patrick Debois, developer z Belgii, po raz pierwszy użył terminu DevOps szukając nazwy dla organizowanej przez siebie konferencji na temat zarządzania systemami. Zasadniczo wymyślił tę nazwę, łącząc słowa development i operations w jedno słowo. Nazwa DevOps szybko przyjęła się w branży, w wyniku czego powstał zupełnie nowy obszar specjalizacji.

Jakie są obowiązki inżynierów DevOps?

  • Zarządzanie i usprawnianie projektów
  • Testowanie i ocena wydajności produktu i dostosowywanie zasobów do rosnącej liczby użytkowników
  • Projektowanie i ulepszanie infrastruktury i współpracy zespołowej
  • Budowanie procesów CI/CD (t.j. ciągłej integracji i ciągłego wdrażania)
  • Automatyzacja procesów w celu zwiększenia wydajności i produktywności
  • Optymalizacja cykli wydawania produktów lub aktualizacji

DevOps w Dolinie Krzemowej

Wielkie startupy z Doliny Krzemowej, takie jak Facebook, Uber i Spotify, bardzo szybko dostrzegły korzyści płynące z tworzenia zespołów DevOps w swoich strukturach i przyczyniły się do spopularyzowania tego ruchu. Ponieważ organizacje te były od samego początku tworzone z myślą o kulturze DevOps, ich struktura organizacyjna ewoluowała, dopasowując się do tego sposobu myślenia.

Te startupy odniosły sukces, ponieważ niekoniecznie postrzegają IT jako centrum kosztów, ale jako integralną część łańcucha, który dostarcza wartość dla klienta. W tym tkwi istota DevOps – odpowiedzialność za całe doświadczenie i zadowolenie klienta.

bridge_image

Błędne przekonania o DevOps

Wbrew powszechnemu wyobrażeniu DevOps to coś więcej niż połączenie ról development i operations w ramach jednego teamu. DevOps to bardziej filozofia pracy, sposób myślenia skupiony na dostarczaniu wartości dla klienta. Warto dodać, że Inżynierowie DevOps pełnią w firmie rolę odpowiedzialną za tzw. customer journey – budowanie wielopoziomowego doświadczenia klienta podczas kontaktu z firmą.

Prawo Conwaya z 1967 roku dość dobrze odzwierciedla tę koncepcję, mówiąc, że organizacje projektują systemy, w sposób który mimowolnie odzwierciedla lub naśladuje ich własną strukturę komunikacji wewnętrznej.

"Każda organizacja, która projektuje system (dowolny, szeroko rozumiany), stworzy coś, czego struktura jest kopią struktury komunikacyjnej organizacji." Melvin E. Conway

Zarobki Developerów w USA

Ile zarabia developer Front-end?

Średnia pensja dla developera Front-end w Stanach Zjednoczonych wynosi 110 490 USD rocznie. Ponadto programiści Front-end w Stanach Zjednoczonych mogą liczyć na dodatkowe 2500 USD rocznej premii rocznej.

Ile zarabia programista Back-end?

Jak podaje portal Indeed.com, amerykańskie pensje na stanowiskach Back-end developer wynoszą średnio około 128 000 USD rocznie, w zależności od stażu pracy i lokalizacji. Najlepiej zarabiają specjaliści w stanach Kalifornia i Waszyngton, gdzie pensje sięgają nawet 151 tysięcy dolarów rocznie.

Ile zarabia Full-stack developer?

Według portalu indeed.com, programiści Full-stack z doświadczeniem w nowoczesnych technologiach chmurowych i React są bardzo poszukiwani i należą do najlepiej opłacanych specjalistów w swojej dziedzinie. Ich zarobki w Stanach Zjednoczonych wynoszą średnio około 111 468 dolarów rocznie i 4100 dolarów premii gotówkowej rocznie.

Jakie są typowe zarobki inżyniera DevOps?

Wykwalifikowani inżynierowie DevOps są bardzo poszukiwani przez firmy informatyczne i w zależności od konkretnych obowiązków na stanowisku, pensje w Stanach Zjednoczonych oscylują wokół 125 000 USD rocznie, ale w niektórych stanach rosną do ponad 170 000 USD rocznie.

Porada dotycząca zarabiania (nie tylko) dla Developerów

Praca zdalna bezpośrednio dla firmy ze Stanów kusi i faktycznie umożliwia otrzymywanie wymienionych kwot, jednak często oznacza bycie przysłowiowym “trybikiem” w maszynie i sprowadza się do nudnego “klepania kodu” oraz wypełniania raportów w Jirze. Nie ma miejsca na jakąkolwiek interakcję, rozwój, wymianę doświadczeń, wspólną kawę. Na dłuższą metę taka praca może spowodować stan silnej alienacji (wzmacnianej sytuacją covidowej pandemii) i wiąże się z brakiem poczucia przywiązania do firmy.

Chcąc zatem pracować i rozwijać się w Polsce - warto szukać polskich pracodawców realizujących projekty wyłącznie dla Klientów z USA. W takim modelu - można zarabiać świetne pieniądze porównywalne do stawek amerykańskich - bez konieczności relokacji i bez konieczności rezygnacji z jedzenia z kolegami na obiad (polskich) pierogów ruskich.

developer_women_at_work

Podsumowanie

Mam nadzieję, że ten krótki przewodnik pozwoli Ci lepiej zrozumieć role poszczególnych członków zespołu: developerów Full-stack, Front-end, Back-end i DevOps.

Na zakończenie dodam, że choć umiejętności programistyczne i doświadczenie techniczne mają ogromne znaczenie, to jednak kompetencje miękkie są tym co najmocniej wpływa na efekty i jakość wspólnej pracy. Można mieć 10-letnie doświadczenie jako programista, jednak coś co wyróżnia ponadprzeciętnego developera na tle innych to nie jego twarde skille, lecz umiejętność otwartej i jasnej komunikacji, pokora, uśmiech oraz nieustający głód nauki i ciągła chęć samorozwoju.

On this page

Share:

Ockam logo

Address

MasterBorn Sp. z o.o.
ul. Krupnicza 13,
50-075 Wrocław
Tax ID: 8992816601

Contact

contact@masterborn.com

Copyright © MasterBorn 2016 -2020Privacy Policy
The Administrator of your data is MasterBorn, with its registered office in Wroclaw, Krupnicza 13. If you want to withdraw, get an insight or update information about you, then contact us: contact@masterborn.com