article background

Kim jest Full-Stack Developer? Poznaj Primotly #3

17/01/2023

Cześć, tu Primotly! To już trzecia część naszej serii artykułów, w których zaglądamy za kulisy pracy w IT. Dzisiaj poznacie Maćka, który opowie więcej o tym, czym zajmuje się full-stack developer.

Przedstawiamy Wam zbiór wywiadów z ekspertami z różnych dziedzin IT. Początkujący deweloperzy znajdą tu nie tylko przydatne wskazówki, ale także inspiracje, jakie umiejętności powinni rozwijać i jakie kompetencje zgłębiać. Dla osób, które poszukują pracy w IT, będzie to świetny sposób na lepsze poznanie kultury naszej pracy i członków zespołu Primotly. Poprzednio mogliście poczytać o pracy back-end developera oraz programisty front-end. Dzisiejszy gość opowie o ścieżce kariery, która łączy obydwie te role.

Maciej Kemnitzprogramista, który z Primotly związany jest od czterech lat jako front-end tech lead. Ma ponad dziewięć lat doświadczenia w pracy z technologiami webowymi. Pracował przy stronach firm takich jak znanylekarz.pl (docplanner.com) czy slowhop.com. Pasjonuje go biznesowy aspekt aplikacji webowych.

2 w 1: Full-stack developer

Czy możesz krótko opowiedzieć, czym zajmuje się full-stack developer?

Deweloper full-stack zajmuje się programowaniem całej aplikacji. Można powiedzieć, że jest to połączenie front- i back-end developera. Do moich obowiązków należy również ogarnianie bazy danych i konfigurowanie środowiska. Jednak full-stack developer nie zajmuje się obowiązkami DevOps. Muszę znać pliki konfiguracyjne na front-endzie i technologie wspierające programowanie w React. Z kolei DevOps będzie odpowiedzialny za wdrażanie i przesyłanie danych na serwer.

W jakiego typu organizacjach i firmach najlepiej sprawdzi się full-stack developer?

Full-stack developer tak naprawdę jest w stanie odnaleźć się wszędzie. Oczywiście wszystko ma swoje plusy i minusy, a czasem lepiej sprawdza się rozdzielenie ról na front-end i back-end developera. Jestem pewien, że praca z full-stack developerem może zdecydowanie zaoszczędzić czas. Jedna osoba zajmuje się zarówno front- jak i back-endem, więc cały proces jest szybszy i wymaga mniej iteracji. Znajomość wszystkich zależności w projekcie ułatwia zaproponowanie właściwych rozwiązań. Z drugiej strony, szeroka wiedza oznacza, że programista full-stack może mieć mniejszą wiedzę w bardzo wyspecjalizowanych obszarach.

Dlaczego zdecydowałeś się zostać full-stack developerem?

Na początku swojej kariery zajmowałem się tylko back-endem. Pewnego dnia zaproponowano mi zrobienie również frontu. Pomyślałem, że spróbuję. Poszerzanie kompetencji okazało się dla mnie dość łatwe.

Co jest ważniejsze: front-end czy back-end?

Czy łatwo programiście back-end nauczyć się front-endu?

Przesiadka z back- na front-end nie jest taka trudna. Gorzej, gdy trzeba poradzić sobie z odwrotną sytuacją, ponieważ back-end jest znacznie szerszą dziedziną. Gdy zacząłem pracować jako full-stack developer, zdobywanie nowej wiedzy przychodziło mi z łatwością. Jako senior nie miałem z tym większego problemu, bo znałem technologię. Po prostu musiałem nauczyć się front-endowego frameworka. Na początku nauka przebiegała trochę wolniej, jednak nie mogę mogę powiedzieć, że musiałem poświęcić na to bardzo dużo czasu, raczej wszystko przyszło całkiem naturalnie.

Co jest bardziej ekscytujące – front-end czy back-end?

Najbardziej ekscytujące jest dobre wykonywanie swojej pracy. Dla mnie nie ma różnicy, czy to jest front-end czy back-end. Wcześniej pracowałem z językiem PHP, który używany jest tylko w back-endzie. To bardzo przydatna wiedza, ale patrząc z dzisiejszej perspektywy, raczej nie będę się w tym kierunku rozwijał. Obecnie cieszy mnie fakt, że pracuję z JavaScriptem i TypeScriptem, bo daje to dużo większe możliwości – zarówno od strony back-endu, jak i front-endu.

Jakie korzyści płyną ze współpracy z programistą full-stack zamiast dwóch specjalistów (front- i back-end developera)?

Pierwszą zaletą jest to, że nie ma potrzeby dzielenia się zasobami. Jedna osoba zastępuje dwie. Pełnoetatowy programista zna całą strukturę aplikacji, więc łatwiej jest znaleźć błędy. Łatwiej jest również proponować rozwiązania biznesowe, gdy widzi się szerszy obraz. Kiedy wiesz, co dzieje się po obydwu stronach, możesz łatwiej zaplanować całą ścieżkę dla produktu cyfrowego. Kiedy zasoby są współdzielone, czasami można wybrać niewłaściwe rozwiązania, ponieważ jeden programista bardzo mało wie o kodzie swojego kolegi. Praca full-stack developera może też zająć mniej czasu ze względu na mniejszą potrzebę komunikacji.

Zalety pracy jako full-stack developer

Co najbardziej lubisz w swojej pracy?

Najfajniejsze w mojej pracy jest zajmowanie się funkcjonalnością strony internetowej lub aplikacji całościowo. Kiedy pracujesz tylko we front- lub back-endzie, nie ma tyle satysfakcji z zakończenia projektu, bo byłeś odpowiedzialny tylko za część większej całości. Front-end i back-end nie są kodowane równolegle, więc kiedy wykonujesz tylko jedno z nich, musisz poczekać, aż ktoś inny wykona swoją pracę, aby zobaczyć końcowy rezultat. Jako programista full-stack mam wszystko pod kontrolą, a gdy dostarczam finalny produkt, wiem, że wszystko działa tak, jak powinno.

Czy łatwo jest znaleźć pracę jako full-stack developer?

Jak wygląda rynek pracy, jeśli chodzi o stanowiska dla programistów full-stack? Jest więcej czy mniej ofert pracy, w porównaniu do front-end i back-end developerów?

Jako full-stack możesz zajmować się zarówno front- jak i back-endem, czyli teoretycznie obydwie role mogą leżeć w kręgu twoich zawodowych zainteresowań. Praktycznie nie zdarza się, aby ktoś odrzucił full-stack developera, ponieważ większy stack technologiczny jest zawsze zaletą, a nie wadą. Z moich obserwacji wynika, że częściej specjalistów o szerszym zakresie umiejętności zatrudniają mniejsze firmy, ponieważ łatwiej jest zatrudnić jedną osobę, niż dwóch osobnych pracowników. W większych firmach często zatrudnia się osobnych ekspertów od front- i back-endu.

Jeśli chodzi o liczbę ogłoszeń o pracę – często są one podzielone na specjalistów obydwu dziedzin. Te dotyczące pracy stricte programistów full-stack są o wiele rzadsze. Często kryterium przyjęcia jest znajomość konkretnych technologii. Można być programistą JavaScrip – język ten jest używany zarówno we front- jak i back-endzie – jednak nie wszystkie technologie oferują taką wszechstronność.

Co charakteryzuje dobrego full-stack developera?

Myślę, że dobry programista full-stack posiada przede wszystkim sporą wiedzę z zakresu back-endu. Bez tego będzie ciężko iść dalej. Zdolność analitycznego i logicznego myślenia jest również niezwykle istotna. Z drugiej strony, musisz znać się na architekturze aplikacji i mieć trochę wyczucia estetycznego. Krótko mówiąc – potrzebujesz solidnych kompetencji zarówno z zakresu front- jak i back-endu.

Jaką ścieżkę zawodową powinien obrać początkujący programista, aby w przyszłości pracować jako full-stack developer?

Jak tylko zaczniesz pracować z kodem, postaraj się zrozumieć całą aplikację, jej działanie i przepływ informacji. Jeśli pracujesz jako front-end developer, zainteresuj się tym, jak działa back-end. Warto w tym miejscu zaznaczyć, że full-stack developer najlepiej sprawdza się w świecie webowym. Warto więc w pierwszej kolejności zapoznać się z tym, jak działa HTTP. Tak jak wspomniałem, moim zdaniem lepiej zacząć od back-endu, jeśli to możliwe. Gdy zrozumiesz, jak to działa, front-end będzie dla ciebie łatwy.

Technologie, które full-stack developer powinien znać

Jakie technologie musi znać osoba, która chce zostać full-stack developerem?

Nawet jeśli mówimy tylko o webie, trudno będzie udzielić jednoznacznej odpowiedzi. Przede wszystkim musisz dobrze zrozumieć, jak działa Internet. Możesz po prostu poznać Pythona, który sprawdzi się zarówno we front-, jak i na back-endzie. To samo dotyczy JavaScriptu. Jednak niewiele technologii działa zarówno w obydwu kategoriach. Wszystkie te języki są często mieszane. Co jeszcze? Z pewnością przydatna jest znajomość HTML i CSS. Dobrze jest też mieć trochę wiedzy DevOps – na przykład czym jest AWS i jakie usługi oferuje.

A jak programista full-stack radzi sobie z Reactem i Symfony?

React to obecnie jedna z najpopularniejszych bibliotek front-endowych. Ma dużą społeczność i wsparcie, więc jest doskonałym wyborem dla różnych projektów. Możesz łatwo zintegrować React z Symfony, który jest głównym frameworkiem PHP. Symfony ma również dużą społeczność, dobrą dokumentację i niewiele błędów. Jest to bardzo potężne narzędzie, które zapewnia wszystko, czego potrzebujesz zarówno do front-endu, jak i back-endu. Należy jednak pamiętać, że w tym miejscu pojawia się inna technologia, PHP. Myślę, że programistom full-stack będzie dużo łatwiej pracować z Reactem i Node.js.

Co wchodzi w skład twojego podstawowego stacku technologicznego w Primotly?

  • JavaScript / Node.js
  • HTML
  • CSS / SaaS
  • MySQL
  • NestJS
  • React

Skąd czerpiesz wiedzę jako full-stack developer?

  • React – Przegląd dokumentacji React i powiązanych zasobów.
  • Symfony – Dokumentacja.
  • Node.js – Dokumentacja referencyjna API, funkcje ES6 i przewodniki.
  • Stack Overflow – Publiczna platforma, która tworzy największy zbiór pytań i odpowiedzi dotyczących programowania

Ostatnie pytanie. Jakiego rodzaju projekty lubisz najbardziej?

Bardzo lubię tworzyć marketplace’y, bo z jednej strony są użytkownicy, SEO i ładny design aplikacji, a z drugiej strony kryje się wiele problemów algorytmicznych. Niewidoczny back-end musi działać bezbłędnie, aby można było nim dobrze zarządzać. Właśnie to połączenie wiedzy z różnych światów jest w tym wszystkim najciekawsze.

Ma

symfony developer

Maciej Kemnitz

Full-stack Developer

Related Articles

Primotly is a trading name of bPolNet Sp. z o.o.,

ul. Człuchowska 9/6 01-360 Warszawa, Poland

VAT ID

PL5223071494

REGON

365402632

KRS

0000636383


Primotly © 2023