Programista czy developer? Mini-słownik nazw stanowisk w branży IT

Jeśli trafiłeś na ten artykuł, to prawdopodobnie pierwsze doświadczenie z branżą IT masz już za sobą. Wiesz, w jakich technologiach czujesz się najlepiej, znasz stan swojej wiedzy i jesteś już prawie stuprocentowo zdecydowany, w jakim kierunku chciałbyś się rozwijać. Na portalach z ogłoszeniami oraz stronach pracodawców znajdziesz oferty, które mogą wprowadzić trochę zamieszania w umysł młodego programisty. Co kryje się pod poszczególnymi pojęciami? Oczywiście definicje mogą nieznacznie różnić się w poszczególnych firmach, jednak po przeczytaniu poniższego „poradnika” nie powinieneś już mieć problemu z odróżnieniem obowiązków Full Stack Developera od kompetencji Front-Endowca.

Web Developer

Web Developer odpowiedzialny jest za stworzenie kodu serwisu w danym języku programowania – po stronie serwera. Chodzi tu głównie o poprawną wymianę danych pomiędzy serwisem a odwiedzającymi. WebDev może być również odpowiedzialny za modyfikacje i rozwój już istniejących rozwiązań opartych na Frameworkach, CMF-ach i CMS-ach. Na tym stanowisku najczęściej dochodzić będzie do współpracy z Web Designerami, Specialistami UX oraz Architektem Serwisu.

Osobom chcącym zostać WebDevem przydadzą się nie tylko kompetencje techniczne, ale również interesujące portfolio.

DevOps Engineer

To stanowisko to właściwie połączenie dwóch funkcji: „development” oraz „operations”, czyli rozwoju i operacji. W praktyce chodzi oczywiście o stanowisko łączące rozwój oprogramowania i utrzymywania środowisk, w których działają. DevOpsi współpracują zarówno z programistami jak i testerami. Ich obowiązkiem jest również administracja systemu operacyjnego, konfigurowanie i utrzymywanie środowisk developerskich, bieżące utrzymanie systemu, automatyzacja powtarzanych czynności, kontrola wersji oprogramowania… Tak po krótce :)

Front-end Developer

Praca Front-end’owca opiera się w przeważającej mierze na znajomości JavaScript, CSS, HTML oraz dedykowanych JS frameworków. Taki programista troszczy się przede wszystkim o to, jak produkt prezentuje się użytkownikowi od strony interfejsu oraz jak użytkownik widzi zaprojektowane funkcjonalności. Służy do tego między innymi komunikacja z API, które wystawiane jest przez programistów back-endu w celu pobrania z niego danych.

Back-end Developer

Programista na takim stanowisku powinien być zaznajomiony z którąś z technologii jak: Java, .Net, C++, Ruby, czy PHP itd. Jego (lub jej J) obowiązkami będzie zakodowanie serwisu, aplikacji, systemu – od strony serwera, stworzenie API, organizacja komunikacji z bazami danych. Czasem oczywiście może zdarzyć się, że kompetencje front-endowca i back-endowca będą się przenikać. Jeśli ktoś świetnie odnajduje się po „obu stronach mocy”, może się okazać, że pracuje już właściwie jako Full Stack :)

Full Stack Developer

Full Stack Developer stanowi połączenie front- i back-end developera, powinien potrafić zakodować system / aplikację po stronie serwera w danej technologii jak również zadbać o odpowiednią wizualizację interfejsu, a także funkcjonalności po stronie użytkownika. Określanie się mianem Full Stacka nie oznacza zawsze równej biegłości w zagadnieniach front i back-endowych, ale z całą pewnością taki developer powinien potrafić poradzić sobie samodzielnie z oboma aspektami budowy produktu.

Architekt oprogramowania

Często wydaje się, że architekt oprogramowania to ostatni szczebel na drabinie zawodowej programisty.  Architekt jest osobą, która akceptuje finalnie wszelkie kluczowe techniczne decyzje związane z produktem, jest to więc funkcja bardzo odpowiedzialna. Wybór technologii, zaprojektowanie rozwiązanie, czuwanie nad jakością kodu i całego projektu oraz dzielenie się wiedzą z programistami to główne zadania architekta. Często podlega mu zespół lub kilka zespołów programistycznych. Architekt najczęściej nie zajmuje się już programowaniem.

Software Engineer

Zadania inżyniera oprogramowania to m.in. analiza wymagań zleconych zmian w kodzie, lecz także projektowanie, implementacja i wdrożenie zamówionych funkcjonalności oraz tworzenie dokumentacji. Kluczowa w tym stanowisku jest możliwość projektowania rozwiązań i tu znajduje się różnica w obowiązkach osoby zajmujących to stanowisko od pracy "zwykłego" programisty.

Analityk

Jest osobą ściśle współpracującą z klientem – bardziej pod względem biznesowym niż technicznym. Stara się zebrać wszystkie potrzeby i niezbędne funkcjonalności dla strony zamawiającej, a następnie przełożyć je na język techniczny i przekazać programistom. O pracy analityka biznesowego możecie przeczytać w jednym z naszych poprzednich artykułów.

Inżynier systemowy

Rolą inżyniera systemowego jest opracowywanie systemów i sieci informatycznych, a następnie ich wdrażanie oraz administracja wraz z instalowaniem i modyfikowaniem baz danych. Podczas pracy na tym stanowisku należy być również przygotowanym na tworzenie dokumentacji technicznej, testowej oraz powykonawczej projektów.

Inżynier kontroli jakości oprogramowania / Tester

Zawód testera oprogramowania komputerowego polega na weryfikacji prawidłowego działania systemów, oprogramowania i przeprowadzaniu testów funkcjonalności sprzętu IT (najczęściej w konkretnej firmie). Testowanie oprogramowania jest ściśle powiązane z procesami jego wytwarzania. Jednak testowanie oprogramowania komputerowego polega nie tylko na weryfikacji prawidłowego działania systemów, ale także, a właściwie przede wszystkim, na odkrywaniu błędów i usterek oraz powodów ich wystąpienia. Efektem takich tekstów jest tworzenie nowego oprogramowania oraz ulepszanie już istniejącego.

Mam nadzieję, że po przeczytaniu tego krótkiego wyjaśnienia nagłówki ogłoszeń o pracę nie będą już stanowiły dla Ciebie żadnej zagadki. Oczywiście, tak jak wspomniałam początkowo – w poszczególnych firmach zakres obowiązków na danym stanowisku może się nieznacznie różnić.

Jakie jeszcze nazwy stanowisk w branży IT brzmią dla Ciebie niejasno? A może masz inne zdanie na temat wyżej przytoczonych wyjaśnień? Zapraszam do komentowania :)

Dodaj komentarz

      adres e-mail nie zostanie opublikowany
            Komentarze (9)
            • Przemek

              Konkretnie i zwięźle. Przyznam się, że miałem problem z rozróżnieniem niektórych stanowisk, a właściwie ich zakresu obowiązków.

            • Aleksander Syrek

              Dziękujemy i zachęcamy do śledzenia naszych pozostałych publikacji :)

            • Martyna Oczki

              Dzień dobry, tak naprawdę odpowiedzi jest wiele :) bardzo często od naszych doświadczeń zależy definiowanie różnych pojęć/ tematów. Branża IT rozwija się w ogromnym tempie, w takim samym tempie ewoluują stanowiska. Granica pomiędzy nimi powoli się "zaciera". Dlatego pytanie pozostawiamy otwarte, tak żeby każdy sam mógł znaleźć na nie odpowiedź.

            • Forumpraca.pl

              O tym samym pomyślałem :D

            • Forumpraca.pl

              Fajne zestawienie, chyba zrobimy na naszym forum słowniczek, dzięki!

            • pieto

              Pani Martyno. Tytuł jest Deweloper czy programista. a gdzie jest odpowiedź?

            • Fabian Bodek

              Dodaję ten artykuł do zakładek i będę wysyłał znajomym, którzy sami nie potrafią odróżnić tych stanowisk i wołają do mnie, że po prostu siedzę przed komputerem to muszę się na wszystkim znać.

            • Martyna Oczki

              Dzięki za ten komentarz, dodam aktualizację z kompetencjami UXa, z uwzględnieniem specyfiki Comarch :)

            • Gienek

              Wszystko fajnie ale dobrze jakby inni współpracownicy wiedzieli czym zajmuje się tu UX (u mnie w subcentrum jest z tym kłopot). Ten artykuł o tym nawet nie wspomina co doskonale przekłada się na sposób postrzegania go przez innych pracowników w trakcie pracy

            Najczęściej czytane w tej kategorii