Człowiek stojący przed tablicą z zagadnieniami dotyczącymi metodyki devops

Ostatnimi czasy można natrafić na coraz więcej negatywnych prognoz dotyczących sytuacji zatrudnienia w sektorze IT. Zapowiadają one, że czas dobrobytu w tejże branży nieuchronnie się kończy. Specjaliści wieszczą, że o zatrudnienie będzie coraz trudniej. Konkurencja jest olbrzymia i w większości przypadków nie wystarczy już kierunkowe wykształcenie, aby otrzymać ciekawą ofertę pracy. Liczba ofert systematycznie spada, a chętnych do podjęcia pracy wciąż przybywa. Co można zrobić w takiej sytuacji jako osoba poszukująca pracy w IT?

Wielu kandydatów decyduje się na samodzielne poszukiwania możliwości doszkalania się w ramach własnego zawodu, aby podnieść kwalifikacje i zaznaczyć swoją pozycję na rynku. Częstą strategią jest też dążenie do przebranżawiania się i rozwinięcie dodatkowych umiejętności, które wyróżnią kandydata pośród innych. Dobrym pomysłem może być wybranie specjalistycznej dziedziny w ramach wykonywanego zawodu i maksymalne skupienie na uzyskaniu jak największych umiejętności w ramach tego zawężonego zakresu. Dzięki temu dany pracownik nie ma łatwo dostępnej wiedzy „ogólnej”, lecz jest wykwalifikowanym specjalistą, którego ciężko zastąpić kimś innym.

Dobrze pomyślane szkolenia z dziedziny DevOps mogą być remedium na ogólnikowe, szerokie i niesprecyzowane szkolenia dla branży IT, które pozwalają jedynie na pobieżne poznanie tematu. Kompleksowe, szyte na miarę kursy DevOps kształcą prawdziwych specjalistów, którzy po odbyciu danego szkolenia są w stanie samodzielnie wdrażać poznane strategie do własnej pracy i pozytywnie wpływać na efekty wykonywanych zadań.

W poniższym artykule przedstawiamy krok po kroku ścieżkę rozwoju pracownika DevOps i podpowiadamy, na czym się skupić, aby uzyskać sukces i wejść na satysfakcjonującą drogę kariery zawodowej. Zostań z nami!

Charakterystyka pracy jako DevOps

DevOps to pracownik, który łączy elementy rozwoju oprogramowania (tworzenie kodu) i utrzymania infrastruktury (administracja). Stanowisko DevOps jest swego rodzaju syntezą i realizuje założenie o mocnym przenikaniu się działu developerskiego z operacyjnym. Z takiego podejścia wynika wiele wymiernych korzyści, takich jak uruchomienie procesu ciągłego dostarczania i ciągłej integracji, a także sprawnego monitoringu tychże akcji.

Jakie są podstawowe zajęcia na stanowisku DevOps? Wiele zależy od przyjętej w konkretnej organizacji struktury. Na pewno jednak potrzebne będą umiejętności programistyczne, połączone z obszerną wiedzą dotyczącą szeroko pojętej infrastruktury. Obowiązki DevOps to m.in.:

  • automatyzacja procesów deweloperskich i operacyjnych, a także tworzenie infrastruktury i przygotowywanie środowisk pracy dla testerów,
  • tworzenie pipeline’ów do ciągłego dostarczania i integracji,
  • nadzorowanie wydajności stosowanych rozwiązań zarówno pod kątem hardware, jak i software,
  • zarządzanie pracą z repozytorium kodu,
  • monitoring wydajności wdrożonych rozwiązań i poprawa wydajności procesów.

Znając w przybliżeniu zakres obowiązków DevOps możemy wywnioskować, jakiego rodzaju umiejętności będą potrzebne na tym stanowisku. Poznajmy je!

Jakich umiejętności potrzebujesz, by zostać DevOpsem?

Tak naprawdę wiele zależy od konkretnych projektów, w których przyjdzie DevOpsowi pracować, jednakże można wymienić kilka w miarę uniwersalnych umiejętności, które na pewno będą przydatne podczas wdrażania się w kolejne kroki kariery.

Kluczową umiejętnością jest znajomość narzędzi do automatyzacji pracy, bo przypomnijmy, że główną misją na tym stanowisku jest całkowita optymalizacja, usprawnienie i przyspieszenie procesu tworzenia oprogramowania przy jednoczesnym zachowaniu doskonałej jakości. DevOps engineer powinien być również zaznajomiony z programowaniem (przyda się znajomość któregoś z języków skryptowych, np. Pythona), działaniem systemów operacyjnych oraz niuansami technicznej infrastruktury informatycznej i cyberbezpieczeństwa.

Przydatne będzie również doświadczenie pracy w zwinnych metodach tworzenia oprogramowania, takich jak Agile czy Scrum. Wartościowym skillem będzie umiejętność administrowania serwerami, znajomość technologii chmurowych, testowania oprogramowania i aplikacji, a także pracy w bazach danych.

Warto również wymienić konkretne narzędzia, których znajomość pomoże DevOpsowi w rozwijaniu kariery. Wspomniane toolsy są jednymi z wielu używanych przez tego specjalistę w codziennej pracy. Są to m.in.: GIT (repozytorium kodu), Puppet (zarządzanie infrastrukturą), Jenkins (automatyzacja), Kubernetes (zarządzanie, skalowanie, automatyzacja), JIRA (śledzenie błędów). Oprócz wspomnianych narzędzi dostępnych na zasadach opensource warto wykazać się również znajomością takich rozwiązań, jak m.in. platforma Cloudbees (węzeł korporacyjny Jenkinsa i DevOps’a, który znacząco przyspiesza tworzenie i dostarczanie oprogramowania), Xebialabs (pozwala na zbudowanie i realizację Continuous Delivery i dostarcza informacje o bieżącym stanie procesów testowania, wydań, wdrożeń oraz odpowiednią integrację narzędzi) oraz Parasoft (platforma wirtualizacji usług, która umożliwia zaprojektowanie i symulowanie usług oraz ich odpowiednie skalowanie).

Kolejnym wyzwaniem, jakie stoi przed młodym kandydatem na DevOpsa jest prowadzenie monitoringu. Jest to kluczowa praktyka umożliwiająca wykrywanie problemów z systemem, zanim spowodują one problemy. Skuteczne monitorowanie pomaga rozwiać obawy dotyczące efektywności rozwoju i złożoności systemu. W kontekście procesu dostarczania oprogramowania, monitorowanie pomoże określić punkty odniesienia dla kluczowych wskaźników efektywności, takich ja m.in: częstotliwość wdrażania nowych rozwiązań, przypadki niepowodzenia wdrożeń, liczba błędów w kodzie, a także oszacować średni czas między awriami, czy czas potrzebny do wykrycia błędów.

Na tym nie kończą się wymagania wobec kandydata na DevOpsa. Realia pracy w międzynarodowych środowiskach wymagają znajomości języka angielskiego najlepiej w stopniu płynnym, a już na pewno w średniozaawansowanym. Podczas różnorodnych projektów na pewno zdarzy się okazja do współpracy z pracownikami z wielu zakątków świata, a omawianie specyficznych technicznych aspektów wymaga nie tylko dobrego poziomu języka mówionego, ale też znajomości specjalistycznego słownictwa branżowego.

Same umiejętności twarde to za mało, aby zostać DevOpsem! Liczą się też te miękkie , które pozwalają lepiej sprostać wyzwaniom, jakie wiążą się z pracą na styku dwóch specjalności (dla przypomnienia: development i operations). Jako kompleksowy specjalista, który w sposób interdyscyplinarny musi łączyć te dwa światy w jedność — konieczne jest posiadanie doskonałych umiejętności komunikacyjnych, a więc precyzyjne wypowiadanie swoich potrzeb, spostrzeżeń i tworzenie feedbacku dla innych osób w zespole. Kandydat na to stanowisko musi wykazać się empatią i dużym zrozumieniem oraz otwartością na inne osoby i potrafić znaleźć wspólny język z każdym.

Dlaczego warto zainteresować się tą ścieżką kariery?

Kariera jako DevOps engineer to bardzo pożądana ścieżka rozwoju ze względu na wysokie zarobki i stosunkowo małą konkurencję na rynku. Wciąż brakuje dobrze wyszkolonych specjalistów z tej dziedziny, którzy w sposób kompleksowy łączą umiejętności development i operations. Lista wymagań na tymże stanowisku jest długa i wymagająca, a droga do osiągnięcia danych umiejętności na wyższym stopniu zaawansowania niż tylko podstawowy — wyboista. Zdecydowanie nie wystarczy tu nabycie wiedzy o kilku nowych technologiach i nauczenie się paru nowych narzędzi. Kluczem jest dogłębne poznanie filozofii DevOps i zrozumienie jej na wielu poziomach. Aby to osiągnąć niezbędna jest duża determinacja ale nieocenione będzie też wsparcie specjalistów, którzy pracują w DevOps na co dzień i znają go od podszewki. Uczestnictwo w szkoleniach i kursach stworzonych przez profesjonalistów może być nieocenioną pomocą, aby przejść przez meandry wiedzy potrzebnej, aby stać się prawdziwym DevOpsem.

Analizując dane dotyczące zarobków na stanowisku DevOps z różnych źródeł, takich jak portale z ogłoszeniami o pracę, strony branżowe i raporty środowiska HR, można podać przybliżone widełki płacowe dla tej roli. Dla Junior DevOps zarobki oscylują wokół 7-14 tys. brutto, z kolei dla osoby na stanowisku Mid DevOps górne widełki można ustawić w okolicach 30 tys. brutto. Oczywiście wszystko zależy od danej rekrutacji, doświadczenia kandydata i poziomu jego wykształcenia, a także sytuacji na rynku i wybranego trybu zatrudnienia.

Kolejnym powodem, dla którego kariera DevOps wydaje się być bardzo interesująca jest ciągły rozwój i podążanie za nowymi trendami wpisany niejako w to stanowisko. Pracując jako taki specjalista ciężko “wypaść z obiegu”, bo rola ta wymaga ciągłego dokształcania się i bycia w centrum wydarzeń branżowych. Można zaryzykować stwierdzeniem, że kariera DevOps to doskonała ścieżka dla osób aktywnych, które czerpią satysfakcję z ciągłej zmiany, rozwoju i nie lubią stać w miejscu. Praca DevOpsa może być źródłem dużej satysfakcji, bo jej efekty są widoczne szybko i usprawnienia, które wprowadza dany specjalista, są bardzo szybko wdrażane, więc na bieżąco wpływają na wydajność i efektywność pracy. Wiele radości może również sprawiać praca zespołowa i poczucie posiadania dużego wpływu na sytuację wokół siebie.

Kto może zostać DevOpsem?

Wybór ścieżki rozwoju DevOps to częsty scenariusz wśród doświadczonych programistów lub administratorów, którzy decydują się poszerzyć swoje kompetencje i wyspecjalizować w konkretnej roli, która wyróżni ich na rynku pracy i pomoże dokonać zwrotu w dotychczasowej karierze.

Czy to możliwe, aby zostać DevOps od razu po studiach informatycznych? Brzmi jak wyzwanie! Oczywiście odpowiedź na to pytanie nie będzie jednoznaczna, bo wiele zależy od tego, w jaki sposób dana osoba studiowała — czy uczestniczyła w konferencjach, szkoleniach, olimpiadach i przeszła przez przynajmniej kilka doświadczeń stażowych? Jeśli tak — wydaje się, że po przejściu kompleksowego szkolenia z DevOps kandydat taki powinien być gotów do podjęcia tej roli, choćby na poziomie intern.

Nieodzownym elementem, który jest bardzo pomocny podczas rekrutacji na to stanowisko to dobrze zbudowane portfolio. Oczywiście osobom z małym doświadczeniem nie będzie łatwo go stworzyć, jednak warto poświęć na to kilkanaście lub kilkadziesiąt godzin. Co powinno znaleźć się w portfolio kandydata na DevOps? Można podejść do zadania kreatywnie i umieścić w nim kilka elementów, takich jak przykłady konfiguracji do deploymentu aplikacji, konfiguracja CI/CD, a także uniwersalne pluginy/skrypty, które powstały, aby ułatwić sobie pracę. Dobrze jest pochwalić się znajomością narzędzi wymaganych na tym stanowisku oraz głębokim zrozumieniem rozwiązań chmurowych i dotyczących cyberbezpieczeństwa. Przyda się też na pewno potwierdzenie znajomości językowych, więc dobrze operować w języku angielskim.

Idealny profil kandydata na inżyniera DevOps to osoba zmotywowana, która dąży do rozwoju i czuje się odpowiedzialna za projekty, w których uczestniczy. Dużą wartością jest też rozwinięta umiejętność komunikacji, a szczególnie precyzyjnego adresowania problemów i rozmowy o nich.

Przykładowe kursy z oferty i ich opis

Jak już wyżej wspomniano, nieocenioną wartością podczas wdrażania się w rolę DevOps jest korzystanie z rozmaitych szkoleń i kursów, które usystematyzują wiedzę, doprecyzują potrzebne zagadnienia i wyposażą kandydata w bagaż solidnego doświadczenia i innowacyjnych rozwiązań, które będzie gotów wdrażać w swojej codziennej pracy zaraz po ukończeniu kursu.

Dostępne kursy DevOps są podzielone na sekcje dla inżynierów oraz dla biznesu i zasadniczo różnią się podejściami do przekazywanych informacji. Personalizacja tychże kursów sprawia, że uczestnicy nie muszą powtarzać znanej już wiedzy, a materiał jest idealnie dopasowany do ich kariery.

W przypadku szkoleń dla inżynierów przewidziane są trzy ścieżki, które w sposób kompleksowy serwują wiedzę z zakresu technicznego, praktyki korzystania oraz praktyki wdrożeń w organizacjach. W ramach jednej ścieżki uczestnik może wybrać kilka szkoleń, które oscylują wokół takich zagadnień jak Observability, jakość, automatyzacja CI/CD czy bezpieczeństwo. Elastyczne warunki szkoleń DevOps pozwalają na indywidualny dobór ścieżki szkoleń wedle własnych preferencji i aktualnych potrzeb.

Szkolenia z zakresu DevOps to merytoryczne pigułki wiedzy, które pozwalają na całkowitą odmianę przyzwyczajeń w pracy, poznanie nowych narzędzi, sposobów zarządzania pracą i procesami.