Zaczęło się od blogów. A właściwie od tworzenia własnych szablonów blogowych. – Byłam w gimnazjum, kiedy blogi zrobiły się popularne i każda moja koleżanka chciała mieć swój. Mnie pisanie o sobie w necie nie pociągało, ale miałam zacięcie artystyczne i przyszło my go głowy, że chciałabym nauczyć się robić szablony. No to poczytałam o tym w sieci i do dzieła! – tak swoje początki wspomina Karolina Dudzińska, front-end deweloperka. Miała szczęście, bo już jako nastolatka odkryła swoje mocne strony: nauki ścisłe i grafika. Niedługo zaczęła sprzedawać swoje autorskie szablony. Później jej marzenia poszły w całkiem innym kierunku: chciała pracować w bankowości i zajmować się bazami danych. Kiedy jednak zainteresowała się tym bliżej już w czasie studiów informatycznych na Politechnice Białostockiej, stwierdziła, że jednak chciałaby coś tworzyć: – Już wcześniej zorientowałam się, że dobrze mi idzie kodowanie, bo lubię jasno i sprawnie rozwiązywać problemy. A dodatkowo na trzecim roku mieliśmy zajęcia, które łączyły w sobie elementy programowania i grafiki. Wtedy wpadłam na pomysł, żeby zostać front-endowcem.
Swoją pracę (dziś w ukraińskiej korporacji SoftServe) opisuje jako „pośredniczenie między grafikami a back-endem”: – Grafik mówi mi o efekcie wizualnym, który chciałby uzyskać, a back-end – o tym, co jest w stanie dostarczyć. Ja to muszę połączyć, a więc opiniuję zarówno design, jak i back-end, jeśli znam język programowania, w którym dana aplikacja jest tworzona. Dlatego, jak sama mówi, nie mogła poprzestać na umiejętnościach typowych dla „świeżych”, dopiero co przekwalifikowanych front-endów, którym wystarczy znajomość HTML i CSS. Według niej, od tego może zacząć każdy, kto ma dryg do kodowania i wyczucie designu. Choć i tu dużo zależy od kultury firmy: w niektórych teamach grafik dostarcza projekty, a front-end musi je tylko pociąć i poskładać, żeby dobrze wyglądały na stronach internetowych dostosowanych do różnych urządzeń: – Chodzi o przeniesienie „obrazka” do żywego i przede wszystkim klikalnego świata.
„Cykl produkcyjny” zaczyna się więc od grafika, który dostarcza design, później front-endowiec tworzy w oparciu o jego projekt layout strony, a w końcu back-endowiec „podpina” go pod kod. Bo to w jego rękach leży działanie strony internetowej na jej najbardziej podstawowym poziomie – to, co strona ma „robić”. Różne funkcjonalności – to, co ma się na niej podświetlać, jak mają być ułożone poszczególne elementy, w co kliknąć, żeby rozwinął się np. artykuł – to właśnie dzieło front-endowca. Fachowo nazywa się to „stylowaniem”, a podstawowym narzędziem, które do tego służy, jest stworzony specjalne w tym celu język CSS: – Dopiero, gdy nie możemy go do czegoś użyć, zaczyna się praca na kodzie. I tu bywa różnie: albo robi to back-end, albo ja – w zależności od „wielkości”, ciężaru gatunkowego danego zadania. Jeśli mamy do czynienia z prostą aplikacją – można ją w całości stworzyć we front-endzie, i Karolina chętnie się tego podejmuje: – To może być wizytówka czy prosta witryna, na której otwiera się pięć zakładek. „Największy kaliber”, czyli np. połączenie strony ze sztuczną inteligencją – to już praca back-endu, między innymi z tego powodu, że bardziej optymalne jest przygotowanie zestawu danych na serwerze przez back-end i przekazanie go stronie klienta, którą obsłuży front-end. Gdyby zrobić to po stronie klienta, to zawiesiłoby ją na amen.
Karolina cieszy się, że w jej firmie nie ma sztywnego podziału obowiązków. Choć formalnie jest front-endowcem, ma kontakt z back-endem i może podejmować się zadań również z tej działki. Wracając do „dużych” rzeczy na stronie, sam pomysł wychodzi często od niej, a bank-end troszczy się np. tylko o połączenie tego elementu z bardziej pojemnym serwerem. Taka praca najbardziej Karolinie odpowiada: – Im więcej swobody mam w tworzeniu strony, im większy mogę mieć wpływ na cały proces jej powstawania, tym bardziej „mi się chce”. Uwielbiam, kiedy klient, zamiast narzucać mi swoje rozwiązanie, konsultuje ze mną, co jest lepsze. Jak każdego, kto lubi mieć wpływ na cały projekt, Karolinę też „serce boli”, gdy wymyśli coś, za co wszyscy w firmie ją chwalą – a klient jest niezadowolony i życzy sobie czegoś brzydszego albo mniej poręcznego dla użytkowników.
Bo obowiązki front-endu to także kontakt z klientami. – Tylko nasza praca jest tak naprawdę oceniana! Klient nie zajrzy do kodu robionego przez back-end, nie musi też wiedzieć, jak wyglądał projekt graficzny, dopóki w oparciu o niego nie powstał layout. Jeśli gotowa aplikacja mu się podoba, to my zbieramy pochwały, jeśli coś jest nie tak – to nam się obrywa. – przyznaje Karolina. Widzi różnice na poziomie pracy z polskim i zagranicznym klientem. ten ostatni – częściej ufa deweloperom i powierza im choćby wybór technologii. Polacy wolą mieć kontrolę nad całym procesem, nawet jeśli brakuje im wiedzy: – Powiedzmy, że klient usłyszał o jakimś supermodnym, bardzo skomplikowanym rozwiązaniu i upiera się, że musi je mieć na stronie. A strona jest, powiedzmy, klasyczną wizytówką firmy. Wtedy trzeba mu wytłumaczyć, że to nie ma sensu, i to jest trudne; bądź co bądź naszym zadaniem nie jest pouczanie klientów, tylko realizowanie zleceń dla nich!
Dlatego obowiązkiem front-endowca jest być na bieżąco z frameworkami. Kiedy Karolina mówi o swoich podstawowych narzędziach pracy, zaczyna od… Twittera. –Musisz wiedzieć o wszystkich nowościach, więc najlepiej śledzić profile osób, które je tworzą! Bo front-end non stop się zmienia. Ledwie opanowaliśmy Angular 2, już mamy Angular 4. I wielką bitwę w internecie, czy lepszy jest Angular czy React. Musimy za tym podążać, choćby po to, żeby zaproponować odpowiednie rozwiązanie klientowi, który chce mieć nowoczesną stronę, ale wybrał przestarzały framework do jej stworzenia.
Z modą trzeba być jednak ostrożnym. Bo na samym końcu nie ma jednej uniwersalnej odpowiedzi na pytanie: Angular czy React. Każdy front-end powinien używać tego, co dla niego samego jest najbardziej poręczne: – To zależy, w czym lubisz pisać, jakie masz zwyczaje. I tak masz obowiązek znać każdą technologię po trochu, przynajmniej wiedzieć, co czego służy. Bo nie jest tak, że nigdy z tego nie skorzystasz! Według Karoliny, dla front-endowca nie ma czegoś takiego, jak technologia „doskonała”, po której nic lepszego już nie powstanie: –Właściwie możesz być pewna, że już powstało coś lepszego, a ty musisz to znaleźć i się tego nauczyć!
Kiedy się jej słucha, można odnieść wrażenie, że nauka kodowania to bułka z masłem. Nic z tego! Początki też były dla Karoliny trudne: – W klasie informatycznej w liceum pisałam proste rzeczy w PHP i C++, np. moduł wypisujący na ekranie moje imię, a na studiach – nagle pojawiły się zadania typu: stwórz narzędzie do porównywania kodów genetycznych. Na pierwszym roku nie wychodziło mi to najlepiej. Na drugim się zawzięła: zaczęła robić nie tylko zadania z zajęć, ale zadania pokrewne, czy takie, w których trzeba było osiągnąć podobny efekt, ale „na opak”. I wtedy przeżyła tak typowy dla programistów „moment olśnienia”: – Nagle zdałam sobie sprawę, że języki programowania są różne, ale te różnice występują głównie na poziomie nazw poszczególnych elementów. ZAWSZE jest to sekwencja pewnych formułek – jakbym pisała scenariusz. „Chcę kupić mleko”, „Jakie mleko?”, „Białe mleko”. Brzmi banalnie, ale sama logika procesu tworzenia aplikacji we wszystkich językach jest taka sama!
Karolina studia skończyła w zeszłym roku – jest z tego pokolenia, które niekoniecznie uskarża się na dyskryminację ze względu na płeć: – Dziewczyn było na naszych studiach niewiele, w mojej grupie – trzy. Ale nikt nas nie dyskryminował! Podobnie jest w pracy. Hejt widać za to gdzie indziej: front-endowcy po politechnikach nie traktują osób przekwalifikowanych jako „poważnych” programistów: – Znam osobę po rusycystyce, która zajęła się front-endem i non stop słyszała od kolegów z dyplomem inżyniera: „Przecież ty nie masz podstawowej wiedzy, jak możesz nazywać siebie programistą?”. Całkiem jakby informatycy zazdrościli „świeżakom” w zawodzie, że tamci mogli przez pięć lat studiów zajmować się czymś innym! Karolina nie ma takich uprzedzeń. Według niej, front-endu może się nauczyć każdy, i jest to idealny zawód dla dziewczyn. Dlaczego? Bo wiele z nich ma zacięcie artystyczne, a jeśli jednocześnie chcą kodować – właśnie dzięki front-endowi mogą to połączyć.
Na koniec zapytałam ją, jakie są trendy w tworzeniu stron (oprócz tych czysto technologicznych, tym bardziej, że te w dużej mierze trudno przewidzieć). Cóż, jedna z wymienionych przez nią tendencji mnie zachwyca: – Strony muszą być intuicyjne i oszczędne w formie, trochę na wzór popularnych „kafli” Windowsa. To coś jak „styl skandynawski” w urządzaniu mieszkań: ma być praktycznie, ale elegancko i powściągliwie. Druga – no cóż… Strony będą zbierać coraz więcej informacji o nas. Reklamy będą coraz bardziej spersonalizowane, a nasze wyniki wyszukiwania – zapamiętywane i filtrowane coraz staranniej. A że właśnie na tym firmy w sieci zarabiają najlepiej i również tym zajmuje się front-end – nie ma wątpliwości, że to jeden z zawodów przyszłości w IT.