W tym krótkim artykule przedstawię Ci kilka popularnych terminów, które często pojawiają się w rekrutacji IT, ale wyjaśnione jak najmniej technicznym językiem.
Zaczynamy! :-)
1. Dev-Ops Engineer
Jest to osoba pomiędzy zespołem deweloperów oprogramowania (Dev) a zespołami operacyjnymi (Ops) takimi jak np. Administratorzy Systemu czy Testerzy. Zadaniem takiej osoby jest koordynowanie procesu tworzenia i wdrażania aplikacji, w celu maksymalnego skrócenia czasu pomiędzy ukończeniem kodu lub jego poprawek, a ich ostatecznym wdrożeniem na serwery (czyli tak zwaną „produkcję”).
Kiedyś ten proces był koordynowany bezpośrednio przez programistów lub administratorów, natomiast wraz z nadejściem nowych technologii takich jak Cloud, zakres obowiązków zwiększył się i zostało to wydzielone.
Ta metoda rozwoju oprogramowania jest najczęściej stosowana w firmach w których zmiany w kodzie produkcyjnym są bardzo częste (nawet kilka-kilkanaście razy dziennie).
2. API
Bardzo częstym wymogiem klienta jest to by poszukiwany programista miał doświadczenie w implementowaniu zewnętrznych API w aplikacjach. Ale co kryje się za skrótem API?
Application Programming Interface, czyli Interfejs programistyczny aplikacji. Jest to zbiór zasad integracji jej komponentów z innymi aplikacjami. Programiści tworzący kod, tworzą również dokumentację, która potem jest udostępniana. Pokazuje ona z jakich komponentów składa się dana aplikacja. Czasami kod jest w pełni publiczny (tzw. Open Source) i każdy może z niego skorzystać, ale też często kod aplikacji jest chroniony i udostępniany innym podmiotom w ramach umowy.
Przykładem implementacji API jest umieszczenie możliwości płatności natychmiastowych w sklepie klienta.
3. Frontend – Backend – Fullstack
W najprostszych słowach Frontend to część aplikacji web lub aplikacji mobilnej, z którą użytkownik wchodzi w interakcje. Wszystkie grafiki, przyciski, formularze – to co jest widoczne – zalicza się do części frontendowej.
Technologie frontendowe to między innymi JavaScript, React, Angular i Vue.
Backend natomiast to mechanizmy niewidoczne dla użytkownika, czyli obszar gdzie znajduje się cała logika aplikacji, gdzie między innymi łączy się Frontend z bazami danych czy konfiguruje protokoły przesyłania informacji między użytkownikiem a serwerem.
Technolgie zaliczane do backendu to na przykład Java, C#, PHP, Python
W większości firm programiści dzielą się na osoby zajmujące się albo Frontendem albo Backendem, natomiast wyróżniamy także osoby, których umiejętności pozwalają zajmować się oboma obszarami – tak zwani Full-Stack Developerzy.
4. QA (Quality Assurance)
W skrócie – zespoły Quality Assurance to osoby testujące na różne sposoby kod, napisany przez programistów. Testuje się warstę frontend jak i backend zarówno w aplikacjach webowych jak i mobilnych.
Wyróżnia się testowanie manualne (praktycznie wyklikując aplikacje) oraz automatyczne (gdzie tester pisze kod automatyzujący w języku programowania używanym w aplikacji).
Co ważne, nie we wszystkich firmach znajdziemy dedykowane zespoły QA. Może mieć to wiele przyczyn (budżet, wielkość projektu). Bardzo często odpowiedzialność za to pada na programistów, natomiast z rozmów jakie przeprowadzałem z niektórymi, często nie jest to wśród nich mile widziana sytuacja. :-)
Popularne technologie związane z testowaniem to: JUnit, Selenium Webdriver, TestNG, Mockito.
5. Java vs JavaScript
A teraz czas na błąd, który jest tak popularny, że aż stał się kultowy i memiczny. ?
Często spotykanym, acz błędnym przekonaniem wśród osób niezwiązanych z IT jest jakoby istniała relacja pomiędzy Javą a Javascript. Są to w rzeczy samej dwa języki programowania o podobnej składni, wykorzystywane w tworzeniu aplikacji webowych, ale tutaj ich podobieństwa się kończą.
JavaScript nie jest „skryptową” wersją Javy. Są to dwa języki programowania rozwijane niezależnie od siebie.
Skąd podobieństwo w nazwie?
Java i JS powstały w latach dziewięćdziesiątych. Java została stworzona przez firmę Sun Microsystems, która później została przejęta przez firmę Oracle. JavaScript został opracowany przez firmę Netscape, jako implementacja języka ECMAScript.
Pierwszą nazwą tego języka był LiveScript, natomiast na fali popularności Javy w tamtych latach, firma Netscape porozumiała się z firmą Sun Microsystems w celu użycia słowa Java w nazwie ich języka. Był to po prostu zabieg marketingowy, który miał przynieść rozgłos nowopowstałej technologii. Cel został osiągnięty – JavaScript zyskał ogromną popularność (choć myślę że bardziej niż nazwa, przyczyniła się do tego jego nowoczesność i możliwość tworzenia czegoś więcej niż statyczne strony www), ale i wprowadził dezorientację, która trwa do dzisiaj.
Mam nadzieję, że rozjaśniłem kilka definicji, które mogą być kłopotliwe dla początkującego rekrutera IT. Oby czytanie job speców szło Wam od teraz o nieco łatwiej. :-)
Zastanawiam się czy macie jeszcze inne pojęcia z zakresu IT, których znaczenie nie jest dla Was do końca jasne?
Jeżeli tak to, podeślijcie mi je na p.kaminski@teamuprecruitment.com, a ja postaram się je wyjaśnić w następnym artykule.