Kulisy pracy w IT: wywiad z Damianem Iwańskim

Frontend to jeden z naprężniej rozwijających się działów w Britenet. Zapotrzebowanie rynku IT na specjalistów tej technologii stale rośnie, warto więc rozważyć związanie z nią swojej zawodowej kariery. O codziennych wyzwaniach, potrzebnych kompetencjach oraz możliwościach rozwoju na tym stanowisku opowiedział Damian Iwański, nasz Frontend Technology Leader.
Jak wygląda na co dzień praca Frontend Developera i na czym dokładnie polega?
Żeby odpowiedzieć na to pytanie, najpierw musimy określić dokładnie czym jest w dzisiejszych czasach Frontend i jaki jest zakres odpowiedzialności takiego developera. Jeżeli serwis WWW, bądź aplikację internetową podzielimy na to, co widzi każdy użytkownik po wpisaniu adresu w wyszukiwarce i na to, czego nie zobaczy na pierwszy rzut oka, to Frontend jest tą widoczną częścią strony. Frontend Developer to zazwyczaj programista JavaScript, który jest odpowiedzialny za zaimplementowanie graficznego interfejsu strony, serwisu internetowego, sklepu czy też aplikacji działającej w przeglądarce. Na tym stanowisku wymagana jest bardzo dobra znajomość HTML’a, CSS’a i JavaSrcipt wraz z frameworkiem, w którym jest napisana aplikacja (np. React, Angular albo Vue). Ponadto, do jego zadań należy także dbałość o to, aby strona lub aplikacja była responsywna, czyli posiadała dopasowany widok w zależności od urządzenia, w jakim chcemy ją zobaczyć. Na co dzień ściśle współpracujemy z Backend Developerami oraz UI/UX Designerami, z którymi wspólnie tworzymy całość konkretnego projektu.
Jakie są największe wyzwania/problemy w codziennej pracy?
Jeżeli miałbym podać jeden z największych problemów, to jest nim moim zdaniem kompatybilność z różnymi przeglądarkami i urządzeniami. Często, aby dany „ficzer” wyglądał dobrze na każdym urządzeniu i przeglądarce, trzeba poświęcić czasem nawet kilka dni. Aktualnie takich problemów jest już coraz mniej, bo większość przeglądarek ma podobny silnik i trzyma się standardów, ale niestety są jeszcze stare aplikacje, których użytkownicy pracują na starych systemach i urządzeniach. Zdarza się też, że ustalenie kompromisu pomiędzy implementacją a wizją graficzną danej funkcjonalności stanowi nie lada wyzwanie. Występują sytuacje, w których projekt graficzny interfejsu użytkownika jest tak skomplikowany, że nie ma fizycznej możliwości, aby przełożyć go na język kodu strony. Frontend Developer musi również zawrzeć swego rodzaju kontrakt z Backend Developerami, aby ustalić strukturę API oraz danych z niego zwracanych.
Jakie należy mieć predyspozycje/umiejętności do pracy na takim stanowisku?
Świat Frontendu bardzo często się zmienia, dlatego też osoby na tym stanowisku muszą cechować się dużą cierpliwością. Powinny być gotowe do ciągłej modyfikacji tego, co zrobiły. Zmiany często podyktowane są po prostu naturą ludzką. W większości jesteśmy, tak zwanymi „wzrokowcami” i nie potrafimy sobie wyobrazić, jak będzie wyglądała dana strona, dopóki nie zobaczymy jej na własne oczy. Wtedy też często pojawiają się przemyślenia i propozycje zmian. Jeżeli w zespole znajduje się osoba odpowiedzialna za UX, to ona często stara się dojść do porozumienia z klientem, próbując go przekonać do zaprojektowanego widoku. Jeżeli natomiast nie ma takiej osoby – ta odpowiedzialność zazwyczaj spada na Frontend Developera. Stąd też w pierwszej kolejności wymieniłbym cierpliwość.
W pracy na takim stanowisku przydaje się również umiejętność negocjacji. Doprowadzenie do finalnej wersji aplikacji to często długi proces, w którym musimy dochodzić do porozumienia z innymi członkami zespołu, bądź z klientem. Z drugiej strony praca przy implementacji interfejsu graficznego to niezwykle twórcze zadanie, bo to właśnie Frontend Developer musi sprawić, aby użytkownicy polubili stronę, bądź aplikację internetową. Jeżeli się to uda – satysfakcja jest gwarantowana. Aby sprostać zmieniającym się trendom, musimy przede wszystkim mieć chęć do nieustannego podnoszenia swoich kompetencji oraz poszerzania wiedzy.
Czy są jakieś niestandardowe umiejętności lub doświadczenia („z życia"), które przydały Ci się w pracy na tym stanowisku?
Jestem osobą, która przywiązuje dużą wagę do szczegółów i do jakości wykonania. Moim zdaniem drobne rzeczy czasami potrafią zmienić postrzeganie całego produktu o 180 stopni. Za przykład niech posłuży nam przycisk „like” na portalu Facebook, wokół którego została stworzona cała ideologia tzw. „lajków”. Z punktu widzenia technicznego to zwykły przycisk. Jeżeli jednak odpowiednio go użyjemy, dodając do niego specjalnie stworzoną mikro-interakcję w postaci ładnej, subtelnej animacji – wszystko się zmienia. Myślę, że ta cecha dbałości o szczegóły bardzo przydaje mi się w codziennej pracy. Dodatkowo przez blisko 10 lat byłem DJ’em i prezenterem radiowym, co dało mi sporo pewności siebie podczas wystąpień publicznych. Może dlatego tak często jestem wybierany na prezentację nowych funkcjonalności do klientów?
Jak wspominasz proces rekrutacji?
Moja przygoda z Britenetem zaczęła się blisko 7 lat temu. Pamiętam, że kilka miesięcy po moim wyjeździe do pracy do Warszawy, odezwała się do mnie jedna ze specjalistek HR z kieleckiego oddziału Britenet, proponując pracę w miejscowym biurze. Po rozmowie technicznej długo zastanawiałem się, czy wrócić do Kielc, z których dosłownie rok wcześniej wyjechałem. Zazwyczaj ludzie wyjeżdżają do stolicy w poszukiwaniu lepszej perspektywy, w moim przypadku było odwrotnie. Dałem się namówić i muszę przyznać, że była to dobra decyzja, gdyż zaraz po przyjeździe do biura okazało się, że w Kielcach pracuje bardzo fajna ekipa i ciężko o lepszą atmosferę w pracy.
Co doradziłbyś osobom biorącym udział w rekrutacji na stanowisko Frontend Developera – o czym z Twojej perspektywy warto pamiętać i na co warto się przygotować?
Osoby pracujące na stanowisku Frontend Developera powinny wykazać się bardzo szerokim spektrum wiedzy. Jest to dość specyficzna rola, ponieważ z jednej strony wymaga się, aby takie osoby miały bardzo dobrą znajomość języka JavaScript, HTML i CSS oraz innych zagadnień związanych z graficznym interfejsem użytkownika, a z drugiej strony muszą ściśle współpracować z Backend Developerami, stąd też wymagana jest znajomość podstawowych zagadnień związanych z częścią serwerową.
Przed rozmową na pewno warto popracować nad usystematyzowaniem swojej wiedzy. Przypomnieć sobie podstawowe zagadnienia związane z ogólną komunikacją w sieci, bezpieczeństwem aplikacji internetowych, czy też dostosowaniem aplikacji na potrzeby osób z niepełnosprawnościami.
Ważne jest, aby odpowiadać zwięźle i na temat. Pytania zadawane przez rekrutera są w większości przypadków bardzo precyzyjne i weryfikują, czy kandydat miał do czynienia z danym zagadnieniem, czy też nie. Zazwyczaj czas na rekrutację jest dość ograniczony, a zakres sprawdzanej wiedzy obszerny, dlatego tak ważne są konkretne odpowiedzi.
Przed rozmową warto też spojrzeć na własne CV i zastanowić się nad wpisanymi tam technologiami i zagadnieniami. Jeżeli nie czujemy się na siłach w danej technologii bądź mieliśmy z nią styczność tylko podczas studiów, zastanówmy się, czy powinna się znaleźć w takim dokumencie. Nie warto zakłamywać rzeczywistości, bo może być to zweryfikowane podczas rozmowy rekrutacyjnej.
Który z projektów w Britenet, w którym brałeś udział, okazał się dla Ciebie najbardziej rozwijający?
Szczerze powiedziawszy, każdy projekt pozwolił mi nauczyć się czegoś nowego. Przez kilka lat miałem możliwość pracować w projektach z branży farmaceutycznej, bankowości, finansów, customer service czy też reklamowej. Projektem, z którego jestem wyjątkowo dumny, jest działanie dla Europejskiego Funduszu Inwestycyjnego (jedna z instytucji Unii Europejskiej). Udało mi się stworzyć praktycznie od zera cały portal informacyjny, mając do dyspozycji tylko logotyp i ogromne ilości danych statystycznych. Było to nie lada wyzwanie, ponieważ dane te musiały zostać przekształcone w różnego rodzaju interaktywne wykresy, które miały za zadanie ułatwiać ich zrozumienie.
Aktualnie dowodzę zespołem w projekcie Beqom, gdzie pracujemy nad produktem z branży finansowej, który na co dzień używany jest przez wiele firm z top 500 największych korporacji na świecie. Nigdy nie spodziewałem się, że milisekundy w wykonywaniu jakiejś operacji mogą mieć tak duże znaczenie. Przekonałem się o tym, gdy w grę wchodziły miliony rekordów, a my musieliśmy zrobić wszystko, żeby przyspieszyć do maksimum działanie aplikacji. Jest to niezwykle ciekawy projekt z dużą ilością wyzwań pod kątem optymalizacji i utrzymania bardzo wysokiej jakości.