O tym jak wygląda praca Front-end Developera i czy warto kończyć studia, by zostać programistą, rozmawiam z Mateuszem Derksem z firmy Toptal
Poniższa rozmowa to element cyklu „Ludzie pracy”, w którym pytam przedstawicieli różnych zawodów o to, jak wygląda ich praca, jakie umiejętności są niezbędne, by ją wykonywać i na co nastawić swoją karierę, by skutecznie konkurować w danej profesji.
***
Cześć Mateusz. Pracujesz jako Front-end Developer. Opowiedz pokrótce na czym polega Twoja praca?
Cześć. Niezależnie od rodzaju projektu, moim głównym zadaniem jest sprawianie, by internetowe przeglądarki w przystępny sposób pokazały treść użytkownikom. W praktyce polega to na tworzeniu kodu HTML i ozdabianie go stylami z pomocą CSS.
Brzmi ciekawie, choć podejrzewam, że dla wielu czytelników może to być „czarna magia” 🙂 Chciałbym zapytać czy to nie jest tylko takie wrażenie, że praca jest ciekawa, bo wiemy, że czasami za atrakcyjną fasadą kryje się jakaś rutyna. Czy Twoją pracę da się zamknąć w jakichś ramach?
Gdy pracuję nad konkretnym projektem, zawsze zaczynam od struktury dokumentu, dbam żeby odpowiednie znaczniki (języka programowania – dop. red.) były na swoim miejscu. Staram się używać znaczników zgodnie z ich specyfikacją np. by listy wypunktowań budować z elementów <ul>, a nie <div>.
Po opracowaniu struktury zwykle dodaję style dla dużych rozdzielczości i uzupełniam tymi dla urządzeń przenośnych. Jeśli dochodzi jakaś interakcja lub animacja napisana w JavaScripcie to sprawdzam jej wydajność. Poza tym mój dzień jest raczej zorientowany zadaniowo.
Z tego, co rozumiem, sam ustalasz sobie priorytety. Masz zadanie, które musisz wykonać, a droga, jaką do tego dojdziesz, zależy wyłącznie od Ciebie.
Tak, bardzo często zadania są opisane jako oczekiwany rezultat i mogę wybrać w jaki sposób je zrealizować. W tej pracy ważny jest indywidualizm, ale raczej rozumiany jako samodzielność. Dużo decyzji związanych z zadaniem podejmuje się wspólnie z zespołem.
Możemy coś zaproponować w grupie i za parę dni widzieć swój pomysł dostępny dla użytkowników. Zdarza się też przedyskutować możliwe rozwiązania i wspólnie znaleźć coś lepszego. Wiele zespołów, w których pracowałem, faktycznie same ustalały priorytety krótkoterminowe.
Wydajesz się być bardzo zaangażowany w swoją pracę. Co Cię skłoniło do zostania Front-end developerem? Czy myślałeś o tym od czasów szkoły, studiów?
Zostałem Front-end Developerem, bo chciałem coś tworzyć, a nie umiem malować (śmiech). Bardzo podobało mi się to, że od razu widoczne są efekty moich starań. Z pomocą przeglądarki i kilku linii kodu mogę zrobić coś miłego dla oka.
Programować zacząłem w liceum, pisałem dodatki do popularnej wtedy gry Counter Strike 1.6. Wtedy mogłem nie tylko tworzyć, ale też widzieć jak inni korzystają z tego co robię. W trakcie studiów informatycznych związałem się bardziej z technologiami webowymi i tak mi zostało do dziś.
Jaki kierunek studiów skończyłeś?
Żaden! Przerwałem studia na kierunku Informatyki po drugim roku. Mimo wszystko dobrze wspominam mój czas na Politechnice. Poznałem świetnych ludzi, miałem wiele momentów “wow”, gdy choćby dowiadywałem się jak działa komputer.
Czyli mam przed sobą jawny przykład osoby, która bez ukończenia studiów osiągnęła wiele i wciąż ma przed sobą świetlaną przyszłość. To chyba nie jest odosobniony przypadek wśród programistów, prawda?
Zgadza się. Znam wielu dobrych specjalistów, którzy nie dokończyli formalnej edukacji. Mam wrażenie, że szczególnie we Front-endzie jest dużo miejsca dla samouków. Warto znać podstawy algorytmiki, ale specjalistą można zostać tylko przez praktykę.
Uważasz, że bariera wejścia na stanowisko Front-endowca jest mała np. w porównaniu do innych profesji czy już stricte, profesji informatycznych?
Tak, mam wrażenie że od Front-end Developera nie wymaga się tak wielu umiejętności jak od Back-end Developerów. Moja praca polega bardziej na znajomości przeglądarek, śledzeniu zmian w standardach, znajomości używanych bibliotek.
Wśród bieżących zadań nie widuję implementowania skomplikowanych struktur ani algorytmów. Olbrzymia społeczność programistów tworzących narzędzia i biblioteki dla Front-endu sprawia, że zwykle nawet te bardziej skomplikowane problemy mają już swoje rozwiązanie.
OK, wróćmy do bardziej ogólnej kwestii, czyli ścieżki kariery. Czy po przerwaniu studiów od razu zacząłeś pracę jako Front-endowiec? Jak wyglądały Twoje zmagania na początku i jak doszedłeś do punktu, w którym jesteś dziś?
Zacząłem pracę jakoś jako tzw. Full-stack Developer. Tworzyłem zarówno Front-end jak i Back-end dla aplikacji. Dość szybko się wyspecjalizowałem i postanowiłem skupić się tylko i wyłącznie na interfejsie użytkownika. Back-endowe doświadczenie wykorzystałem i rozwinąłem potem przy okazji innych projektów.
Bardzo dużo czasu zajęło mi poznanie języka JavaScript. To znaczy byłem w stanie pojąć i pisać własny kod dość szybko, jednak była to tylko, jak się okazało, pobieżna znajomość języka. Mimo że podobny do innych, z którymi miałem doświadczenie wcześniej na studiach, JavaScript jest dość specyficzny.
Czy pamiętasz jeszcze co na początku sprawiło Cię największą trudność? Od jakiego momentu poczułeś się komfortowo w pracy tzn. uznałeś, że wszystko jest zadaniem, ale takim, które da się wykonać i że jest to tylko kwestia pracy z Twojej strony?
Wspomniałem o wielu narzędziach i bibliotekach jak o czymś pozytywnym, ale to ma też swoje wady. Zamiast jednego świetnego rozwiązania, mamy kilka średnich. Wiele projektów powstaje i jest zamykanych.
Na początku ciężko było mi wybrać, która biblioteka jest najlepsza do danego problemu, trudno było mi ocenić jak wartościowy jest kod, który zamierzam dołączyć do projektu. Posiadanie tak wielu opcji może być przytłaczające na starcie. Komfortowo poczułem się dopiero, gdy zacząłem sam tworzyć lub współtworzyć takie narzędzia.
A w kwestii współpracy z kolegami czy szefami?
Tak, przyznaję, miałem pewne standardowe problemy w branży IT, jak nauka pracy w zespole czy dotrzymywanie terminów. Wynikało to bardziej z braku doświadczenia, ale pomocni i wyrozumiali współpracownicy mogą bardzo pomóc w nadrobieniu tego.
Czy z perspektywy czasu, tak samo zaplanowałbyś swoją karierę? A może zdecydowałbyś się dokończyć studia? Jak oceniasz po latach swoje decyzje zawodowe?
Nie żałuję żadnej z nich. Nawet najgorsze momenty były okazją do nauczenia się czegoś. Zamiast narzekać na nudne zadanie, starałem się znaleźć w nim coś ciekawego. Zrobić to co jest opisane w zadaniu, a przy okazji poprawić kod, który mnie do tej pory “nękał”. Zmieniałem pracę dopiero, gdy poczułem, że przestaję się rozwijać i nie widziałem innego rozwiązania niż zmienić środowisko, by dalej się uczyć.
Masz już jakiś plan na kolejne lata? Co byś chciał robić, w jakim kierunku się rozwijać? Jak rozumiem Front-end to jedynie przystanek na drodze Twojej kariery?
Jako że jestem introwertykiem, nie czuję się silny w zarządzaniu zespołem, więc raczej będę wciąż programował. Technologie webowe rozwijają się bardzo szybko. A i znając JavaScript możemy robić nie tylko strony internetowe.
Oprócz tego chciałbym złapać więcej doświadczenia z natywnymi aplikacjami na urządzenia mobilne. Przez krótki czas pracowałem przy tworzeniu aplikacji na iOS i czułem, że przydają mi się umiejętności nabyte jako Front-end Developer. Chętnie sprawdzę się w tym ponownie, choć pewnie w najbliższym czasie bardziej hobbystycznie, po godzinach.
Jakie rady mógłbyś dać przyszłym adeptom Twojego fachu? Czy możesz wymienić jakieś kluczowe umiejętności i/lub cechy charakteru, które warto mieć, by efektywnie pracować jako Front-endowiec?
Dla mnie najważniejsze to obserwować co się dzieje w świecie webowym. Polecam obserwować np. na Twitterze twórców najpopularniejszych bibliotek i innych aktywnych programistów. Z cech to przede wszystkim liczą się praca w zespole i otwartość na zmiany (bo ulubiony framework pewnie za rok będzie przestarzały).
Ponadto ważna jest dbałość o użyteczność interfejsu produktu (Front-endowiec ma często wpływ na ostateczny wygląd strony), a także znajomość webowych standardów i tego jak są wspierane przez przeglądarki. Generalnie, musisz chcieć się rozwijać.
Dzięki za rozmowę.
Źródło zdjęcia w okładce artykułu: http://pixabay.com