Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać

Inżynierowie DevOps to interdyscyplinarni specjaliści, którzy wiedzą, jak automatyzować procesy i wiedzą, jak pracują programiści, QA i menedżerowie. Wiedzą, jak programować, szybko opanowują złożone narzędzia i nie czują się zagubieni, gdy stają przed nieznanym zadaniem. Inżynierów DevOps jest niewielu - są gotowi zapłacić im 200-300 tysięcy rubli, ale wakatów wciąż jest dużo.

Dmitry Kuzmin wyjaśnia, czym dokładnie zajmuje się DevOps i czego trzeba się uczyć, aby aplikować na takie stanowisko. Bonus - ważne linki do książek, filmów, kanałów i społeczności zawodowej.

Czym zajmuje się inżynier DevOps?

W sytuacji DevOps ważne jest, aby nie mylić terminów. Faktem jest, że DevOps nie jest konkretnym obszarem działalności, ale profesjonalną filozofią. Jest to metodologia, która pomaga programistom, testerom i administratorom systemów pracować szybciej i wydajniej dzięki automatyzacji i płynności.

Zatem inżynier DevOps to specjalista, który wdraża tę metodologię do procesu pracy:

  • Na etapie planowania inżynier DevOps pomaga zdecydować, z jakiej architektury będzie korzystać aplikacja, w jaki sposób będzie skalowana i wybrać system orkiestracji.
  • Następnie konfiguruje serwery, automatycznie sprawdza i przesyła kod oraz sprawdza środowisko.
  • Następnie automatyzuje testowanie i rozwiązuje problemy z wdrażaniem.
  • Po wydaniu ważne jest zebranie opinii od użytkowników i wdrożenie ulepszeń. DevOps dba o to, aby użytkownicy nie zauważyli tych ulepszeń, a proces aktualizacji jest ciągły.
  • Jednocześnie rozwiązuje dziesiątki problemów, które pomagają usprawnić system pracy programistów, QA, administratorów i menedżerów systemów.

Wszystko, co napisano powyżej, dzieje się w projektach bliskich ideału. W prawdziwym świecie trzeba rozpocząć projekt, w którym pominięto planowanie, architektura była zła, a kiedy wszystkie projekty się zatrzymały, zacząłeś myśleć o automatyzacji. A zrozumienie tych wszystkich problemów, rozwiązywanie ich i sprawianie, by wszystko działało, to kluczowa umiejętność specjalisty DevOps.

Na rynku talentów panuje zamieszanie. Czasami firma poszukuje inżynierów DevOps na stanowisko inżyniera systemów, inżyniera budowy lub kogoś innego. Obowiązki też zmieniają się w zależności od wielkości firmy i kierunku – gdzieś szukają osoby do doradztwa, gdzieś są proszeni o zautomatyzowanie wszystkiego, a gdzieś są zobowiązani do wykonywania zaawansowanych funkcji administratora systemu, który umie programować.

Od czego trzeba zacząć w zawodzie

Wejście do zawodu wymaga wstępnego przygotowania. Nie będziesz w stanie po prostu brać udziału w kursach od zera, bez zrozumienia czegokolwiek z zakresu IT, i uczyć się na poziomie juniorskim. Wymagane zaplecze techniczne:

  • Idealny, jeśli pracujesz przez sześć miesięcy lub dłużej jako administrator systemu, specjalista ds. operacji lub testowania. Albo przynajmniej masz pojęcie o tym, jak aplikacje się uruchamiają, w jakim środowisku mogą się rozwijać i co zrobić, jeśli zobaczysz błąd. Jeśli nie masz doświadczenia zawodowego, zapisz się na dowolny kurs administracji Linuksem, powtarzając wszystko, co dzieje się na Twoim domowym komputerze.
  • Zrozum, jak działają technologie sieciowe - naucz się instalować, konfigurować i zarządzać sieciami lokalnymi i rozległymi.
  • Zobacz jak i jakie programowanie działa - napisz kilka skryptów w Pythonie lub Go, spróbuj zrozumieć zasady OOP (Programowanie Obiektowe), przeczytaj o ogólnym cyklu rozwoju produktu.
  • Przyda się znajomość technicznego języka angielskiego - nie jest konieczne porozumiewanie się na dowolne tematy, wystarczy umiejętność czytania dokumentacji i interfejsów.

Nie trzeba znać wszystkiego szczegółowo, aby rozpocząć naukę DevOps wystarczy minimalny poziom przeszkolenia. Jeśli masz takie zaplecze techniczne, spróbuj zapisać się na kursy.

Co DevOps powinien wiedzieć

Dobry inżynier DevOps to multidyscyplinarny specjalista o bardzo szerokich horyzontach. Aby skutecznie pracować, będziesz musiał zrozumieć kilka obszarów IT na raz.

Rozwój

DevOps napisze skrypt, który pomoże programistom zainstalować kod na serwerze. Stworzy program, który będzie testował responsywność baz danych „w locie”. Napiszę aplikację do kontroli wersji. Na koniec po prostu zwróć uwagę na potencjalny problem programistyczny, który może pojawić się na serwerze.

Silny specjalista DevOps zna kilka języków nadających się do automatyzacji. Nie rozumie ich dokładnie, ale potrafi szybko napisać mały program lub przeczytać cudzy kod. Jeśli nigdy wcześniej nie miałeś styczności z programowaniem, zacznij od Pythona - ma prostą składnię, łatwo jest pracować z technologiami chmurowymi, jest mnóstwo dokumentacji i bibliotek.

System operacyjny

Nie da się poznać wszystkich możliwości każdej wersji każdego systemu – można by spędzić tysiące godzin na takim szkoleniu i nic by to nie dało. Zamiast tego dobry DevOps rozumie ogólne zasady pracy na dowolnym systemie operacyjnym. Chociaż, sądząc po wzmiankach na stanowiskach pracy, większość pracuje obecnie w systemie Linux.

Dobry inżynier rozumie, w jakim systemie najlepiej wdrożyć projekt, jakich narzędzi użyć i jakie potencjalne błędy mogą pojawić się podczas wdrażania lub eksploatacji.

Chmury

Rynek technologii chmurowych rozwój średnio o 20-25% rocznie – taka infrastruktura pozwala na automatyzację operacji testowania kodu, składania aplikacji z komponentów i dostarczania aktualizacji użytkownikom. Dobry DevOps rozumie zarówno rozwiązania w pełni chmurowe, jak i hybrydowe.

Standardowe wymagania dla inżynierów obejmują zazwyczaj GCP, AWS i Azure.

Obejmuje to biegłość w zakresie narzędzi CI/CD. Zazwyczaj Jenkins jest używany do ciągłej integracji, ale warto spróbować analogów. Jest ich wiele, na przykład Buddy, TeamCity i Gitlab CI. Przyda się zapoznanie z Terraformem – jest to narzędzie deklaratywne, które pomaga zdalnie zakładać i konfigurować infrastrukturę w chmurach. I Packer, który jest potrzebny do automatycznego tworzenia obrazów systemu operacyjnego.

Systemy orkiestracji i mikrousługi

Architektura mikroserwisowa ma wiele zalet – stabilność, możliwość szybkiego skalowania, uproszczenie i ponowne wykorzystanie. DevOps rozumie, jak działają mikrousługi i potrafi przewidywać potencjalne problemy.

Doskonale zna Dockera i Kubernetesa. Rozumie, jak działają kontenery, jak zbudować system, aby można było wyłączyć niektóre z nich bez konsekwencji dla całego systemu jako całości. Może na przykład zbudować klaster Kubernetes przy użyciu Ansible

Czego jeszcze powinien spróbować przyszły DevOps?

Lista narzędzi, które mogą przydać się inżynierowi DevOps, jest nieskończona. Niektórzy pracują nad koordynacją projektów, inni spędzają większość czasu na automatyzacji wdrażania i testowania, a jeszcze inni poprawiają efektywność zarządzania konfiguracją. W tym procesie stanie się jasne, gdzie kopać i jakie projekty będą przydatne.

Oto kolejne małe minimum, które pomoże na początek:

  • Zrozum, jak działają Git i Github, jeśli jeszcze tego nie zrobiłeś. Zainstaluj GitLab na swoim serwerze.
  • Zapoznaj się z językami znaczników JSON i YAML.
  • Zainstaluj i spróbuj pracować w bazach danych - nie tylko MySQL, ale także NoSQL. Wypróbuj MongoDB.
  • Dowiedz się, jak zarządzać konfiguracją wielu serwerów jednocześnie. Na przykład za pomocą Ansible.
  • Od razu skonfiguruj monitorowanie obciążenia i dzienniki. Wypróbuj kombinację Prometheus, Grafana i Alertmanager.
  • Poszukaj najlepszych rozwiązań do wdrożenia dla różnych języków - wystarczy je poznać, wdrożyć i zrozumieć na projekcie szkoleniowym lub roboczym.

Dlaczego warto rozpocząć naukę DevOps już teraz

Na rynku brakuje kadr dla inżynierów DevOps. Warunkowo potwierdza to ilość i jakość wolnych miejsc pracy:

  • W Rosji, w samym HeadHunterze, na to słowo kluczowe stale dostępnych jest ponad 2 tysiące ofert pracy.
  • I tylko 1 osób opublikowało swoje CV.

Biorąc pod uwagę, że zamieszczenie CV nie oznacza aktywnego poszukiwania pracy, okazuje się, że na jednego specjalistę przypadają dwa, a nawet trzy wakaty – taka sytuacja nie ma miejsca nawet na popularnym rynku tworzenia stron internetowych. Dodajcie tutaj kolejne wakaty z kanałów Habr i Telegram – braki specjalistów są ogromne.

Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać
Zwróć uwagę na wymagania płacowe kandydatów

DevOps jest nie mniej popularny na świecie - jeśli wybierasz się na relokację do USA lub Europy, to tylko na portalu Glassdoor Takich specjalistów poszukuje ponad 34 tysiące firm. Częste wymagania to 1-3 lata doświadczenia, umiejętność pracy z chmurami i brak obaw o funkcje konsultingowe.

Ofert dla freelancingu jest wielokrotnie mniej – inżynierowie DevOps poszukują głównie pracowników i stanowisk na pełen etat.

Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać
Znalezienie odpowiedniego niezależnego projektu jest trudne, ale jest możliwe

Konwencjonalną ścieżkę kariery inżyniera DevOps można sobie wyobrazić mniej więcej tak:

  • Pracuje jako administrator systemu w małej firmie informatycznej od sześciu miesięcy do roku. Jednocześnie studiuje język odpowiedni do automatyzacji.
  • Uczy się intensywnie na kursach przez około sześć miesięcy.
  • Przechodzi do innej pracy - do firmy sprzedającej rozwiązania chmurowe, oddziału dużej korporacji, deweloperom dużych projektów. Najprościej mówiąc tam, gdzie istnieje potrzeba ciągłej automatyzacji i wdrażania. Na pozycji początkowej jest to około 100 tysięcy rubli.
  • Od kilku lat aktywnie pracuje i studiuje, kilkakrotnie zwiększając swoje dochody.
  • Zostaje ekspertem w środowisku zawodowym i przechodzi do konsultingu. Lub zostaje architektem systemu lub dyrektorem IT.

DevOps jest trudny. Musisz połączyć umiejętności kilku zawodów jednocześnie. Stań się osobą gotową proponować ulepszenia tam, gdzie inni specjaliści IT nawet nie myślą o niczym innym. Dużo za to płacą, ale wymagają też dużej wiedzy.

Ile zarabia DevOps?

Według danych za drugi kwartał 2019 r. średnie wynagrodzenie devopsów kształtuje się na poziomie 90–160 tys. rubli. Są tańsze oferty – przeważnie 60-70 tys.

Stale pojawiają się oferty do 200 tysięcy, a są wolne miejsca pracy z pensjami do 330 tysięcy rubli.

Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać
Wśród specjalistów operacyjnych DevOps zarabia więcej niż inni. Źródło: Habr.Kariera

Inżynierowie DevOps, także początkujący, są obecnie potrzebni w dużych bankach, korporacjach, usługach chmurowych, systemach transakcyjnych i innych organizacjach, którym zależy na utrzymaniu swoich rozwiązań IT.

Doskonałym kandydatem na stanowisko juniora z pensją 60–90 tys. byłby początkujący administrator systemu z około rocznym doświadczeniem i dyplomem specjalizacji.
 
Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać
Nie ma takich statystyk, ale wydaje się, że osoby mające doświadczenie z Linuksem zarabiają więcej

Co oglądać i czytać, aby rozwijać się w swoim zawodzie

Aby zanurzyć się w świat DevOps, wypróbuj kilka źródeł informacji:

  • Fundacja Cloud Native Computing [YouTube, ENG] - wiele filmów z konferencji i webinariów edukacyjnych.
  • Kanał DevOps [YouTube, RUS] - relacje wideo z profesjonalnej konferencji DevOps w Rosji.
  • Podręcznik DevOps [książka, RUS] to jedna z najpopularniejszych książek o filozofii DevOps. Książka zawiera ogólne zasady metodologii, podpowiada na co przede wszystkim zwrócić uwagę pracując nad jakimkolwiek projektem.
  • Thomas Limoncelli „Praktyka administrowania systemami i sieciami” [książka, RUS] - dużo teorii i zasad o tym, jak powinna być zorganizowana administracja systemem.
  • Tygodnik Devops [książka, ENG] - cotygodniowy przegląd aktualności na temat tego, co dzieje się w DevOps na całym świecie.
  • Devops_deflope [Telegram, RUS] - aktualności branżowe, zapowiedzi konferencji, linki do nowych ciekawych artykułów i książek.
  • Devops_en [Telegram, RUS] - rosyjskojęzyczny czat, na którym możesz poprosić o poradę i pomoc w konfiguracji.
  • Devops.com to duży międzynarodowy serwis z artykułami, webinarami, podcastami i felietonami największych firm w branży.
  • Hangops_Ru — rosyjskojęzyczna społeczność inżynierów i sympatyków DevOps.
  • Najlepsze książki dla języka, którego będziesz używać do rozwoju.

Gdzie studiować DevOps

Na kursie możesz zdobyć ustrukturyzowaną wiedzę”Inżynier DevOps„w Netologii. Poznasz pełny cykl metodologii:

  • Dowiedz się, jak analizować kod i szybko korzystać z narzędzi kontroli wersji.
  • Zrozum najlepsze praktyki ciągłej integracji, testowania i budowania.
  • Naucz się zarządzać zmianami w aplikacjach i je automatyzować.
  • Zapoznaj się z narzędziami do konfiguracji i zarządzania.
  • Przyzwyczaj się do natychmiastowego wybierania i konfigurowania niezbędnych usług do monitorowania.

Zdobądź kurs programowania w Pythonie jako bonus - rozwiążesz problemy jeszcze szybciej i łatwiej. Wszystko jest praktyczne – korzystamy z AWS, GCP czy Azure.
To wystarczy, aby początkujący inżynier lub administrator systemu stał się poszukiwanym DevOpsem i przyjemnie podniósł swoją cenę na rynku pracy.

Kim jest inżynier DevOps, czym się zajmuje, ile zarabia i jak nim zostać

Źródło: www.habr.com

Dodaj komentarz