
Kilka lat temu w IT pojawił się nowy zawód — inżynier DevOps. Bardzo szybko stał się jednym z najbardziej popularnych i poszukiwanych na rynku. Ale jest pewien paradoks — częściowo popularność DevOps wynika z tego, że firmy zatrudniające takich specjalistów często mylą ich z przedstawicielami innych zawodów.
Artykuł ten jest poświęcony omówieniu niuansów zawodu DevOps, obecnej sytuacji na rynku i perspektywom. Zbadaliśmy ten złożony temat z pomocą dziekana w internetowym uniwersytecie GeekUniversity Dmitrija Burkowskiego.
Więc czym jest DevOps?
Sam termin rozszyfrowuje się jako Development Operations. To nie tyle zawód, co podejście do organizacji pracy w średniej lub dużej firmie podczas przygotowania produktu lub usługi. Chodzi o to, że w procesie przygotowania uczestniczą różne działy jednej firmy, a ich działania nie zawsze są dobrze skoordynowane.
Tak, programiści na przykład nie zawsze wiedzą, jakie problemy mają użytkownicy, którzy pracują z wydanym oprogramowaniem lub usługą. Wsparcie techniczne — zna wszystko doskonale, ale może nie być świadome tego, co dzieje się 'wewnątrz' oprogramowania. I tu z pomocą przychodzi inżynier DevOps, który pomaga koordynować procesy rozwoju, wspiera automatyzację procesów i zwiększa ich przejrzystość.
Koncepcja DevOps łączy ludzi, procesy i narzędzia.
Czego powinien wiedzieć i umieć inżynier DevOps?
Zdaniem jednego z najbardziej znanych zwolenników koncepcji DevOps, Joego Sancheza, przedstawiciel zawodu powinien dobrze rozumieć niuanse samej koncepcji, mieć doświadczenie w administrowaniu zarówno systemami Windows, jak i Linux, rozumieć kod źródłowy napisany w różnych językach programowania, pracować z narzędziami takimi jak Chef, Puppet, Ansible. Oczywiście, aby analizować kod, trzeba znać kilka języków programowania, i nie tylko znać, ale także mieć doświadczenie w programowaniu. A także bardzo pożądane jest doświadczenie w testowaniu gotowych produktów i usług programowych.
Ale to w idealnym przypadku, taki poziom doświadczenia i wiedzy nie znajdzie się u każdego przedstawiciela branży IT. Oto zestaw minimalnie wymaganych umiejętności i doświadczenia dla dobrego inżyniera DevOps:
- Systemy operacyjne GNU/Linux, Windows.
- Nie mniej niż 1 język programowania (Python, Go, Ruby).
- Język skryptowy powłoki — bash przy pracy z Linux i powershell w przypadku Windows.
- System kontroli wersji — Git.
- Systemy zarządzania konfiguracją (Ansible, Puppet, Chef).
- Przynajmniej jedna z platform do orkiestracji kontenerów (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
- Umiejętność pracy z dostawcami chmur (np. AWS, GCP, Azure itd.) przy użyciu Terraform, znajomość sposobów wdrażania aplikacji w chmurze.
- Umiejętność konfiguracji pipeline'u CI/CD (Jenkins, GitLab), stosu ELK, systemów monitorowania (Zabbix, Prometheus).
Oto lista umiejętności, które najczęściej wskazują specjaliści DevOps na Habrze Kariera.

Ponadto, specjalista DevOps powinien rozumieć potrzeby i wymagania biznesu, dostrzegać jego rolę w procesie rozwoju oraz umieć budować proces z uwzględnieniem interesów klienta.
A jak wygląda próg wejścia?
Lista wiedzy i doświadczenia nie była podana bez powodu. Teraz łatwiej zrozumieć, kto może zostać specjalistą DevOps. Okazuje się, że najłatwiej w tę profesję mogą przejść przedstawiciele innych specjalności IT, szczególnie administratorzy systemów i programiści. Obie grupy mogą szybko zdobyć brakujące doświadczenie i wiedzę. Połowa wymaganego zestawu już u nich jest, a często — nawet więcej niż połowa.
Świetni inżynierowie DevOps wyłaniają się także z testerów. Wiedzą, jak działa oprogramowanie oraz sprzęt, znają braki i niedociągnięcia. Można powiedzieć, że tester, który zna języki programowania i potrafi pisać programy, to prawie DevOps.
Z kolei przedstawiciel nie-technicznej specjalizacji, który nigdy nie miał do czynienia ani z rozwojem, ani z administracją systemami, będzie miał trudności. Oczywiście, nic nie jest niemożliwe, ale nowicjusze powinni realistycznie oceniać swoje możliwości. Aby zdobyć niezbędny „bagaż”, potrzeba sporo czasu.
Gdzie może pracować DevOps?
W dużej firmie, której działalność ma bezpośredni lub pośredni związek z rozwojem aplikacji i administracją sprzętu. Największy niedobór inżynierów DevOps występuje w firmach oferujących wiele usług dla końcowych użytkowników. Są to banki, operatorzy telekomunikacyjni, więksi dostawcy Internetu, itd. Wśród firm, które aktywnie zatrudniają inżynierów DevOps, są Google, Facebook, Amazon, Adobe.
Wdrażają DevOps i startupy z małym biznesem, ale dla wielu z tych firm zatrudnienie inżynierów DevOps to raczej moda niż rzeczywista potrzeba. Oczywiście są wyjątki, ale nie jest ich zbyt wiele. Małym firmom potrzeba raczej „i szewca, i żniwiarza, i na dudzie grajca”, to znaczy kogoś, kto potrafi pracować w wielu obszarach. Dobry CTO jest w stanie poradzić sobie z tym wszystkim. Chodzi o to, że dla małego biznesu ważna jest szybkość działania, a optymalizacja procesów pracy jest kluczowa dla średnich i dużych przedsiębiorstw.
Oto kilka ofert pracy (na nowe można zerkać na Habr Kariera po ):
Wynagrodzenie DevOps w Rosji i na świecie
W Rosji średnie wynagrodzenie inżyniera DevOps wynosi około 132 tysięcy rubli miesięcznie. To obliczenia kalkulatora wynagrodzeń serwisu Habr Kariera, dokonane na podstawie 170 ankiet na drugą połowę 2020 roku. Tak, próbka nie jest zbyt duża, ale jako „średnia temperatura w szpitalu” całkiem się nadaje.
Są pensje w wysokości 250 tysięcy rubli, są i około 80 tysięcy i nieco niżej. Wszystko zależy od firmy, kwalifikacji i samego specjalisty, oczywiście.
Jeśli chodzi o inne kraje, to statystyki dotyczące wynagrodzeń są również znane. Dobą pracę wykonały specjalisty Stack Overflow, analizując ankiety około 90 tysięcy osób — nie tylko DevOps, ale i w ogóle przedstawicieli specjalności technicznych. Okazało się, że Engineering Manager i właśnie DevOps zarabiają najwięcej.
Inżynier DevOps rocznie zarabia około 71 tys. USD. Z danych serwisu Ziprecruiter.com wynika, że wynagrodzenie profesjonalisty w tej dziedzinie wynosi od 86 tysięcy USD rocznie. A serwis Payscale.com pokazuje wręcz przyjemne dla oka cyfry — średnie wynagrodzenie specjalisty DevOps, według danych serwisu, przekracza 91 tys. USD. I to — wynagrodzenie młodszego specjalisty, starszy zaś może zarabiać 135 tys. USD.
Na zakończenie warto powiedzieć, że zapotrzebowanie na DevOps stopniowo rośnie, popyt na specjalistów na każdym poziomie przewyższa podaż. Więc jeśli masz ochotę — możesz spróbować swoich sił w tej dziedzinie. Prawda, trzeba pamiętać, że sama chęć to za mało. Trzeba ciągle się rozwijać, uczyć i pracować.
Źródło: habr.com
