Być może także zadajecie sobie podobne pytanie.
UI Developer, Web UI Developer - z jaką rolą, funkcją, zakresem zadań, odpowiedzialności, kompetencji, doświadczeń należy kojarzyć te nazwy?
UI Developerzy to właściwie jacy specjaliści?
UI Developer, pojęcie, które można przetłumaczyć na język polski jako programista interfejsu użytkownika, określa technicznie zorientowanych specjalistów, którzy odpowiedzialni są z jednej strony za tworzenie kodu, a z drugiej za atrakcyjny, satysfakcjonujący pod kątem UX wygląd interfejsu.
Czy UI Developer jest nowym pojęciem, które służy do nazwania dobrze znanych stanowisk, specjalizacji?
Czy jest raczej pewną nazewniczą modą? A może rzeczywiście mamy do czynienia z zupełnie nowym rodzajem specjalizacji?
Można przecież zapytać, jaka w takim razie jest różnica między Front end Developerem a UI Developerem?
Można się całkiem zasadnie zastanawiać, jaka jest różnica między UI Designerem i UI Developerem?
Czy owe rozróżnienia są - przez analogię - bardzo zbliżone do rozróżnień czynionych między UX Designerem i Product Designerem, o których pisaliśmy w artykule pt. “Kim jest Product Designer”?
Idąc dalej tropem różnic, podobieństw, zakresów kompetencji można śmiało zapytać: Jakiego rodzaju umiejętności (twardych i miękkich), doświadczeń oczekuje się od specjalistów zatrudnionych na stanowisku UI Developera?
Można także postawić całkiem zasadne pytanie: Jaką rolę w zespole developerskim, projektowym pełni UI Developer?
Czy jest to specjalizacja podobna do specjalizacji typu full stack, w której developerzy są odpowiedzialni za tworzenie obu warstw aplikacji, strony internetowej, aplikacji webowej - Front end i Backend?
W niniejszym artykule postaramy się przybliżyć wszystkie te kwestie. Będziemy rozstrzygać dylematy oraz opowiadać o zadaniach, jakich podejmuje się typowy UI Developer.
Opowiemy także o oczekiwaniach, jakie rynek, właściciele agencji UX, software house`ów stawiają wobec specjalistów zajmujących się tworzeniem interfejsów użytkownika.
Serdecznie zapraszamy do lektury!
Jak zdefiniować UI Developera?
Właściwie nazwa stanowiska zdradza wszystko. UI Developer to specjalista, który musi posiadać kompetencje UI Designera oraz Front end Developera.
Innymi słowy, ma bardzo specyficzną perspektywę, która pozwala mu rozumieć, czuć (empatyzować), wykorzystywać potencjał tkwiący w projektowaniu oraz w kodowaniu.
UI Developer rozumie także o wiele głębiej i szerzej ograniczenia, ryzyka, zależności, jakimi obie te domeny się charakteryzują z osobna.
Rozumie także ich specyfikę, gdy staramy się je połączyć, chcąc zaoferować użytkownikom końcowym możliwie najbardziej satysfakcjonujące doświadczenia (User Experience).
Wyróżnikiem UI Developera jest umiejętność zrozumienia specyfiki projektowania i kodowania oraz skutecznego ich połączenia.
Także w celu komunikowania wyróżników, atrybutów marki, które obecne są w interfejsie użytkownika końcowego.
Stanowisko, jakie w organizacjach obejmują UI Developerzy wymaga szeregu kompetencji miękkich i twardych (z zakresu programowania oraz projektowania).
Jeszcze jakiś czas temu, teamy projektowe, w których pracowali UX/UI Designerzy oraz teamy developerskie, w których pracowali między innymi Front end developerzy, były mocno separowane.
Dziś taki sztywny podział ulega pewnemu zatarciu, głównie za sprawą pojawienia się na rynku osób, które potrafią połączyć wiedzę i umiejętności z tych dwóch dziedzin.
UI Developerzy stanowią niejako połączenie, część wspólną tych domen, kompetencji, doświadczeń i umiejętności.
I w sumie nie ma się czemu dziwić, bowiem łączenie kompetencji wzajemnie zależnych, wzajemnie ze sobą powiązanych, przyległych stanowi od dłuższego czasu wyraźny trend.
Tego rodzaju specjaliści potrafiący wnieść do firmy, agencji UX unikalną perspektywę i zaoferować dodatkową wartość są niezwykle pożądani.
O co chodzi w projektowaniu interfejsu użytkownika
Zacznijmy od pewnej oczywistości, ale wartej przypomnienia.
Interfejs graficzny użytkownika końcowego to najbardziej bezpośredni element, z jakim styka się użytkownik, rozpoczynając użytkowanie aplikacji webowej lub mobilnej.
Efekt pierwszego wrażenia, o którym pisaliśmy w artykule pt. “Projektowanie dobrego pierwszego wrażenia”, pojawia się w większości przypadków właśnie w kontakcie z interfejsami produktów cyfrowych.
Od tego, na ile zostaną one w automatycznych, poza świadomych reakcjach, ocenione jako atrakcyjne, przyjazne, zachęcające, proste zależny jest przebieg dalszej interakcji.
Z punktu widzenia Front end Developera, który zadba, by był on maksymalnie wydajny i funkcjonalny, kwestia rodzących się w ułamkach sekund nastawień może mieć trzeciorzędne znaczenie. Które łatwo zbyć łatką nadmiernego psychologizowania.
Z punktu widzenia UI Developera (ale także badacza UX, UX Designera) problem jest kluczowy, ważki i przesądzający w dużym stopniu o tym, jaką relację z użytkownikiem uda się produktowi cyfrowego stworzyć.
Czy będzie to relacja - mówiąc metaforycznie - love / hate relationship, czy raczej long-term relationship.
Pamiętajmy, że nawet najbardziej funkcjonalny, ale nieprzyjazny, nieatrakcyjny interfejs nie jest w stanie zbudować długotrwałej więzi z użytkownikiem, która przecież przekłada się na sukces rynkowy, biznesowy oraz koniec końców ekonomiczny.
Perspektywa, jaką wnosi UI Developer jest bardzo specyficzna i jednocześnie tyleż korzystna, co niezbędna. Łącząc dwa kluczowe wymiary - projektowania i programowania - jest on w stanie wnieść nową, świeżą wartość do projektu.
By lepiej zrozumieć specyfikę tego połączenia trzeba koniecznie - nawet skrótowo i poglądowo - opisać specyfikę projektowania interfejsów.
Czym jest interfejs? Jest narzędziem komunikacji. Dzięki interfejsom użytkownicy mogą wchodzić w interakcję z systemem - aplikacją webową, aplikacją mobilną - mogą dzięki niemu wykonywać różne zadania i osiągać cele. Mogą się z aplikacją, systemem, oprogramowaniem komunikować.
Interfejs jest narzędziem, pozwala użytkownikom użyć produktów cyfrowych. Na czym polega projektowanie interfejsu? To w jaki sposób interfejs jest zaprojektowany, a więc de facto w jaki sposób działa, bardzo silnie wpływa na to jak produkt cyfrowy jest odbierany, oceniany, opisywany, traktowany.
Interfejsy użytkownika końcowego służą do uczynienia nawigacji z punktu A do punktu B jak najkrótszą, jak najbardziej prostą, jak najszybszą, jak najbardziej intuicyjną.
Podobną do nawigacji, którą użytkownik już zna, której już zdążył się nauczyć, używając innych aplikacji.
Zadaniem UX/UI Designera jest takie zaprojektowanie elementów wizualnych, funkcjonalnych, interaktywnych, by ów proces był dla użytkownika łatwy i przyjemny.
Interfejs nie tylko ma działać zgodnie z przyzwyczajeniami, oczekiwaniami, ale także zgodnie z potrzebami. A nawet lepiej.
Przy czym owa wartość dodana, która wykracza poza atrybuty techniczne, estetyczne, projektowe to umiejętność spojrzenia na interfejs jako narzędzie, którego używają ludzie. Ze wszystkimi tego konsekwencjami.
Na przykład takimi, że ludzie popełniają błędy, mają różne wyobrażenia, różne modele mentalne, różne emocje i nastawienia.
O ile developer, programista może stworzyć doskonały pod względem technologicznym interfejs, który będzie realizował funkcje w możliwie najbardziej wydajny sposób, o tyle to wciąż za mało, by stworzyć lubiany, wysoko oceniany interfejs.
Do tego niezbędne są kompetencje projektanta, który rozumie te czysto ludzkie potrzeby, możliwości, ograniczenia, typowe zachowania. Który bazując na wynikach badań, testów jest w stanie wyjść im naprzeciw.
Wygląd, styl, sposób działania, prezentacja, interaktywność, dostępność, wydajność interfejsu użytkownika - by wymienić najważniejsze kwestie - nie mogą wynikać z osobistych preferencji, czy uprzedzeń projektanta, ale z danych, badań oraz specyficznego, empatyzującego podejścia do procesu projektowego.
Warto na koniec tego segmentu naszych rozważań przypomnieć, że interfejs musi posiadać przede wszystkim trzy kluczowe cechy:
- musi być funkcjonalny
- musi być wygodny, intuicyjny
- musi być atrakcyjny wizualnie - estetyczny.
Podsumowując: Specjaliści odpowiedzialni za tworzenie interfejsów użytkownika korzystają z danych pozyskanych w badaniach UX, dzięki czemu są w stanie uczynić interfejs nie tylko wydajnym w sensie technologicznym, ale także satysfakcjonującym pod kątem User Experience.
Są w stanie zaoferować użytkownikom końcowym elementy nawigacji w sposób, który uczyni nawigację efektywną, możliwie bezbłędną oraz satysfakcjonującą.
UI Developerzy posiadając umiejętności, wiedzę, kompetencje UI Designerów i developerów są w stanie wnieść do procesu tworzenia interfejsów wartość, która czyni je bardziej przyjaznymi i przeciwdziała negatywnemu efektowi pierwszego wrażenia.
Rola UI Developera - Programisty interfejsu użytkownika końcowego
Łącząc dwie kluczowe kompetencje - technologiczną oraz projektową - UI Developer tworząc interfejs użytkownika jest w stanie przełożyć koncepcje projektowe, graficzne, estetyczne, brandingowe, związane z usability na język technologicznych konkretów.
Jest w stanie za pomocą odpowiednio dopasowanej technologii nadać im najbardziej optymalną, wydajną formę.
W praktyce, gdy role są separowane, gdy nad stroną projektową i programistyczną pracują różni specjaliści bardzo trudno o zrozumienie niektórych niuansów.
Ciężko o porozumienie i znalezienie satysfakcjonującego kompromisu.
Możliwość zrozumienia uwarunkowań, celów, metod, ograniczeń obu stron jest niezwykle cenna, bowiem prowadzi do lepszego wykorzystania potencjałów tkwiących w projektowaniu i technologii.
Mówiąc nieco metaforycznie, dzięki UI Developerom możliwe jest uzyskanie wartościowego efektu, którego clue stanowi wzajemne się przenikanie.
Technologia funkcjonalizuje projektowanie, a projektowanie humanizuje technologię.
Co równie ważne, UI Developer ma także za zadanie:
- dowartościowywać doświadczenia użytkownika jako problem projektowy
- pamiętać o celach biznesowych
- znaleźć nalepsze możliwe sposoby zaspokajania potrzeb właścicieli biznesu oraz użytkowników końcowych za pomocą technologii
- analizować przepływy klientów
- analizować zachowania użytkowników
- prototypować interfejs użytkownika
- projektować interakcje
- projektować makiety, prototypy, MVP
- projektować systemy nawigacji
- projektować ikony, elementy graficzne używane w aplikacji
- dbać o spójność GUI (Graphical User Interface) produktów cyfrowych
- kodować.
Podsumowując: UI Developerzy to z jednej strony specjaliści posiadający kompetencje techniczne (Front end-owe), z drugiej zaś projektowe.
Ich rolą jest orkiestrowanie technologii z użytecznością, znalezienie rozwiązań, które są jednocześnie wydajne oraz zadowalające.
Przy czym, UI Developerzy nie są ani projektantami UI, ani Front end Developerami.
Są specjalistami, którzy - na zasadzie synergii, a więc współdziałania różnych czynników, elementów, skutkującego efektem dalece wychodzącym poza sumę elementów składowych - wnoszą nową jakość, wartość do procesu tworzenia produktów cyfrowych.
Twarde oraz miękkie kompetencje UI Developerów
Przydatność UI Developerów przede wszystkim zależna jest od zakresu kompetencji twardych oraz miękkich, jakimi dysponują.
Kompetencje twarde, których najczęściej poszukuje się na rynku u UI Developerów to:
- znajomość języków programowania, technologii, frameworków (np. React, AJAX, JQuery, JSON, HTML, CSS, JavaScript, Angular, Vue, Swift)
- znajomość narzędzi developerskich (np. MaterialUI, Chrome Dev Tools)
- znajomość narzędzi wykorzystywanych w tworzeniu prototypów (Adobe XD, Sketch, InVision, Axure, Figma)
- znajomość systemów zarządzania treścią (np. WordPress, Joomla!, Drupal, Magento, osCommerce)
- znajomość interfejsów API sieci społecznościowych
- umiejętność optymalizacji kodu.
Kompetencje miękkie, których najczęściej poszukuje się na rynku u UI Developerów to:
- zdolności komunikacyjne, interpersonalne
- kreatywność i otwartość
- elastyczność i ciekawość
- dociekliwość i empatyczność
- gust, wrażliwość estetyczna
- umiejętność myślenia analityczno-syntetycznego
- samodzielność oraz orientacja na cel, wynik
- łatwość nauki - chęć ustawicznego uczenia się jest kluczowym nastawieniem, jakiego rynek oczekuje od UI Developera
- znajomość metodyk zwinnych - AGILE.
Front end Developer vs UI Developer
UI Developer jako stanowisko, rola, zbiór kompetencji bardzo często jest mylony, a w najlepszym razie porównywany do stanowiska, roli, zbioru kompetencji specjalistów, programistów Front end.
Oczywiście, oba stanowiska mają sporą część wspólną, ale z pewnością nie są ze sobą tożsame. Różnice są bardzo czytelne i można je sprowadzić do kilku wymiarów.
Front end Developer różni się od UI Developera przede wszystkim:
- zakresem prac, jakich się podejmuje - Front end developer tworzy strony i aplikacje, UI Developer konstruuje głównie interfejs użytkownika produktu
- głównym celem, jaki chce osiągnąć - Front end developer głównie skupia się na optymalnym zintegrowaniu produktu cyfrowego, UI Developer dąży do zaoferowania satysfakcjonujących interakcji, doświadczeń oraz zwiększenia zaangażowania użytkowników
- zakresem znajomości technologii - Front end developerzy mają znacznie szersze kompetencje techniczne.
Ponadto, programiści interfejsów użytkownika starają się przede wszystkim, by tworzony przez nich interfejs był atrakcyjny wizualnie i realizował także potrzeby organizacji w zakresie spójności z design systemem, brandingiem.
Front end Developerzy w większym stopniu skupiają się na niezawodności interfejsu, płynności jego działania oraz sposobie jego integracji z warstwą backend.
Mówiąc nieco jeszcze inaczej, UI Developera i Front end Developera różnią także proporcje.
UI Developer w większym stopniu skupia się na kwestiach związanych z estetyką, użytecznością, a mniejszą uwagę przykłada do kwestii technologicznych.
Front end Developer robi dokładnie na odwrót, a więc jego głównym zmartwieniem jest technologia. Jej wydajność, aktualność, bezpieczeństwo.
A nie można przecież zapominać, o czym bardzo trafnie przypominają autorzy artykułu, opublikowanego na blogu Interaction Design Foundation pt. “User Interface Design”, że użytkownicy szybko oceniają projekty.
Twórcy interfejsów - Front end Developerzy, UI UX Designerzy - powinni pamiętać, że ich celem nadrzędnym jest optymalne połączenie użyteczności, funkcjonalności oraz atrakcyjności.
UI Developerzy - rozumiejąc tę potrzebę - wnoszą do projektu perspektywę, która nie pozwala zapominać, że interfejs powinien być:
- efektywny i efektowny
- niepracochłonny - charakteryzujący się niskim kosztem interakcji, ilość pracy włożona w jego obsługę powinna być minimalna
- transparentny - powinien wspierać wykonywanie zadań, nie powinien natomiast przykuwać zainteresowania użytkownika swoją formą, estetyką
- bezproblemowy i znajomy
- satysfakcjonujący i wolny od frustracji
- wyrazem wartości, jakie marka reprezentuje, urzeczywistnia, z jakich słynie
- nie tylko doskonały w sensie funkcjonalnym i technicznym, ale także “ludzki” - powinien budzić emocje.
Kim jest UI Developer? Podsumowanie artykułu
- GUI – graficzny interfejs użytkownika to najbardziej bezpośredni element, z jakim styka się użytkownik, rozpoczynając korzystanie z aplikacji webowej lub mobilnej.
- Interfejsy pozwalają użytkownikom wchodzić w interakcję z systemem.
- Interfejsy pozwalają userom wykonywać zadania i osiągać cele.
- Efekt pierwszego wrażenia pojawia się w większości przypadków w kontakcie z interfejsami produktów cyfrowych.
- Nawet najbardziej funkcjonalny, ale nieprzyjazny, nieatrakcyjny interfejs nie jest w stanie zbudować długotrwałej więzi z użytkownikiem, warunkującej sukces rynkowy, biznesowy.
- Nazwa UI Developer (programista interfejsu użytkownika) określa technicznie zorientowanych specjalistów, którzy odpowiedzialni są za tworzenie kodu oraz za atrakcyjny, satysfakcjonujący pod kątem UX wygląd interfejsu.
- UI Developer to specjalista, który musi posiadać kompetencje UI Designera oraz Front end Developera.
- UI Developer ma bardzo specyficzną perspektywę, która pozwala mu wykorzystywać potencjał tkwiący w projektowaniu oraz w kodowaniu.
- Łącząc dwa kluczowe wymiary - projektowania i programowania - jest on w stanie wnieść nową, świeżą wartość do projektu.
- Łączenie kompetencji wzajemnie ze sobą powiązanych stanowi od dłuższego czasu wyraźny trend.
- Zadaniem UI Developera jest takie zaprojektowanie, zaprogramowanie elementów wizualnych, funkcjonalnych, interaktywnych, by nawigowanie było dla użytkownika łatwe i przyjemne.
- UI Developerzy są w stanie wnieść do procesu tworzenia interfejsów wartość, która czyni je bardziej przyjaznymi i przeciwdziała negatywnemu efektowi pierwszego wrażenia.
- W praktyce, gdy nad stroną projektową i programistyczną pracują różni specjaliści bardzo ciężko wypracować porozumienie i znaleźć satysfakcjonujący kompromis.
- Możliwość zrozumienia uwarunkowań, celów, metod, ograniczeń obu stron jest niezwykle cenna, bowiem prowadzi do lepszego wykorzystania potencjałów tkwiących w projektowaniu i technologii.
- UI Developerzy nie są ani projektantami UI, ani Front end Developerami.
- Są specjalistami, którzy wnoszą nową jakość, wartość do procesu jakim jest tworzenie produktu cyfrowego.
- UI Developer w większym stopniu skupia się na kwestiach związanych z estetyką, użytecznością, a mniejszą uwagę przykłada do kwestii technologicznych.
- Natomiast Front end Developer robi dokładnie na odwrót, a więc jego głównym zmartwieniem jest dbanie, by technologia była wydajna, aktualna, bezpieczna (np. usług cyfrowych).