Czym jest DevOps i co musisz o nim wiedzieć?

Czym jest DevOps i co musisz o nim wiedzieć? itMatch Blog Post

Published: September 20, 2023 by itMatch

Co oznacza skrót DevOps?

DevOps jest de facto akronimem złożonym z dwóch słów – “Developer” oraz “Operations”. Nazwa odnosi się do metodyki, której celem jest osiągnięcie bliskiej współpracy (opartej na skutecznej komunikacji) pomiędzy działami odpowiedzialnymi za tworzenie oprogramowania (Dev) oraz tymi zajmującymi się działalnością operacyjną firmy (Ops).

Dzięki integracji dwóch pionów i ogólnej poprawie współpracy pomiędzy członkami organizacji, możliwe jest szybsze, łatwiejsze i bezpieczniejsze osiąganie zamierzonych celów. Pomimo że założenia tej metodyki kłócą się z ideą wąskiej specjalizacji, jakość produktu końcowego w żadnym stopniu na tym nie traci, a często okazuje się nawet, że efekty są bardzo dobre. Wynika to z elastyczności, którą ta metodyka wnosi, a także jaką cechują się osoby na stanowisku DevOps Engineera. Bogaty stack technologiczny i umiejętność obsługi wielu narzędzi sprawiają, że DevOpsi są uniwersalnymi pracownikami, a w konsekwencji, błędy w kodzie rozwiązywane są szybciej.

Skąd wzięło się DevOps?

Metodologia DevOps narodziła się w dużych firmach produktowych. Choć jest to rozwiązanie o mocno korporacyjnym pochodzeniu, jest ono również aplikowalne w mniejszych organizacjach. Co więcej, DevOps nie ogranicza się wyłącznie do tworzenia oprogramowania – sprawdzi się wszędzie tam, gdzie pożądana jest zwinność (agility), a produkt jest często zmieniany. Bez trudu możemy wyobrazić sobie tę metodykę w firmach konstruktorskich, agencjach marketingowych lub niektórych fabrykach.

Uniwersalności tej strategii dowodzą badania, według których najwięcej organizacji dostrzegło poprawę w zakresie jakości wdrożeń, częstotliwości publikowania nowych wersji produktu oraz we wglądzie w procesy i wymagania. Jedynie 38% respondentów dostrzega poprawę jakości kodu, co może sugerować, że DevOps wpływa przede wszystkim na działalność operacyjną firmy, a dopiero w dalszej kolejności na jakość samego produktu. 

Należy jednak wziąć pod uwagę pewne niedogodności. Przede wszystkim DevOps powinno zostać wdrożone w całej organizacji, a nie tylko w jej określonej części. Co prawda sam proces przystosowawczy może potrwać zaledwie kilka tygodni, ale zmiany technologiczne, które powinny zostać wprowadzone, często wiążą się z dodatkowymi kosztami dla organizacji.

Co musisz wiedzieć o DevOps?

Kluczową zaletą DevOps jest tempo realizacji procesów. Czas, jaki trzeba przewidzieć na wytworzenie MVP (Minimum Viable Product), jest znacznie krótszy niż miałoby to miejsce w firmie, która nie integruje ze sobą działów deweloperskich i operacyjnych. 

Działanie w modelu iteracyjnym oraz podejście Agile sprawia, że zespoły DevOps wprowadzają zmiany etapowo, co pozwala na szybsze zbieranie danych z rynku oraz bieżące nanoszenie poprawek.

DevOps bazuje na automatyzacji procesów wdrożeń. Jako, że automatyzacja jest niezbędna do wprowadzenia tej metodyki, organizacje siłą rzeczy (i niekoniecznie intencjonalnie) zyskują na ograniczeniu kosztów pracy i są w stanie aktualizować swoje produkty kilka razy w tygodniu, a nawet co kilka godzin. 

W organizacji, która używa DevOps, króluje (lub powinno królować) podejście CI/CD czyli Continuous Integration/ Continuous Development. Oznacza ono, że produkt/ rozwiązanie, przy którym pracuje zespół testuje, sprawdza i monitoruje tworzone rozwiązania niemal na każdym etapie tworzenia. Takie podejście jest nastawione na jakość i pozwala szybko eliminować błędy oraz wypuszczać rozwiązania mniejszymi partiami, ale częściej. 

W takim razie, kim jest DevOps Engineer?

Jeśli uważnie czytałeś lub czytałaś ten artykuł, to wiesz już, że rola DevOps Engineera cechuje się bardzo szerokim zakresem obowiązków, a kandydaci muszą dysponować rozległą, choć niekoniecznie bardzo specjalistyczną wiedzą. Czego oczekuje się od osób pracujących w tej roli? Przede wszystkim:

  • Pełnej znajomości całego cyklu rozwoju oprogramowania;
  • Umiejętności pozwalających na usprawnienie tego procesu;
  • Znajomości szeregu narzędzi do automatyzacji procesów;
  • Podstaw wiedzy z zakresu testów oprogramowania;
  • Znajomości języków skryptowych i umiejętności obsługi baz danych.

Inżynier DevOps nie jest programistą sensu stricto – o ile nie koduje on cały czas, o tyle często znajduje się to w zakresie jego obowiązków. Z drugiej strony, pracodawcy często oczekują bardziej sieciowych kompetencji, na przykład z zakresu obsługi systemów operacyjnych, rozwiązań chmurowych (AWS, Azure, GCP) i obsługi serwerów oraz konteneryzacji (Docker, Kubernetes).

Czytając o DevOps, zapewne trafiłeś na pojęcie IaC (Infrastructure as a code), co oczywiście nie jest dziełem przypadku. Obie metodyki są ze sobą spójne i często współistnieją. W podejściu IaC chodzi przecież o usprawnienie konfiguracji infrastruktury, a w efekcie, o przyspieszenie i automatyzację wdrożeń.

Rekrutacja DevOps

Nie bylibyśmy sobą, gdyby w tym artykule nie znalazło się choć kilka słów o rekrutacji. W przypadku DevOps, rekruterzy muszą zmagać się z pewnymi wyzwaniami. Przede wszystkim, omawiana przez nas rola jest bardzo wszechstronna – choć wiedza wymagana od kandydatów nie musi być bardzo głęboka, konieczna jest duża uniwersalność i ogólne pojęcie na temat wielu dziedzin. W związku z tym należy odpowiednio przygotować się do sprawdzenia kompetencji potencjalnego pracownika – za pomocą testów lub rozmowy z kompetentą osobą, zwykle innym DevOps engineerem lub Hiring Managerem.

Rekrutacja DevOps Engineerów jest kłopotliwa z uwagi na to, że wymaga głębokiego zrozumienia specyfiki zarówno otwieranego stanowiska (włącznie ze znajomością konkretnych technologii oraz narzędzi), jak i potrzeb biznesowych klienta. Podobnie jak w przypadku roli Product Managera, często spotykamy się z dużymi rozbieżnościami w zakresie oczekiwań i obowiązków, które spadną na rekrutowanego DevOpsa. Płynne jest również nazewnictwo – na stanowisko o tej charakterystyce, poszukujemy czasem System lub Cloud Engineerów. Rodzi to oczywiście pewne zamieszanie, ponieważ nasze ogłoszenia mogą potencjalnie trafiać do złej grupy docelowej, a w konsekwencji efektywność procesu rekrutacyjnego się zmniejsza. 

Dlaczego warto rozważyć outsourcing rekrutacji DevOps Enginnerów?

Z naszych obserwacji wynika, że firmy technologiczne bardzo chętnie decydują się na zlecenie rekrutacji DevOps Engineerów. Wspomniana już złożoność i niejednolitość tej roli sprawia, że znalezienie odpowiedniego kandydata pochłania mnóstwo zasobów ludzkich i czasu

Dodatkowo, szeroki stack technologiczny sprawia, że znalezienie odpowiedniego kandydata wymaga zastosowania rozbudowanych mechanizmów wyszukiwania i specjalistycznych narzędzi. Jako wyspecjalizowana agencja rekrutacyjna, itMatch wykorzystuje know-how, które było zbierane przez lata. Dzięki temu, decydując się na współpracę z nami, zyskujesz pewność, że Twoja organizacja znajdzie najlepszych możliwych kandydatów na otwarte stanowiska.

Podsumowanie

Choć metodyka DevOps to temat, o którym moglibyśmy pisać bez końca, postanowiliśmy zostawić lekki niedosyt 🙂 Jeśli jednak chcesz dowiedzieć się więcej na temat rekrutacji, koniecznie przeczytaj pozostałe wpisy na naszym blogu oraz zacznij obserwować nas na Linkedin!

itMatch itMatch member
itMatch

IT Recruitment & Culture Hub