Gdyby stworzyć ranking najpopularniejszych buzzwordów IT, hasło DevOps Engineer z pewnością znalazłoby się na podium. Mimo że ciągle rośnie zapotrzebowanie na te stanowiska w firmach, wciąż wiele osób nie do końca wie, czym zajmuje się inżynier DevOps.

Termin DevOps  – powstały jako zbitka słów – Development i Operations jest nazwą określającą nowoczesne podejście do wytwarzania oprogramowania, którego istotą jest integracja zespołów deweloperskich z pozostałymi działami zaangażowanymi w rozwój oprogramowania – operatorami systemów, testerami, PM-ami.  

Próżno szukać uniwersalnej definicji objaśniającej termin DevOps – raczej jest ich kilka i stosuje się taką, która najbardziej odpowiada specyfice i środowisku pracy danej firmy. Wspólne dla wszystkich definicji jest stwierdzenie, że praktyki DevOps mają na celu przyspieszenie rozwoju oprogramowania i poprawę jego jakości na drodze ścisłej integracji między zespołami. Za implementację tych usprawnień ma odpowiadać inżynier DevOps.

KIM JEST DEVOPS ENGINEER?

Ogólnie rzecz ujmując – jest to osoba znająca biegle cały cykl rozwoju oprogramowania oraz umiejącą go usprawnić, stosując szereg narzędzi do automatyzacji. Do najczęściej stosowanych narzędzi w pracy inżyniera DevOps należy zaliczyć:

  • GITjak to w każdym projekcie software-owym, znajomość systemu kontroli wersji jest jedną z podstawowych umiejętności około technicznych.
  • Kubernetesnarzędzie pomagające zarządzać, skalować i automatyzować tzw. Aplikacje kontenerowe.
  • Jenkinskluczowe narzędzie w procesie implementowania ciągłej integracji  i ciągłego dostarczania.
  • Seleniumznajomość najpopularniejszego narzędzia do automatyzacji testów oprogramowania to obowiązkowa umiejętność inżyniera.
  • Puppetpopularny manager konfiguracji serwerów.
  • JIRAkto by jej nie znał.

To może Cię zainteresować: TOP 10 narzędzi DevOps

To tylko część stosowanych aplikacji, ale wystarcza, aby zobrazować wszechstronność pracy na stanowisku.

Do głównych zadań inżyniera DevOps należą:

  • Automatyzacja środowiska pracy deweloperów, w taki sposób, aby mogli szybko zarządzać tworzonym kodem.
  • Konfiguracja środowiska projektu, włączając w to ustawienia serwera, a także potrzebnych narzędzi do pracy nad oprogramowaniem.
  • Wybór optymalnych rozwiązań technicznych dla realizacji projektu
  • Nadzorowanie wydajności stosowanych rozwiązań zarówno pod kątem hardware, jak i software.
  • Poprawa wydajności procesów.

PORZĄDANE CECHY i UMIEJĘTNOŚCI

ZNAJOMOŚĆ KTÓREGOŚ Z JĘZYKÓW SKRYPTOWYCH

Inżynier DevOps nie siedzi całymi dniami w kodzie, jednak automatyzacja procesów wymaga napisania skryptów, które będą wykonywać robotę za programistów i testerów. Stąd też znajomość Pythona, czy Perl’a będzie pożądana.

ZNAJOMOŚĆ INFRASTRUKTURY TECHNICZNEJ

Aby móc skutecznie zarządzać  i kontrolować zaplecze techniczne projektu, należy dobrze znać wykorzystywaną infrastrukturę. Dobry DevOps musi być w stanie na bieżąco optymalizować stosowane rozwiązania i potrafić stwierdzić, które są odpowiednie w danej sytuacji.

UMIEJĘTNOŚĆ ZABEZPIECZENIA ŚRODOWISKA PRACY

Dbałość o bezpieczeństwo oprogramowania i technicznej strony aplikacji jest nieodzownym elementem konfiguracji przestrzeni roboczej. Wiadomo, że nie sztuką jest postawić serwer i przygotować niezbędne aplikacje. Ważne, by zrobić to w taki sposób, aby środowisko było bezpieczne.

ROZWINIĘTE CECHY INTERPERSONALNE

Jako że DevOps inżynier działa na styku kilku działów zaangażowanych w pracę nad rozwojem aplikacji, musi on pełnić funkcję łącznika. Tym samym musi posiadać wysokie zdolnośći komunikacyjne, aby współpracować z backendowcami dłubiącymi od rana do nocy w kodzie, PM-ami, designerami oraz testerami.

JAK ZOSTAĆ DEVOPSEM?

W zasadzie odpowiedź na to pytanie jest zawarta w kilku powyższych akapitach. Aby stać się dobrym DevOpsem, należy wszechstronnie rozwijać swoje techniczne umiejętności na kilku polach:

  • programowanie
  • cyberbezpieczeństwo infrastruktury
  • działania systemów operacyjnych
  • Technologie chmurowe
  • Administracja serwerami
  • Testowanie oprogramowania

Powyższa lista może trochę brzmieć jak przepis na zostanie Leonardo Da Vinci świata IT, ale prawda jest taka, że z uwagi na wszechstronność zadań i obowiązków, wiedza na stanowisku DevOpsa nie musi być na tak wysokim poziomie, jak w przypadku osób, które rozwijają się tylko w konkretnych dziedzinach.   Przyszłość dla Development Operations Engineerów daje obiecujące perspektywy. Najlepiej to pokazuje stale rosnąca liczba ofert z pracą na tym stanowisku. Mając solidne zaplecze techniczne, warto zastanowić się nad tą ścieżką kariery, z pewnością do nudnych nie należy.

Zobacz też: DevOps, MLOps, DataOps – nadchodzi nowa moda?