DevOps Engineer. Człowiek-orkiestra w świecie IT. Czym się zajmuje?

DevOps Engineer. Człowiek-orkiestra w świecie IT. Czym się zajmuje?

DevOps Engineer to człowiek renesansu w świecie IT. Musi posiadać solidne zaplecze technologiczne, znać języki skryptowe i czuć się jak u siebie w domu wśród serwerów i w chmurze. Automatyzuje, wdraża, aktualizuje i utrzymuje – przyspiesza tworzenie kodu i dostarczanie rozwiązań. Dla IT jest na wagę złota.

DevOps Engineer

DevOps łączy najlepsze praktyki produkcji oprogramowania i administracji

Człowiek jest najsłabszym ogniwem systemów IT. To przez jego niedopatrzenia najczęściej dochodzi do incydentów bezpieczeństwa czy wycieków. Złotym Graalem jest więc pozbycie się „interfejsu białkowego” – poprzez automatyzację administracji i holistyczne spojrzenie na zarządzanie oprogramowaniem. Historycznie oba te światy rzadko się przenikały, a praca w izolacji nie przynosiła wiele pożytku. Trzeba to było zmienić.

DevOps – co to takiego?

Już sama nazwa może sugerować, jak powstał koncept DevOps. Pochodzi on ze złożenia słów „development” i „operations”. Dobry inżynier środowisk IT musi więc nie tylko znać infrastrukturę i wykorzystane technologie, ale i potrafić nimi zarządzać i optymalizować. Nie sztuką jest bowiem postawić serwer i zainstalować na nim odpowiednie aplikacje. Sztuka tkwi w zautomatyzowaniu ciągu zdarzeń od A do Z.

W idealnym świecie DevOps naciśnięcie jednego przycisku powinno rozpocząć proces, na który składa się stworzenie maszyny i doprowadzenie jej do stanu, który pozwala zaprosić użytkowników do korzystania. Ma to pomóc w skróceniu czasu potrzebnego na dostarczenie oprogramowania. A szybsze efekty, to również niższe koszty. Właśnie dlatego popyt na inżynierów DevOps w ostatnich latach poszybował w górę. Brakuje specjalistów z wielu dziedzin, więc automatyzacja pozwalająca na odciążenie pracowników jest na wagę złota.

Optymalizacja nigdy się nie kończy

Świat IT rośnie na tyle szybko, że potencjału do automatyzacji nie zabraknie jeszcze długo. Zwłaszcza, że jednym z pryncypiów jest podejście ciągłej integracji, ciągłego wdrażania czy ciągłego dostarczania oprogramowania (z angielskiego „continuous integration”, „continuous delivery” i „continuous deployment”). Tworzy to zespół dobrych praktyk, który pozwala pogodzić częste zmiany w kodzie ze stabilnością pracy systemów.

DevOps Engineer wykorzystuje do tego m.in. ustandaryzowane konfiguracje, zautomatyzowane testy i restarty czy procedury cofania zmian. Choć nie spędza on większości czasu na programowaniu, musi być w stanie oskryptować powyższe akcje, ale i czytać kod, aby porozumieć się z backendowcami. Do tego pracuje również z testerami, projektantami czy biznesem, dostosowując poziom technicznego skomplikowania do odbiorcy. DevOps Engineer to więc człowiek-orkiestra, który łączy umiejętności miękkie z twardymi, programowanie z administracją i wydajność z oszczędnościami dla pracodawcy.

Co DevOps Engineer musi mieć w małym palcu?

  • Działanie systemów operacyjnych: Linux lub Windows,
  • Zarządzanie serwerami,
  • Testowanie oprogramowania,
  • Język skryptowy: Python, Perl, Bash, Go lub Ruby. Znajomość dodatkowych języków programowania, takich jak C, C++, Java, .NET lub PHP to duży plus na rynku pracy,
  • Narzędzia do automatyzacji,
  • Obsługę chmury obliczeniowej (AWS, Azure i GCP),

Z jakich narzędzi do automatyzacji może korzystać DevOps Engineer?

  • Git – kontrola wersji,
  • Kubernetes – zarządzanie zasobami, skalowanie, automatyzacja tworzenia środowisk,
  • Jenkins – tworzenie zautomatyzowanych procesów,
  • Selenium, Ansible – automatyzacja testów oprogramowania,
  • Puppet – konfiguracja serwerów,
  • Jira, Asana – zarządzanie projektami.

DevOps i zarobki

Serwis Bulldogjob podkreśla, że statystycznie wysokość wynagrodzenia mocno zależy od formy współpracy. Doświadczeni specjaliści częściej, niż osoby początkujące decydują się na założenie firmy. Wówczas wystawiają faktury przeciętnie na 17 tys. zł każdego miesiąca. Co innego na umowie o pracę, gdzie pensja na rękę wynosi średnio 8 tys. zł.

NoFluffJobs sytuuje medianę pomiędzy 10 tys., a 16 tys. zł brutto na umowie o pracę. Na kontrakcie B2B ma już być 15 do 20 tys. zł.

Słowniczek pojęć jakie DevOps Engineer powinien znać:

Kanban – to metoda zarządzania projektami, skupiona na przepływie pracy. Tę wizualizuje się za pomocą kanbanowej tablicy, która często podzielona jest na obszary takie jak: „do zrobienia”, „w trakcie” i „zrobione”. Pozwala na szybką ocenę stanu projektu i zaplanowanie kolejnych kroków.

Agile – konkurencyjna metoda zarządzania projektami, w której duże części projektu rozbija się na mniejsze i grupuje w sprinty. Zadania z danego sprintu powinny być dostarczone w określonym czasie, a następnie zaopiniowane przez klienta. Sprawdza się świetnie w elastycznych środowiskach i z klientami, którzy chcą kontrolować postęp prac.

Waterfall – jeszcze inna i bardziej tradycyjna metoda zarządzania projektami. Zakłada wykonywanie działań jedno, po drugim w określonej kolejności. Nie skupia się na szybkim dowożeniu rezultatów, a raczej na metodycznym progresie – zgodnie z ustalonym planem i kosztami.

DevOps pipline – zestaw narzędzi i procesów, które umożliwiają budowę i przenoszenie kodu pomiędzy środowiskami. Jest to podstawa podejścia ciągłej integracji, ciągłego wdrażania czy ciągłego dostarczania, która wykorzystuje m.in. automatyczne testy.

System kontroli wersji – oprogramowanie śledzące zmiany w kodzie rozwiązania. Konieczne na skomplikowanych projektach, gdzie wiele osób pracuje nad częściami kodu w tym samym czasie. Bez tego systemu zarządzanie pracą byłoby o wiele trudniejsze.

Aleksandra Skibińska

Talent Acquisition Coordinator w Edge One Solutions

Rekruter z 5-letnim doświadczeniem w branży IT. W Edge1S pracuje w zespole Talent Acquisition rekrutując dla klientów z branży bankowej i e-commerce. Prywatnie miłośniczka i właścicielka zwierząt.

Opublikowano: 7 października 2021