Żołnierz uniwersalny czy wąski specjalista? Co inżynier DevOps powinien wiedzieć i umieć

Żołnierz uniwersalny czy wąski specjalista? Co inżynier DevOps powinien wiedzieć i umieć
Technologie i narzędzia, które musi opanować inżynier DevOps.

DevOps to rosnący trend w IT, popularność i popyt na tę specjalność sukcesywnie rośnie. GeekBrains został otwarty niedawno Wydział DevOps, gdzie kształcą się specjaliści o odpowiednim profilu. Nawiasem mówiąc, zawód DevOps jest często mylony z zawodami pokrewnymi - programowaniem, administracją systemami itp.

Aby wyjaśnić, czym właściwie jest DevOps i dlaczego potrzebni są przedstawiciele tego zawodu, rozmawialiśmy z architektem Nikołajem Butenko Rozwiązania chmurowe Mail.ru. Brał udział w opracowywaniu programu zajęć dla wydziału DevOps, a także uczy studentów trzeciego kwartału.

Co powinien wiedzieć i umieć dobry DevOps?

Tutaj lepiej od razu powiedzieć, czego nie powinien móc zrobić. Istnieje mit, że przedstawiciel tego zawodu to jednoosobowa orkiestra, która potrafi napisać świetny kod, potem go przetestować, a w wolnych chwilach naprawia drukarki swoich kolegów. Być może pomaga także w magazynie i zastępuje baristę.

Aby wiedzieć, co powinien umieć specjalista DevOps, wróćmy do definicji samego pojęcia. DevOps to optymalizacja czasu od opracowania produktu do wprowadzenia produktu na rynek. W związku z tym specjalista optymalizuje proces między rozwojem a eksploatacją, mówi ich językiem i buduje kompetentny rurociąg.

Co musisz wiedzieć i umieć? Oto, co jest ważne:

  • Potrzebne są dobre umiejętności miękkie, ponieważ trzeba jednocześnie współpracować z kilkoma działami w tej samej firmie.
  • Analityczne myślenie strukturalne umożliwiające spojrzenie na procesy z góry i zrozumienie, jak je zoptymalizować.
  • Musisz sam zrozumieć wszystkie procesy rozwoju i działania. Tylko wtedy można je zoptymalizować.
  • Aby stworzyć ujednolicony proces produkcyjny, wymagane są również doskonałe umiejętności planowania, analizy i projektowania.

Czy wszyscy przedstawiciele DevOps są tacy sami, czy też istnieją różnice w ramach specjalizacji?

W ostatnim czasie w ramach jednej specjalizacji powstało kilka filii. Ale ogólnie koncepcja DevOps obejmuje głównie trzy obszary: SRE (administrator), Developer (programista), Manager (odpowiedzialny za interakcję z biznesem). Specjalista DevOps rozumie potrzeby biznesu i organizuje efektywną pracę pomiędzy wszystkimi, tworząc ujednolicony proces.

Posiada również dobrą wiedzę na temat wszystkich procesów cyklu rozwoju produktu, architektury oraz rozumie bezpieczeństwo informacji na poziomie oceny ryzyka. Ponadto DevOps znają i rozumieją podejścia i narzędzia do automatyzacji, a także wsparcie przed i po wydaniu programów i usług. Generalnie zadaniem DevOps jest postrzeganie całego systemu jako jednej całości, kierowanie i zarządzanie procesami, które przyczyniają się do rozwoju tego systemu.

Żołnierz uniwersalny czy wąski specjalista? Co inżynier DevOps powinien wiedzieć i umieć
Niestety zarówno w Rosji, jak i za granicą pracodawcy nie zawsze rozumieją istotę DevOps. Przeglądając opublikowane oferty pracy, zauważysz, że dzwoniąc na ofertę pracy DevOps, firmy szukają administratorów systemów, administratorów Kubernetesa lub ogólnie testerów. Szczególnie uderzająca jest bardzo niejednorodna mieszanka wiedzy i umiejętności na stanowiskach DevOps w HH.ru i LinkedIn.

Warto zaznaczyć, że DevOps to nie tylko specjalność, to przede wszystkim metodologia traktowania infrastruktury jak kodu. W wyniku wdrożenia metodologii wszyscy członkowie zespołu deweloperskiego widzą i rozumieją nie tylko swój obszar pracy, ale mają wizję działania całego systemu.

W jaki sposób DevOps może pomóc firmie, w której pracujesz?

Jednym z najważniejszych wskaźników dla biznesu jest czas wprowadzenia produktu na rynek (TTM). To time to market, czyli okres, w którym następuje przejście od pomysłu stworzenia produktu do wprowadzenia produktu do sprzedaży. TTM jest szczególnie ważne dla branż, w których produkty szybko się starzeją.

Dzięki DevOps wielu znanych sprzedawców detalicznych w Federacji Rosyjskiej i za granicą zaczęło opracowywać nowe kierunki. Firmy te masowo przenoszą się do Internetu, całkowicie lub częściowo rezygnując z platform offline. W tych warunkach potrzebny jest szybki rozwój aplikacji i usług, co nie jest możliwe bez wykorzystania narzędzi DevOps.

Żołnierz uniwersalny czy wąski specjalista? Co inżynier DevOps powinien wiedzieć i umieć
Dzięki temu niektórym sprzedawcom udało się przyspieszyć proces uruchamiania potrzebnych aplikacji i usług dosłownie w ciągu jednego dnia. I to jest najważniejszy czynnik konkurencji na współczesnym rynku.

Kto może zostać DevOpsem?

Oczywiście łatwiej będzie tu przedstawicielom specjalności technicznych: programistom, testerom, administratorom systemów. Każdy, kto wybiera się w tę dziedzinę bez odpowiedniego wykształcenia, musi być przygotowany na poznanie podstaw programowania, testowania, zarządzania procesami i administrowania systemami. I dopiero wtedy, kiedy to wszystko zostanie opanowane, będzie można rozpocząć studiowanie koncepcji DevOps jako całości.

Aby lepiej zrozumieć koncepcję i zorientować się w wymaganej wiedzy i umiejętnościach, warto przeczytać DevOps Guide, przestudiować Projekt Phoenix, a także metodologię „Filozofia DevOps. Sztuka zarządzania IT”. Kolejna świetna książka – „DevSecOps droga do szybszego, lepszego i silniejszego oprogramowania”.

DevOps sprawdza się najlepiej u osób, które mają analityczny sposób myślenia i potrafią stosować podejście systematyczne. Trudno powiedzieć, ile czasu zajmie nowicjuszowi zostanie świetnym DevOpserem. Tutaj wszystko zależy od bazy wyjściowej, ale także od otoczenia i zadań, które należy rozwiązać, a także od wielkości firmy. Do firm potrzebujących devops należy wielu gigantów technologicznych: Amazon, Netflix, Adobe, Etsy, Facebook i Walmart.

Podsumowując, ponad połowa ofert pracy DevOps skierowana jest w rzeczywistości do doświadczonych administratorów systemów. Jednak zapotrzebowanie na DevOps stopniowo rośnie, a obecnie brakuje kompetentnych specjalistów o tym profilu.

Aby zostać takim specjalistą, trzeba poznawać nowe technologie, narzędzia, stosować systematyczne podejście w trakcie pracy i kompetentnie stosować automatyzację. Bez tego bardzo trudne, jeśli nie niemożliwe, jest kompetentne zorganizowanie DevOps.

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

Dodaj komentarz