DevOps - nowoczesny informatyk - Firma rekrutacyjna Devire
  • DevOps – nowoczesny informatyk

     

    Od kilku lat na Polskim rynku IT bardzo popularnymi specjalistami są DevOpsi. Kim jest DevOps? Gdzie powstał ten zawód i w jakim celu? Jakie doświadczenie jest niezbędne do wykonywania tej profesji? 

    Kim jest DevOps?

    Nazwa DevOps powstała w efekcie połączenia dwóch angielskich słów – development (rozwój) oraz operations (operacje). Została zaproponowana na w 2009 roku na pierwszej konferencji z serii DevOps Days w Gandawie (Belgia) przez Patrcka Debois, który zapoczątkował dyskusję na temat połączenia tych dwóch obszarów. Sama nazwa dotyczy metodyki/kultury, która zwraca uwagę na bardzo bliską współpracę i komunikację obszaru utrzymania IT i rozwoju oprogramowania. To połączenie pokazuje zależność pomiędzy rozwojem, a utrzymaniem i skraca czas wdrożenia funkcji oraz zmian w docelowym oprogramowaniu.

    Rozwiązania DevOps mają wiele korzyści, dlatego firmy tak chętnie wprowadzają to narzędzie do swojej infrastruktury. Każda firma posiada dział rozwoju, w którym programiści tworzą aplikacje oraz dział utrzymania, gdzie administratorzy są odpowiedzialni za utrzymanie środowisk, w których działają aplikacje. Od zawsze te dwie strony mają różne cele i priorytety. Dla programistów celem jest najszybsze stworzenie produktu oraz wdrożenie go u klienta. Natomiast w interesie administratorów leży jak najmniejsza ilość zmian, ponieważ każda zmiana wiąże się z ryzykiem awarii oraz błędów. W rezultacie firma ma mniej stabilne środowisko, a dział utrzymania więcej pracy. Rozwiązaniem tego problemu jest wprowadzenie kultury DevOps w organizacji.

    Początkowo założeniem DevOps było połączenie dwóch zespołów oraz ich kompetencji, tak by pracowały razem, pozwalając zaoszczędzić czas pracy zespołu oraz finanse przedsiębiorstwa. Programiści i administratorzy mieli się dzielić wiedzą oraz swoimi spostrzeżeniami. Administratorzy byli obecni w trakcie tworzenia produktu, starając się zrozumieć i nauczyć się wykonywać podobne działania. Po zakończeniu wdrażania developerzy dowiadywali się jak administratorzy obsługują utworzone oprogramowanie.

    Metodyka DevOps ewoluowała i tak od kilku lat jesteśmy świadkami narodzin specjalistów, którzy mają doświadczenie w rozwoju (tworzenie kodu) oraz utrzymaniu infrastruktury (administracja).

    Jakie doświadczenie i umiejętności powinien mieć DevOps?

    Co prawda w Polsce obszar DevOpsa nie jest tak rozwinięty jak na zachodzie, ale stale rośnie i firmy coraz częściej rozglądają się za tego typu specjalistami nazywanymi obecnie „nowoczesnymi informatykami”.

    Obecnie na polskim rynku IT najwięcej Devops’ów wywodzi się z utrzymania, rozwijając swoje umiejętności głównie w j. skryptowych tj. Python lub w konkretnych j. programowania tj. Java, .NET czy PHP. Początkowo stanowisko wiązało się z utrzymaniem konkretnego obszaru infrastruktury (systemy, bazy danych, serwery, sieci) na poziomie 70-90%, a resztę stanowiły proste zadania związane z rozwojem czy automatyzacją. Od początku 2017 roku coraz więcej firm wymagało od zatrudnianego kandydata doświadczenia nie tylko w utrzymaniu danych rozwiązań, ale także praktycznych umiejętności w obszarze rozwoju oprogramowania, co pozwala na szybszą decyzyjność oraz rozwiązywanie błędów podczas realizowanego projektu.

    Na stanowisku DevOpsa oprócz doświadczenia w rozwiązaniach z obszaru developmentu i administracji bardzo ważna jest również znajomość narzędzi do automatyzacji procesów tj. (Ansible, Puppet). Pozwalają one na eliminowanie większości pracy manualnej, która była wykonywana przy infrastrukturze teleinformatycznej skracając czas pracy pomiędzy obszarami.

    Znakiem rozpoznawalnym dla DevOps’a jest również znajomość narzędzi z dziedziny konteneryzacji, które służą jako platformy dla specjalistów zajmujących się tworzeniem, wdrażaniem i uruchamianiem aplikacji rozproszonych, czyli zbudowanych z różnych niezależnych elementów.
    Konteneryzacja nazywana jest również dockeryzacją (Docker jest głównym narzędziem używanym w konteneryzacji, zastępując wirtualizację przez stosowanie czegoś co nazywa się konteneryzacją, jednocześnie konteneryzacja polega na umożliwieniu uruchomienia wskazanych procesów aplikacji w wydzielonych kontenerach, które z punktu widzenia aplikacji są odrębnymi instancjami).

    Przy stanowiskach DevOps pojawia się również wielokrotnie słowo „Continuous” (ang. ciągły), które słyszymy przy różnych dyskusjach na temat tego zawodu. Praca z wykorzystaniem metodyki DevOps to ciągła integracja, ciągłe wdrażanie czy ciągłe dostarczanie oprogramowania. Dlatego najczęściej przy tej roli widzimy zagadnienia tj. „Continuous Integration”, „Continuous Delivery” czy „Continuous Deployment”, które wspierają m. in. zarządzanie i utrzymanie zasobów w chmurze i generalnie zacierając wszystkie linie między tworzeniem aplikacji, a działaniem.

    Bardzo ciekawym i nowym kierunkiem dla DevOps’ów jest możliwość rozwoju i pracy w obrębie chmur obliczeniowych. Oczywiście zdecydowanym liderem był i nadal jest Amazon, który dominuje na tym rynku, a innym vendorom ciągle daleko do giganta. Trzeba jednak wspomnieć o bardzo mocno kroczącej w świecie chmur obliczeniowych firmie Microsoft, której Azure z roku na rok notuje coraz większą popularność, a firmy coraz chętniej korzystają z jej usług.

    Najczęstsze zadania dotyczą obsługi i rozwoju platformy czy uruchamiania krytycznych/strategicznych aplikacjach opartych na chmurze. Pojawi się również tworzenie, konfigurowanie i utrzymanie zasobów w chmurze oraz stały monitoring stanu infrastruktury opartej na chmurze obliczeniowej.

    Ile zarabia DevOps?

    Wynagrodzenia na stanowiskach DevOps różnią się w zależności od wykorzystywanych narzędzi oraz doświadczenia. Na polskim rynku IT oczekiwania finansowe osób z kilkuletnim doświadczeniem w obszarze utrzymania lub rozwoju, a zaczynającym rozwój w kierunku DevOps’a kształtują się na poziomie 12 000 – 15 000 PLN.
    W przypadku osób z doświadczeniem oczekiwania finansowe zaczynają się od 16 000 – 17 000 PLN, sięgając nawet kwoty powyżej 25 000 PLN.

    Inaczej rozkładają się zarobki kandydatów, którzy w swoim doświadczeniu mogą się pochwalić umiejętnościami i pracą w rozwiązaniach chmur obliczeniowych. Ich oczekiwania rozpoczynają się od 16 000 PLN i potrafią osiągnąć poziom nawet kwot powyżej 30 000 PLN. Należy jednak pamiętać, że stawki różnią się w zależności od formy zatrudnienia.

    Szukasz pracy? Sprawdź aktualne oferty pracy

    Autor: Szymon Płodowski