Upss… Coś nie tak z Twoją przeglądarką
Do poprawnego wyświetlania formularza zalecana jest przeglądarka Chrome lub Safari.
Blog

Czym zajmuje się DevOps? Jakie technologie wykorzystuje w swojej pracy analityk biznesowo-systemowy? Co robi admin? Mini słownik stanowisk branży IT

Jeśli chcesz się dowiedzieć, czym różni się praca administratora systemów od administratora bazy danych, albo na czym polega praca admina i co robi Devops Engineer, jesteś w dobrym miejscu. W tym artykule przeczytasz, jakie kompetencje powinien posiadać programista oraz które technologie wykorzystywane są na konkretnych stanowiskach. Sprawdź, co kryje się pod tajemniczymi nazwami stanowisk branży IT!

Administrator systemów

Administrator systemów to osoba zajmująca się zarządzaniem systemem informatycznym i odpowiadająca za jego sprawne działanie. Do zadań administratora należy nadzorowanie pracy systemów, zarządzanie użytkownikami oraz ich uprawnieniami, instalacja, konfiguracja i aktualizacja oprogramowania, zabezpieczenie systemu i danych, a także nadzór, wykrywanie i eliminowanie nieprawidłowości. Ważnym zadaniem na tym stanowisku jest również tworzenie dokumentacji i wprowadzanie zmian w systemach. W zależności od wykonywanych zadań wyróżnić można administratorów aplikacji, baz danych, kopii bezpieczeństwa, sieci LAN/WAN oraz systemów operacyjnych.

Administrator bazy danych

Administrator bazy danych (inaczej DBA – Database Administrator) to osoba zajmująca się zarządzaniem bazą danych i odpowiadająca za jej poprawne działanie. Jej zadaniem jest zapewnienie bezpieczeństwa i integralności danych poprzez tworzenie kopii zapasowych, zarządzanie kontami użytkowników i ich dostępem do danych, a także zapewnienie ciągłości dostępu do danych, optymalizacja wydajności baz danych. Administrator zapewnia również wsparcie projektowania i testowania programistom i inżynierom systemowym w wydajnym wykorzystywaniu bazy danych.

Programista: Front-end Developer

Front-end Developer odpowiedzialny jest za dostarczanie wizualnej części aplikacji webowej. Praca ta wymaga ogólnej wiedzy z zakresu programowania, ale również poczucia estetyki oraz umiejętności wizualizacji zachowania tworzonego interfejsu. Nowoczesne aplikacje muszą być responsywne i intuicyjne, a także powinny dostarczać najlepszych wrażeń z ich użytkowania, dlatego na Front-end Developera czeka wiele wyzwań. Front-end Developer najczęściej współpracuje z UX (User Experience)/UI (User Interface) Designerami. Podstawowe technologie wykorzystywane na tym stanowisku to HTML, CSS i JavaScript. Bardzo przydatne są również biblioteki i frameworki takie jak Angular, React.js czy Vue.js.

Programista: Back-end Developer

Programista na stanowisku Back-end Developer’a, w przeciwieństwie do Front-endowca, zajmuje się wszystkim, czego końcowy odbiorca nie widzi, a co jest niezbędne do poprawnego działania systemu. Implementuje oraz testuje logikę biznesową, tworzy struktury baz danych, dba o zabezpieczenia. Komunikuje się z Front-endowcami w celu udostępnienia im niezbędnego API, a po wdrożeniu aplikacji nadzoruje jej działanie i rozbudowuje o nowe funkcjonalności oraz poprawia pojawiające się błędy. Programista na tym stanowisku powinien efektywnie korzystać z baz danych, znać wybrane języki programowania (Java, C#, Ruby, Python) wraz z frameworkami (Spring, .NET, Ruby on Rails, Django) oraz tworzyć wydajne algorytmy. Dodatkowo Back-end Developer powinien umiejętnie korzystać z systemów kontroli wersji (Git).

Architekt systemów informatycznych

Architekt systemów zajmuje się definiowaniem architektury w zakresie oprogramowania, określaniem standardów technologii oraz nadzorowaniem architektury produktów w zakresie zgodności z przyjętymi standardami oraz stosem technologicznym. W zakresie obowiązków architekta systemów jest też analiza oraz projektowanie rozwiązań cross-produktowych, prowadzenie szkoleń z zakresu architektury oraz wyszukiwanie i ewaluowanie rozwiązań dostępnych na rynku, które mogłyby poprawić działanie systemu. Architekt systemów najczęściej współpracuje z Product Managementem, Product Ownerami, architektami produktów oraz programistami. Wykorzystywane na tym stanowisku narzędzia to między innymi Enterprise Architect, Visio czy X-mind.

Analityk biznesowo-systemowy

Analityk biznesowo-systemowy powinien być osobą, która potrafi zarówno identyfikować, zbierać i opisać wymagania klienta dotyczące funkcjonowania procesów biznesowych wspieranych przez system IT, jak i stworzyć model procesu, zakresu informacji oraz zasad komunikacji, przedstawiający przeanalizowane wymagania zespołowi produkcyjnemu. Analityk biznesowo-systemowy powinien mieć wiedzę ekspercką dotyczącą analizowanego obszaru funkcjonalnego, włączając w to również znajomość przepisów prawa powszechnego i wewnętrznego regulującego działalność w danym obszarze biznesowym. Tworzone przez Analityka biznesowo-systemowego  modele muszą być zrozumiałe zarówno dla użytkowników systemu, jak i dla zespołu produkcyjnego (developerów).

Konsultant asysty technicznej

Zakres obowiązków konsultanta asysty technicznej to przede wszystkim obsługa zgłoszeń serwisowych od klientów lub z systemów monitorujących. Nie jest to jednak klasyczna pierwsza linia wsparcia typu „call center" – osoby na tym stanowisku powinny mieć wiedzę z zakresu relacyjnych baz danych, języka SQL, z systemu operacyjnego Linux oraz mieć zdolności analityczne i komunikatywne. Konsultanci są odpowiedzialni między innymi za rozwiązywanie zgłoszeń, w tym restarty, skrypty, poprawa konfiguracji, a także za koordynację prac nad nimi, jeśli są one rozwiązywane w innych zespołach. Wszystkie zadania konsultanta asysty technicznej zapewniają możliwość poznania procesów ITIL w praktyce, głównie Incident Management, Problem Management, Release Management czy Request Fulfillment.

Inżynier kontroli jakości oprogramowania/Tester

Tester poprzez swoją codzienną pracę odkrywania błędów, awarii oraz niezgodności ze specyfikacją wymagań dba o jakość oprogramowania, które na końcu trafia do klienta. Na codzienny zestaw obowiązków testera składa się tworzenie scenariuszy testowych, wykonywanie testów, zgłaszanie błędów i przygotowywanie raportów. Testerzy stanowią fundament każdego procesu produkcji oprogramowania czy też wdrożenia. Osoba na tym stanowisku w swojej pracy korzysta z narzędzi wspomagających wykonywanie testów manualnych –  mogą to być klienci bazy danych czy klienci Rest API tacy jak Postman, Insomnia. Tester korzysta także z wszelkich narzędzi organizujących pracę takich jak JIRA czy portale dedykowane do planowania testów.

Full Stack Developer

Full Stack Developer zajmuje się rozwojem systemu, dostosowywaniem systemu do wymagań prawnych, a także integracją danego systemu z innymi. Pracę na tym stanowisku wyróżnia możliwość tworzenia w różnych obszarach i modułach tematycznych od e-commerce, przez zarządzanie relacjami z klientami, po produkcje. Full Stack Developer najczęściej korzysta z technologii takich jak Java (Java 8, Java 9), OQL, .NET, REST oraz Kafka Streams, SonarLint czy Eclipse. Praca jako Full Stack wymaga dużej wiedzy technicznej oraz biznesowej, specyficznej dla rozwijanego systemu.

Inżynier systemowy 

Inżynier systemowy, potocznie zwany Adminem, to osoba która, dba o to, aby infrastruktura dla środowisk deweloperskich i testowych, a także same te środowiska, działały bez problemów. Rola Inżyniera systemowego jest często niewidoczna, ale bardzo odpowiedzialna. Admin odpowiada za systemy wewnętrzne wspomagające prace innych zespołów, takie jak repozytoria GIT oraz SVN, systemy do ticketów, automatyzację prac i kompilacji na bazie Bamboo czy Jenkinsa. Inżynier systemowy zajmuje się także monitoringiem serwerów i aplikacji, do czego wykorzystywany jest Zabbix oraz ELK stack. Na tym stanowisku liczy się skrupulatność, dokładność, ale też nieszablonowe myślenie i otwarty umysł. Bardzo ważna jest także komunikatywność – zarówno w kontaktach wewnętrznych, jak i z klientami.

Devops Engineer

Devops Engineer to specjalista IT, który łączy w sobie umiejętności z zakresu programowania (Dev) z umiejętnościami administracji i operacji systemami. Głównym celem pracy inżyniera DevOps jest zacieśnienie współpracy pomiędzy wszystkimi zespołami biorącymi udział w procesie wytwarzania oprogramowania oraz usprawnienie całego procesu. Obowiązki na tym stanowisku mogą różnić się w zależności od specyfiki projektu, ale do głównych zadań zazwyczaj zalicza się tworzenie infrastruktury w środowiskach chmurowych i w modelu IaC, administrację systemami, rozwój aplikacji, a także szereg zadań z zakresu release managementu. Devops Engineer, poza solidnymi fundamentami w zakresie wiedzy technicznej, musi wykazać się silnie rozwiniętymi kompetencjami  miękkimi – współpraca z wieloma zespołami wymaga zdolności efektywnej komunikacji i zarządzania. Jednym z wyzwań czekających na Devops Engineer’a jest umiejętność holistycznego spojrzenia na cały proces wytwarzania oprogramowania i optymalizacja go nie tylko w ujęciu lokalnym, ale także globalnym.


Mamy nadzieję, że ten mini słownik IT pomoże Wam lepiej rozumieć oferty rekrutacyjne, a może nawet w końcu odkryć, czym tak naprawdę zajmuje się kolega lub koleżanka „po informatyce”. :) Może któryś z opisów zaciekawił Was na tyle, że chcielibyście rozwijać się w tym kierunku? Dajcie znać w komentarzach!

Tych, którzy wciąż mają niedosyt informacji, zapraszamy do lektury innych artykułów na temat branży IT, w których omawiamy stanowiska takie jak Web Developer czy Software Engineer.

Dodaj komentarz

      Adres e-mail nie zostanie opublikowany
            Komentarze
            (0)

              Najczęściej czytane w kategorii Poradnik