praca frontend

Z jakimi ograniczeniami wiąże się praca frontendowca? Devdebata

– Frontend developer to trochę taki one man army. Ze względu na specyfikę naszej pracy, dobry frontowiec musi znać się po trochu na tym, czym zajmują się wszystkie inne działy – powiedział nam Piotr Konowrocki, Head of Front-end w Efigence. Zapytaliśmy trzech specjalistów o to, co ich zdaniem ogranicza frontendowców.

W devdebacie udział wzięli:

  • Piotr Konowrocki. Head of Front-end w Efigence. Od 16 lat związany ze środowiskiem IT, od 13 lat profesjonalnie. Swoją ścieżkę rozpoczynał jako Content Editor zaliczając kolejno stanowiska juniorskie, seniorskie i liderskie, kończąc jako Head of Front-end. W trakcie swojej kariery pracował z największymi klientami z branż finansowych, telekomunikacyjnych czy motoryzacyjnych w dziesiątkach cmsów i frameworków przecierając szlaki przez nowinki technologiczne, obecnie zajmuje się managementem zespołu programistów.
  • Łukasz Wełniak. W branży IT od ponad 14 lat, wcześniej pracował w agencjach interaktywnych, od niemal 12 lat związany z Efigence. Zaczynał jako specjalista front-end, aktualnie nadzoruje zespoły produkcyjne. Uczestniczył we wdrażaniu innowacyjnych systemów bankowości internetowej dla dużych banków w Polsce i za granicą, nadzoruje implementację systemów CMS klasy Enterprise dla największych banków w Polsce. Bogate doświadczenie zdobyte w pracy zawodowej wspomaga wykształceniem inżynierskim, studiami podyplomowymi z zakresu 
  • Piotr Kamienowski. Front-end application Team Leader w Efigence S.A. Posiada 10 letnie doświadczenie komercyjne w pracy nad aplikacjami webowymi. Od 8 lat jest związany z Grupą Efigence gdzie pracuje przy projektach bankowych i FinTech. Odpowiadał za projekty aplikacji frontendowych bankowości internetowej dla dużych banków z Polski i Europy. Na co dzień, nadzoruje prace kilkuosobowego zespołu Frontendowego.

Praca we frontendzie

Jak zaczęła się Wasza przygoda z frontendem? Jak wyglądał on kilkanaście lat temu?

Piotr Konowrocki, Head of Front-end w Efigence: Mój pierwszy kontakt z tworzeniem stron internetowych miał miejsce jeszcze w czasach szkolnych. Potrzebowałem zrobić stronę na temat swojej gry, żeby móc zareklamować ją w sieci. Profesjonalnie zacząłem zajmować się tym kilka lat później – po maturze, zamiast na kremówki, poszedłem do swojej pierwszej pracy w IT. Pracowałem przez jakiś czas jako Content Editor wprowadzając treści na strony, ale dość szybko zostałem przeniesiony innego do działu, wtedy jeszcze nazywanego webdeveloperami.

Te kilkanaście lat temu praca na froncie wyglądała kompletnie inaczej i była nieporównywalnie prostsza. Nie było mobile’a i responsywności, nie było żadnych frameworków, preprocesorów, task managerów. Wdrażaliśmy do CMSów proste strony w HTMLu i CSSie. Większość z nich obchodziła się w ogóle bez javascriptu, a największą zmorą każdego webdevelopera było dostosowywanie styli pod IE5.5 lub IE6.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Moja przygoda z IT zaczęła się od pracy jako webdeveloper – wtedy istniało takie stanowisko, które było odpowiednikiem dzisiejszego fullstacka. W zakresie obowiązków było tworzenie programowanie w PHP oraz tworzenie warstwy front-endowej aplikacji. W tamtym czasie front-end jako osobne stanowisko pracy nie istniał, na czasie były technologie XHTML 1.0 CSS2.1 czy JavaScript w wersji 3 (wersja 5 była jeszcze w trakcie implementacji). W branży toczyła się dyskusja, czy budowanie stron na tabelkach jest złe, czy dopuszczalne. Skrypty JavaScript służyły głównie do walidacji formularzy a przebojem w życie programistów wdarło się jQuery. Musieliśmy wspierać IE6 i robić, jak śpiewał Perfect: “Takie rzeczy, że jeszcze mi wstyd”.

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Kilkanaście lat temu pracowało się jeszcze na tabelkach i walczyło z kompatybilnością z Internet Explorer 6. Style inline nie były takie złe, a o dodanie nowej klasy do div-a do vm-ki prosiło się zespół Java developerów. Moja przygoda zaczęła się od animowania / programowania stron w środowisku Flash i ActionScript. Podobało mi się to, że strona wyglądała tak samo na wszystkich przeglądarkach internetowych oraz to, że można było w łatwy sposób dodawać ciekawe animacje. Później klasycznie, czyli stronki dla znajomych już w HTML, CSS i JS, rozwój i poznawanie bieżących podejść i technologii, aż do teraz gdzie piszemy polskie i europejskie banki – już nie mamy styli inline i tabelek.

Kim jest Frontend Developer

Czym zajmuje się Frontend Developer, a co nie leży w jego zakresie zadań?

Piotr Konowrocki, Head of Front-end w Efigence:

Według mnie front-end developer to trochę taki one man army. Oczywiście naszym głównym zakresem obowiązków jest odpowiedzialność za warstwę wizualną strony/aplikacji oraz wszystkie interakcje pomiędzy stroną, a użytkownikiem. Jednak ze względu na specyfikę naszej pracy, dobry frontowiec musi znać się po trochu na tym, czym zajmują się wszystkie inne działy. Minimum podstaw znajomości języka, w którym pracują backendowcy w jego projekcie, coś o konfiguracji serwerów. A z drugiej strony potrzebna jest też znajomość obsługi programów graficznych, bo nierzadko trzeba samemu coś wyciąć albo poprawić. 

Do tego przydaje się choć odrobina poczucia estetyki, ponieważ koniec końców to my przygotowujemy wszystkie animacje, które znajdują się na stronach. Jest takie powiedzenie: “jack of all trades, but master of none”. Parafrazując je w kontekście zadań front-endowca: “jack of all trades, but master of one”.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Front-end Developer to specjalista od warstwy wizualnej strony. Jego obowiązkiem jest tworzenie widoków/funkcjonalności, które spełniają wymagania funkcjonalne i wizualne wynikające z założeń projektu, a które dodatkowo są:

  • zbudowane zgodnie ze sztuką (ze standardami), 
  • wydajne: zbudowane zgodnie z podejściem mobile first, progressive enhancement, 
  • atrakcyjne: wzbogacone o drobne animacje, które udynamiczniają całą stronę, wprowadzają “miękkość” działania strony,
  • dostępne: zakładamy, że nawet jeżeli projekt nie wymaga wyższego standardu dostępności, naszym standardem wewnętrznym powinno być dostarczanie aplikacji spełniające poziom A wytycznych WCAG 2.1,
  • bezpieczne: w dzisiejszych czasach aplikacje są nieraz pisane w pełni w technologiach frontendowych, a to oznacza dużą odpowiedzialność, również za dane klientów końcowych. Bezpieczeństwo stało się więc w pracy Frontendowca bardzo ważne,
  • czytelne: kod tworzony przez programistę powinien być samo-dokumentujący, czyli na tyle czytelny, aby inny programista nie potrzebował dokumentacji aby zrozumieć jego działanie.

Co do drugiej części pytania, czyli co nie należy do jego obowiązków, to oczywiście wszystko, co leży poza jego kompetencjami. Nie uważam jednak, że jako specjaliści powinniśmy się odcinać od myślenia szerszego niż tylko nasze podwórko. Praca w zespole projektowym daje możliwości wpływu na to, co się dzieje w całym procesie tworzenia produktu, a każdy członek zespołu, niezależnie od specjalności powinien działać w nim proaktywnie. To oznacza, że zawsze powinniśmy wyrażać nasze wątpliwości i dzielić się pomysłami związanymi z tworzonym oprogramowaniem, bo dzięki temu staje się on lepszy. 

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Frontend Developer jest programistą. To nie te czasy, kiedy traktowano nas jak dodatek, w stylu: “o, a to damy frontowi, niech pokoloruje”. Na przestrzeni lat zakres naszych obowiązków rośnie wykładniczo, mógłbym nawet pokusić się o dyskusje, czy nie mamy przypadkiem bardziej złożonego stacku, połączeń i zależności od Backend developerów. Nie chodzi mi jednak o to, żeby teraz prowadzić walkę, kto ma więcej, trudniej czy kto jest bardziej pro – zostawmy to, przecież to nie ma znaczenia. Znaczenie ma to, że nasza praca zyskuje na szacunku ogółu społeczności IT. 

Trudno powiedzieć, co nie leży w zakresie naszych obowiązków, bo przecież oprócz kodowania jesteśmy: analitykami, sprzedawcami, osobami kontaktującym się bezpośrednio z klientem, testerami naszego kodu oraz kodu naszych poprzedników, a także nieraz dev-opsami i projektantami prawidłowego według nas api jakie powinno spłynąć z backend. Niektórzy z nas są liderami i muszą dodatkowo zarządzać zespołem. Może inaczej: jedyne czego nie robiłem jako Frontend Developer to stawianie bazy danych oraz backendu, nie programowałem też w Python ani w Java (nie licząc studiów informatycznych).

Jak Waszym zdaniem dziś wygląda zapotrzebowanie na frontendowców? Może jest jakaś branża, która szczególnie potrzebuje frontendowców?

Piotr Konowrocki, Head of Front-end w Efigence:

Zapotrzebowanie na frontendowców systematycznie rośnie z roku na rok, tak samo jak rosną wymagania i obszary, za które frontendowiec jest odpowiedzialny. Coraz więcej rzeczy dzieje się bezpośrednio w przeglądarce, coraz więcej logiki biznesowej przenoszone jest na front, co oznacza, że pracy dla nas nie brakuje i prędko nie zabraknie. Do tego nie zapominajmy, że HTML, CSS i JavaScript wykorzystywane są nie tylko jako języki do tworzenia stron internetowych, ale także do aplikacji mobilnych, desktopowych lub mniej typowo na przykład na telewizory z androidem.

Nie wydaje mi się natomiast, żeby jakaś branża przodowała w zapotrzebowaniu. Warstwa wizualna jest tak samo potrzebna, niezależnie od tego czy chcemy naszemu klientowi sprzedać buty czy ubezpieczyć go od wypadku.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Zapotrzebowanie jest od kilku lat ogromne. Od momentu wprowadzenia HTML5 i CSS3 ciągle rośnie nacisk na jakość warstwy wizualnej aplikacji, a równocześnie coraz więcej pracy przenosi się na deweloperów Front-end (aplikacje SPA, frameworki). Przez kilka lat mieliśmy okres “dzikiego” wzrostu zapotrzebowania, co skutkowało tym, że każdy aspirujący junior mógł od ręki znaleźć pracę. Aktualnie, od około dwóch lat, mam wrażenie, że sytuacja się unormowała i firmy (jeżeli mogą) wolą jednak zatrudnić specjalistę z doświadczeniem.

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Zapotrzebowanie jest duże, pandemia pomimo początkowego chaosu w branży z cyklu: “co to będzie, czy klienci zrezygnują z projektów lub je zatrzymają?”, nie wpłynęła na obniżenie zapotrzebowania. To co zauważam, to zmniejszające się chęci zatrudniania do cechu juniorów oraz osób entry-level. Nie można się też dziwić, wyszkolenie człowieka na początkowym lub bardzo początkowym etapie kosztuje czas. Nierzadko taka osoba po roku czy półtora zmienia pracę głównie z powodu chęci “świeżego startu z wyższego pułapu” – prawdziwy cytat. 

Na ten moment dostrzegam, że niemal każda branża szczególnie potrzebuje frontendowców, ponieważ wiele działalności musiało przejść do weba z powodu aktualnej sytuacji Światowej.

Frontend developer czy fullstack developer

Dzisiaj łatwiej frontendowcowi czy fullstackowi znaleźć pracę?

Piotr Konowrocki, Head of Front-end w Efigence:

ZOBACZ TEŻ:  Od HR managera do developera. Historia Mikołaja Klarżuka

Według mnie łatwiej znaleźć pracę fullstackowi, ale z innych powodów, niż mogłoby się to wydawać. Większość poważnych firm rozgranicza stanowiska frontowe i backendowe. Ktoś, kto określa się mianem fullstacka będzie miał ułatwione zadanie, ponieważ zna więcej technologii i może szukać pracy we wszystkich jednocześnie. Natomiast jeżeli chciałby zatrudnić się jako stricte fullstack, to obawiam się, że liczba sensownych ofert może być dość mocno ograniczona.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Wiadomo, że fullstack ma większe możliwości, bo zna kilka technologii. Zawsze może znaleźć pracę programisty w jednej z nich. Jeżeli jednak szuka pracy, w której będzie miał możliwość pracy w kilku z nich jednocześnie, to już musi znaleźć firmę, która akurat takie wykorzystuje i nie rozdziela twardo tych kompetencji pomiędzy działy.

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Moim zdaniem paradoksalnie łatwiej będzie znaleźć pracę frontendowcowi. Czuję, że dla fullstacka są nieraz zbyt wygórowane oczekiwania. Niektórzy chcieliby od razu mocnego fullstacka, czyli silnego we frontend oraz backend, a nie standardowego, co wie, co w trawie piszczy po obu stronach. Dobry mocny fullstack za to w mojej ocenie będzie chętnie zatrudniany. 

Pytanie jest inne: czy warto być fullstackiem, ale to każdy musi odpowiedzieć na nie indywidualne bazując na zainteresowaniach i pomyśle na życie. Hint od mnie: ogarnianie dwóch stron barykady w sposób zadowalający może pochłonąć niezliczoną ilość czasu, a trzeba to zderzyć z późniejszymi zarobkami oraz obowiązkami w firmie.

Z jakimi ograniczeniami wiąże się praca frontendowca?

Piotr Konowrocki, Head of Front-end w Efigence:

Niestety, ograniczeń przybywa wprost proporcjonalnie do możliwości. Kiedyś ograniczeni byliśmy jedynie przez starsze wersje przeglądarek, najczęściej Internet Explorera. Obecnie, mimo że IE rozwija się i coraz więcej klientów porzuca starsze wersje, dochodzą inne ograniczenia. Responsywność, różne systemy operacyjne, przeglądarki wbudowane w popularne aplikacje mobilne (Facebook, Messenger, Instagram itp.). Ze względu na takie ograniczenia czasem trzeba porzucić niektóre rozwiązania, ponieważ sprawdziłyby się jedynie na części urządzeń. Budżet i deadline nie pozwalają na zaprojektowanie dedykowanego interfejsu dla każdego wariantu, w związku z czym kończymy z czymś prostszym, ale bardziej uniwersalnym.

Dodatkowo należy pamiętać, że odbiorcy naszych stron mogą korzystać z nich na sprzęcie o wiele gorszym, niż ten, na którym pracujemy i testujemy my. Jak wspominałem już wcześniej, coraz więcej logiki przenoszonej jest na front, więc jeżeli dodamy do tego jeszcze wszelkiego rodzaju animacje i efekty wow, którymi atakuje użytkownika strona, to musimy naprawdę pilnować wydajności.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Jedyne co mi przychodzi do głowy to ograniczenia technologiczne i sprzętowe… np. nie zawsze możemy puścić wodze fantazji i zrobić super zaawansowane, skomplikowane animacje, bo u większości użytkowników albo nie zadziałają w pełni albo będą się przycinać, co da efekt odwrotny od zamierzonego. Ciągle z tyłu głowy musimy mieć rankingi popularności systemów operacyjnych, przeglądarek czy rozdzielczości monitorów/wyświetlaczy. 

Mimo że to już nie czasy, gdy IE6 nas ciągnęło w dół, to nadal wydajność sprzętu jest ważna, a wsparcie przeglądarek jest jednym z najważniejszych kryteriów, jakie interesują klienta zamawiającego aplikacje internetowe. Poza tym, mamy dużą swobodę, pracy dla specjalistów z doświadczeniem jest dużo, można pracować w pełni zdalnie, dla klienta z drugiego końca świata, wybierać technologię, która nam odpowiada, pracować na porządnym sprzęcie, za dobre pieniądze… brzmi jak wymarzona praca.

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Ograniczenia pochodzą zazwyczaj od klienta. Klient potrafi przyjść i zapragnąć projekt (nawet bankowy) w tym, a nie innym konkretnym stack-u technologicznym. Nikt nie wie i się nie dowie, czym klient się kieruje w doborze i dlaczego to robi, zamiast zdać się na opinię doświadczonych ludzi z branży, którzy dostosują stack do zadania. Tak po prostu czasem bywa.

Inną rzeczą ograniczającą pracę frontendowca może być management, który w porę nie dostosuje złożoności zadań do bieżących umiejętności i chęci rozwoju developera, czytaj – gdy na przykład cały czas dostajesz landing page do stylowania. Wtedy należy poruszyć ten temat z przełożonym i oczekiwać możliwości lepszego rozwoju / zmienienia wewnętrznie projektu w danej firmie.

Dla kogo frontend to dobry kierunek w karierze?

Piotr Konowrocki, Head of Front-end w Efigence:

Wydaje mi się, że to pytanie można odpowiedzieć na dwa sposoby.

Po pierwsze: dla osób, które oprócz programowania lubią też widzieć efekty swojej pracy. Programując w dowolnym języku zawsze możemy stworzyć super algorytm, za którzy pochwalą nas nasi koledzy nerdzi kiwając głową z aprobatą. Jednak praca frontendowca daje nam dodatkowo to, że jej efekt widzą wszyscy użytkownicy końcowi, mają z nim bezpośrednią styczność.

Po drugie: dla osób, które lubią uniwersalność. W 2013 roku byłem na konferencji, na której Allen Wirfs-Brock, jeden z autorów specyfikacji ECMAScript 2015, opowiadał o tym, że każda era komputerowa ma swój wiodący język programowania. I że wypada go znać. Najpierw był to COBOL/Fortran, następnie nastała era C/C++, obecnie jest to javascript. I nie, absolutnie nie twierdzę, że jest to najlepszy z języków, nie o to w tym chodzi. Javascript ma dużo wręcz komicznych rozwiązań, część z nich bardzo słusznie jest obiektami żartów w światku programistycznym. Ale znając javascript w tej chwili można napisać prawie wszystko. Potrzebna strona? Proszę bardzo. Aplikacja mobilna? Oczywiście. Aplikacja desktopowa, najlepiej żeby działała tak samo na Windowsie i Linuksie bez dodatkowego nakładu pracy – droga wolna. Aplikacja na telewizor? Interaktywny kiosk oparty na Raspberry PI, nie wiem, aplikacja na inteligentną lodówkę? Znasz odpowiedź.

Łukasz Wełniak, Web Development & Operations Director w Efigence:

Dla ludzi, którzy to lubią. Zawsze uważałem, że żeby się tym zajmować, trzeba to lubić. NIe mówię tu tylko o front-endzie, ale ogólnie o IT. Programowanie powinno dawać radość, satysfakcję. W każdej pracy, zajmując się tym co się lubi pracuje się wydajniej. Jak to mówią, z niewolnika nie ma pracownika. Branża IT jest branżą kreatywną, wymaga logicznego myślenia, inwencji i proaktywności. Tworzymy rozwiązania, które są później wykorzystywane przez miliony użytkowników, ważne więc żeby nasza praca była wykonana jak najlepiej. To wymaga zaangażowania, a ktoś kto przychodzi do pracy jedynie po pieniądze, nigdy nie wykorzysta w pełni swoich możliwości. 

Jeżeli ktoś zastanawia się nad zmianą branży i IT kusi go PRem o wielkich zarobkach i profitach, na początek niech spróbuje się nauczyć w domu choć podstaw jakiegoś języka programowania. Jeżeli tworzenie prostych skryptów czy stron www będzie sprawiało mu radość i nakręcało go do dalszej nauki – to może być praca dla niego.

Piotr Kamienowski, Front-end application Team Leader w Efigence:

Dla osób logicznie myślących, chętnych do nauki i rozwoju. Dla tych, którzy nie mają problemu w szukaniu wiedzy na własną rękę. Dla ludzi lubiących pracę w grupie, ale i osoby wolące być w cieniu odnajdą się. Nasza branża jest mocno perspektywiczna, cały czas też ewoluuje, więc jest dla osób elastycznych, potrafiących się co parę lat przekwalifikować na inną technologię lub całkowicie na inną pokrewną może nawet nieistniejącą jeszcze na ten moment podobną branżę. Zarobki również pozytywnie napędzają do rozwoju.


Czy Fullstack ma łatwiej na rynku pracy? O to zapytaliśmy specjalistów w kolejnej devdebacie.

Zdjęcie główne artykułu pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
W Netfliksie korzystamy chyba ze wszystkich usług AWS. Historia Karola Stępniewskiego