DevOps engineer – czym się zajmuje i jakie są jego zarobki?

Wraz z rozwojem nowoczesnych technologii w branży IT powstają nowe metody pracy, a co za tym idzie – również stanowiska. Jednym ze stosunkowo nowych zawodów jest DevOps engineer. Czym się zajmuje, jakie są jego obowiązki i na jakie zarobki może liczyć?

 

 

DevOps engineer – kto to jest?

 

Pojęcie DevOps powstało z połączenia dwóch słów: development (Dev) i operations (Ops). Po raz pierwszy zostało ono wykorzystane w 2009 roku przez Patricka Debois podczas konferencji w Gandawie w Belgii. Jednak kim tak właściwie jest DevOps engineer? W dużym skrócie – jest to osoba wykazująca kompetencje developera i administratora, która w swojej pracy łączy rozwój oprogramowania z utrzymaniem infrastruktury.

 

 

Jaka jest rola DevOps engineer w zespole programistów?

 

Powstanie stanowiska DevOps engineer jest wynikiem ewolucji podejścia do współpracy działów developerskich z operacyjnymi. Metodyka DevOps kładzie nacisk na dobrą i bliską współpracę między tymi obszarami oraz zwinne zarządzanie projektami. Przy tym modelu pracy zwraca się szczególną uwagę na zintegrowanie w jednym procesie wszystkich jego składowych: rozwój, wdrożenie, utrzymanie oraz obsługę produktu wraz z zachowaniem jego odpowiedniej jakości. Przyczynia się to do wzrostu efektywności, pozwala na skrócenie czasu i obniżenie kosztów procesów związanych z wytwarzaniem oprogramowania oraz przekłada się na redukcję możliwych błędów.

 

 

Jakie są obowiązki DevOps engineer?

 

Wiemy już, co to jest DevOps oraz kim jest osoba zajmująca to stanowisko. Jednak czym zajmuje się DevOps engineer i jakie są jego podstawowe obowiązki? Wiele zależy od specyfiki pracy w danej organizacji oraz charakterystyki danego projektu. Wśród głównych zadań, z jakimi mierzy się DevOps engineer, można jednak wymienić:

  • tworzenie infrastruktury,
  • przygotowywanie środowisk pracy dla developerów czy testerów,
  • tworzenie pipeline’ów CI/CD w celu zwiększenia efektywności pracy nad projektami,
  • organizację pracy z repozytorium kodu,
  • monitoring aplikacji i infrastruktury,
  • implementację metryk z zakresu infrastruktury oraz aplikacji,
  • reagowanie na incydenty i automatyzacja tego procesu.

 

 

DevOps engineer – gdzie można zdobyć wiedzę?

 

Osoba na stanowisku DevOps engineer powinna łączyć kompetencje zarówno techniczne, jak i nietechniczne. Do najważniejszych umiejętności, jakie powinien posiadać DevOps engineer, zalicza się:

  • znajomość procesu wytwarzania oprogramowania,
  • umiejętność pracy z repozytorium kodu,
  • znajomość wybranej chmury obliczeniowej,
  • umiejętności pozwalające na automatyzację pipeline’ów CI/CD,
  • praktyczna obsługa narzędzi do tworzenia infrastruktury.

Na stanowisku DevOps engineer potrzebna jest też umiejętność tworzenia skryptów przy użyciu narzędzi, takich jak Python, Perl, Bash, Go lub Ruby. W codziennej pracy przydatna jest także znajomość co najmniej jednego języka programowania – C, C++, Java, .NET lub PHP. IT DevOps engineer powinien również wykazywać umiejętności posługiwania się narzędziami do automatyzacji, takimi jak Puppet, Jenkins, Ansible czy Hudson. Jest to konieczne do zmniejszenia zaangażowania człowieka w proces tworzenia aplikacji i jej komponentów, a następnie jej uruchamiania. Kandydat na stanowisko DevOps engineer powinien też mieć doświadczenie w pracy w chmurze obliczeniowej, na przykład Amazon Web Services lub Azure.

Dobry DevOps engineer powinien posiadać także pewne kompetencje miękkie. Wśród kluczowych umiejętności, przydatnych na tym stanowisku, wymienia się komunikatywność, otwartość na nowe pomysły, sprawność w organizacji pracy własnej oraz chęć ciągłego rozwoju. Bardzo istotna jest zwłaszcza ostatnia z wymienionych cech – DevOps engineer powinien bowiem wciąż podążać za rozwojem technologii, śledzić trendy i uczyć się nowych rozwiązań.

Choć kompetencji miękkich raczej nie da się nauczyć, wiedzę niezbędną do wykonywania pracy DevOps engineera można zdobywać w różnych formach. Na tym stanowisku pożądani są zwłaszcza absolwenci studiów technicznych, jednak świetnym sposobem na zdobywanie i poszerzanie wiedzy są wszelkie kursy i szkolenia, na przykład z zakresu programowania czy obsługi konkretnych narzędzi. W ramach niektórych z nich można uzyskać cenione w branży certyfikaty IT, co z pewnością nie pozostanie niezauważone przez potencjalnego pracodawcę.

Warto również pamiętać, że ścieżka kariery DevOpsa obejmuje kilka stanowisk – zwykle jest to junior DevOps engineer, Mid DevOps engineer, a następnie senior DevOps engineer. Oznacza to, że na początku drogi zawodowej nie musimy wykazywać znajomości wszystkich narzędzi w stopniu zaawansowanym. Najczęściej DevOps engineer najpierw poznaje specyfikę pracy w danej organizacji i zdobywa umiejętności u boku kogoś bardziej doświadczonego, a dopiero później staje się samodzielny.

 

 

Ile zarabia DevOps engineer?

 

Nie jest tajemnicą, że praca w branży IT, na przykład na stanowiskach, takich jak data scientist, architekt systemów informatycznych czy full stack developer, zwykle wiąże się z dobrymi zarobkami. Ile zatem zarabia DevOps engineer? Osoba na stanowisku juniorskim może liczyć na wynagrodzenie w wysokości 5500 – 8000 zł brutto. Wraz z awansem, a tym samym większą odpowiedzialnością, rośnie też płaca – zarobki mid DevOps engineera kształtują się na poziomie 9000 – 14 000 zł. Z kolei pensja seniora to średnio od 12 000 do nawet 20 000 zł.

Czy praca na stanowisku DevOps engineera jest przyszłościowa i warto decydować się na tę ścieżkę kariery? Z pewnością tak, choć wiele zależy oczywiście od tempa rozwoju nowych, lepszych narzędzi. Nie ulega jednak wątpliwości, że DevOps engineer to zawód stwarzający bardzo duże możliwości, ale jednocześnie wymagający ciągłego uczenia się i zdolności dostosowywania się do zmieniających się warunków.