Pozostajemy w obszarze web developmentu.
W tym poście pochylę się nad zagadnieniem, kto jest kim. Szukając potencjalnych kandydatów na pewno zauważyliście, że często różnie siebie nazywają. Przybliżenie pojęć mam nadzieję, pozwoli Wam lepiej odczytywać profile specjalistów, a tym samym nabrać większego przekonania, że osoba, do której zamierzacie już za moment wysłać ofertę, to faktycznie ta właściwa. Ha, myślę, że pewne niezrozumienie w tym temacie zaowocowało przypiętą nam łatką, że mylimy kandydatów programujących w Javie z tymi, co śmigają w JavaScript 🙂 Zatem, zaczynamy.
Zobaczcie, spotykamy się chyba najczęściej z takimi określeniami:
- Frontend developer
- JavaScript developer
- Web developer
- Web application developer
- Web designer
- Graphic Designer
- UX Designer
- UI Developer
- Full stack developer
Jak je odróżnić?
Spójrzmy szybko, w jaki sposób przebiega tworzenie aplikacji internetowych.
Jest to cały proces, który rozpoczyna się od zebrania wymagań. Przede wszystkim, w jakim celu powstaje, do kogo jest skierowana, jakie są oczekiwania, potrzeby grupy docelowej, co lubi, jakie ma przyzwyczajenia etc. Dalej, jak ma wyglądać storna. Na tym etapie analizowana jest wstępna koncepcja, planowane są również rozwiązania programistyczne.
Kolejny krok to projektowanie strony, jej wyglądu, ustala się układ poszczególnych elementów, krótko mówiąc praca skoncentrowana jest na aspekcie graficznym.
Przychodzi czas na tworzenie aplikacji, czyli mamy etap kodowania. Specjaliści dbają, aby wszystko było zgodne z założeniami graficznymi, aby strona otwierała się na wszystkich przeglądarkach, aby czas oczekiwania na jej odpalenie był ,,przyjazny” dla użytkownika, wiadomo, chcemy szybko, szybko… i co też warto podkreślić, strona musi działać bezproblemowo, ma być dla nas w pełni funkcjonalna.
Następnie zostaje ,,wrzucona” na serwer. Trzeba zadbać o jej backend. I co? Na koniec jeszcze należy ją zoptymalizować, aby była dla nas jak najbardziej użyteczna.
Okay, to tak w telegraficznym skrócie. I teraz zobaczcie poniższe zestawienie (źródło), bardzo fajnie pokazujące, kto jest zaangażowany na poszczególnym etapie procesu.
To teraz pokrótce:
User Experience Designer – dba o to, aby strona podobała się użytkownikom, aby byli zadowoleni, gdy z niej korzystają. Zbiera wymagania, przeprowadza badania, analizy, statystyki, na podstawie których jest w stanie powiedzieć, jak coś powinno wyglądać i dlaczego właśnie tak, co trzeba zmienić, aby było extra satysfakcjonujące. UX ma bardziej taki ludzki aspekt.
User Interface Developer – odpowiada za to, w jaki sposób użytkownik wchodzi ze stroną w interakcje, zajmuje się zawartością na stronie, jej układem, rozmieszczeniem przycisków, suwaków, okienek, obrazków etc. Sprawia, że strona jest ładna i funkcjonalna. Współpracuje z UX Designerem oraz programistami.
Application developer – dba o funkcjonalność, koduje. Najlepiej jego pracę oddaje stwierdzenie: sprawię, że strona będzie działać, choć nie obiecuję, że będzie piękna.
Może zajmować się aplikacją od strony:
- frontendowej – najczęściej spotykane nazwy stanowisk – frontend developer, JavaScript developer,
- backendowej – zazwyczaj jest po prostu backend developer. Raczej nie spotkałam się z określeniem web beckend developer, kilka razy za to z NodeJS developer,
- obiema jednocześnie – wtedy mamy full stack developer albo web developer, web application developer.
Drobna uwaga! Cały czas mówimy o tworzeniu stron internetowych. Chciałabym, abyście nie utożsamiali UI developera, czy backend developera tylko z tym obszarem, bo owi specjaliści mogą mieć takie same nazwy stanowisk, gdy wykonują także aplikacje desktopowe albo mobilne. Także analizujcie technologie wypisane na profilach, które są podpowiedzią, czy na pewno chodzi o osobę zajmującą się aplikacjami internetowymi 🙂
W małym skrócie:
UX Designer —> research & design
UI Developer —> design & code
Application Developer —> code
Znając podstawowe zagadnienia, czyli trio języków – HTML, CSS, JS oraz ogólny opis stanowisk naprawdę w taki podstawowy sposób możecie rozeznać się szybko, kto jest kim i czy to jest specjalista, którego szukacie. Oprócz tego warto dobrze zrozumieć treść wysyłanej oferty pracy, czyli do kogo faktycznie jest skierowana.
A więc, gdy przeglądacie profile kandydatów na LinkedIn, odpowiedzcie sobie na kilka zasadniczych pytań:
- Czy na pewno jest to profil osoby, która zajmuje się tworzeniem stron internetowych?
- Czy dany specjalista bardziej projektuje, czyli w dużej mierze wykorzystuje HTML, CSS, Photoshop, Adobe illustrator, sporadycznie natomiast JavaScript, czy może głównie koduje?
- Dalej, jeżeli koduje, czy od strony frontendowej i tu głównie wykorzystuje Java Script, a w mniejszym HTML i CSS, czy może backendowej (Java – Spring, .NET – ASP.NET, Python – Django, Ruby – Ruby on Rails i wiele innych).
Warto też zwrócić uwagę, że ktoś kto zrobił wiele działających i dobrze wyglądających stron, którymi może się pochwalić, niekoniecznie jest w stanie zrobić aplikację webową, ponieważ ogrom stron sklepów, firm itp. ma powszechną funkcjonalność pokrytą w gotowcach z całą masą pluginów i designów. Sprawnie operująca takimi narzędziami (np. wordpress, drupal) osoba może szybko i skutecznie sprzedawać „robienie stron” nie potrafiąc przy tym programować wcale w backendzie i prawie wcale lub zupełnie wcale we frontendzie. Trzeba na to uważać oceniając kandydatów po portfolio.
Dobijając już do brzegu… kluczem do jeszcze lepszego zrozumienia profilu kandydata zajmującego się web developmentem, jest znajomość poszczególnych pozostałych technologii. A o tym już wkrótce 🙂