Od developera do DevOpsa. 10 obszarów, które musisz znać.

umieszczono: 01.12.2022

Jeśli można mówić o trendach wśród stanowisk i obszarów pracy w IT – to z pewnością, na przestrzeni ostatnich lat zalicza się do nich metodologia DevOps. Do zostania inżynierem/specjalistą DevOps przyciągają atrakcyjne – nawet jak na branżę IT – zarobki, możliwość szerokiego zwiększenia zakresu kompetencji oraz niewątpliwa satysfakcja z pracy. Wielu doświadczonym inżynierom oprogramowania, DevOps wydaje się naturalną ścieżką dalszego rozwoju kariery. Czy słusznie?

 

Czym jest DevOps?

W największym skrócie DevOps to metodologia prowadzenia projektów IT, która łączy obszary developmentu i operations (na co wskazuje już sama nazwa), ale także automatyzacji, wdrażania aplikacji do klienta, testowania i monitoringu. Znacznie usprawnia proces powstawania produktu: ułatwia współpracę, oszczędza czas, upraszcza wprowadzanie zmian i weryfikowanie ich poprawności. Najprościej mówiąc produkt szybciej i w lepszej jakości trafia na rynek, a w zespole jest mniej konfliktów. Punktem wyjścia do pracy w roli inżyniera DevOps może być każdy z obszarów, który składa się na tę metodologię. W praktyce jednak dla developerów przebieg przekwalifikowania może okazać się najłatwiejszy.

 

Niezbędne kompetencje.

Jakich umiejętności będziemy potrzebować jako DevOps? Na ile pokrywaj się one z kompetencjami developera? By odpowiedzieć na te pytania wymieńmy najważniejsze z nich:

 

  • rozumienie procesu tworzenia i dostarczania oprogramowania,
  • znajomość narzędzi do budowania procesów Continuous Integration/Continuous Delivery – CICD (Azure DevOps, Jenkins, GitHub Actions itd.),
  • co najmniej podstawowa wiedza na temat tworzenia aplikacji (programowanie aplikacji),
  • umiejętności pracy z repozytorium kodu (zazwyczaj Git),
  • implementacja dostarczania kodu do klienta (deployment aplikacji),
  • umiejętność pisania skryptów automatyzacyjnych + infrastruktura jako kod (IaC),
  • umiejętności zarządzania serwerami oraz wdrożenia infrastruktury serwerowej,
  • umiejętność konfiguracji infrastruktury sieciowej,
  • znajomość wirtualizacji (serwerów) oraz konteneryzacji np. Docker,
  • znajomość narzędzi do monitoringu.

 

Doświadczony developer będzie posiadał wiele z tych umiejętności, ale są również obszary wymagające uzupełnienia:

+ Rozumienie procesu tworzenia i dostarczania oprogramowania. Zazwyczaj deweloperzy będą bardzo dobrze rozumieć przebieg takiego procesu. To doskonała baza do pracy DevOpsa, który znając wymagania developerów, będzie próbował przygotować optymalny proces.

+/- Znajomość narzędzi do budowania procesów CICD. Deweloperzy zwykle posiadają wiedzę na ich temat, ale wyłącznie ze swojej perspektywy, np. jak sprawdzić czy deployment się powiódł albo jakie są wyniki testów. Może im brakować umiejętności implementowania samego procesu CICD w tych narzędziach.

+ Co najmniej podstawowa wiedza na temat tworzenia aplikacji. Doświadczenie developerów w tym obszarze to dla DevOpsa skarb. Umożliwi dopasowanie procesów wdrożeniowych do charakterystyki aplikacji.

+ Umiejętności pracy z repozytorium kodu. Także w tym obszarze developerzy będą błyszczeć. Nabyta dotąd wiedza zdecydowanie ułatwi im pracę.

-/+ Implementacja dostarczania kodu do klienta. Zazwyczaj developerzy uczestniczą tylko częściowo w samej implementacji części wdrożeniowej, a przy dedykowanym projektowi DevOps Teamie mogą nie mieć z nią zbyt wiele do czynienia.

– Umiejętność pisania skryptów automatyzacyjnych + infrastruktura jako kod.  Tym obszarem developerzy zajmują się rzadko lub mogą nie zajmować się wcale. Muszą nauczyć się języków skryptowych, konkretnych rozwiązań konfiguracyjnych, rozwiązań IaC itd.

– Umiejętność konfiguracji infrastruktury sieciowej. Każdy deweloper powinien rozumieć, jak działa infrastruktura sieciowa i zazwyczaj tak jest. Ma jednak ograniczoną styczność z projektowaniem oraz procesem jej wdrażania.

– Umiejętności zarządzania serwerami oraz wdrożenia infrastruktury serwerowej. Sytuacja analogiczna do powyższej. Developer powinien posiadać teoretyczną wiedzę i zrozumienie tego obszaru, ale zazwyczaj wymaga dodatkowego szkolenia praktycznego z zarządzania wieloma serwerami, ich konfigurowania, deploymentu i automatyzacji zadań.

Znajomość wirtualizacji (serwerów) oraz konteneryzacji np. Docker. Dobry developer rozumie koncepty wirtualizacji i konteneryzacji, jednak tu także może mu brakować umiejętności związanych z wdrażaniem, konfiguracją i utrzymaniem serwisów w środowiskach produkcyjnych (lub większej skali).

– Znajomość narzędzi do monitoringu. Developer będzie musiał poznać nowe narzędzia do monitoringu, w szczególności monitoringu związanego z infrastrukturą oraz siecią.

 

Kwestia czasu i zaangażowania.

Analizując wymagania pracy DevOpsa widać jak wiele obszarów pracy developera i DevOpsa się pokrywa, a stanowisko inżyniera oprogramowania jest solidną podstawą dla rozwoju w nowej roli. Największym wyzwaniem będzie dla dewelopera część związana z administracją, utrzymaniem serwerów, infrastrukturą sieciową, monitoringiem i automatyzacją. Jest to jednak wiedza, którą developerowi będzie stosunkowo łatwo uzupełnić – pod warunkiem zainwestowania czasu oraz zaangażowania.

 

Wyzwanie – kompetencje miękkie.

Większym wyzwaniem może być obszar komunikacyjny i kompetencji miękkich. Inżynier DevOps często staje się pierwszą linią kontaktu dla wszystkich członków zespołu pracującego nad rozwojem oprogramowania w tej metodologii. Nie każdemu deweloperowi będzie to opowiadać.

Trudne może być też wzięcie na siebie większej odpowiedzialności. Nie chodzi już tylko o odpowiedzialność za swój własny kod, ale też za utrzymanie, wdrożenia i bezpieczeństwo całej infrastruktury.

 

Czy w takim razie warto?

Pracy dla DevOpsów nie brakuje, a szeroki wachlarz kompetencji jest coraz bardziej doceniany na rynku pracy IT. Mediana zarobków inżynierów DevOps w 2022 roku wynosiła wg danych Awareson 150-230 zł netto za godzinę na kontrakcie oraz 20,600-25,800 zł brutto miesięcznie na etacie. Wytwarzanie i dostarczanie oprogramowania w tej metodologii sprawdza się, dlatego wprowadza ją coraz więcej firm na świecie. Popyt na DevOpsów będzie w najbliższych latach rósł, podobnie ich stawki. To zapewnia takim specjalistom bezpieczeństwo, a sama praca daje dużo satysfakcji.

 

CHCESZ SIĘ ROZWIJAĆ ZAWODOWO W OBSZARZE IT LUB SAP? SPRAWDŹ NASZE OFERTY.

autor: Damian Basta, DevOps Manager, Awareson

umieszczono: 01.12.2022


Warning: Attempt to read property "term_id" on array in /home/klient.dhosting.pl/awrsnadmin/awareson.com/public_html/wp-content/themes/awareson/single.php on line 43