Współczesne aplikacje, z których korzysta się jako użytkownicy, składają się z kilkudziesięciu pomniejszych. Za te drugie odpowiadają informatycy IT, którzy łączą potem efekty swojej pracy z innymi. Właśnie dlatego musiało powstać stanowisko DevOps Engineer, czyli specjalisty, który nadzoruje proces wytwarzania oprogramowania, a potem jego dalszy rozwój. Czy można nazywać go programistą?
Kim jest DevOps?
Praca Inżyniera DevOps polega w głównej mierze na:
-
tworzeniu i utrzymywaniu kodu skryptowego wykorzystywanego do automatyzacji procesów tworzenia;
-
testowaniu i wdrażaniu oprogramowania.
Pojęcie DevOps jest skrótem od dwóch angielskich słów: development i operations. W zestawieniu służą one do opisania pewnej metody organizacyjnej, która polega na utrzymaniu współpracy między tymi dwoma działami. Została ona wymyślona, aby przyśpieszyć pracę całej firmy oraz zwiększyć jej produktywność.
Narzędzia oraz zadania DevOps
Istnieją cztery główne strefy, za które odpowiedzialny będzie DevOps. No Fluff Jobs w artykule zaznacza, iż specjalista ten powinien czuć się bardzo dobrze w środowisku informatycznym, dlatego powinien znać terminy takie jak:
-
środowisko lokalne;
-
repozytorium kodu;
-
infrastruktura;
-
pipeline CI/CD.
Budowanie infrastruktury (testowych i produkcyjnych) wymaga umiejętności jak tworzenie maszyn wirtualnych typu Cluster ECS. Środowiska lokalne dla developerów i testerów wiążą się z koniecznością wykorzystania vagranta, czy docker-compose. Z jakich narzędzi jeszcze może skorzystać DevOps? Lista jest długa i zawiera aplikacje/platformy takie jak:
-
Veracode;
-
Stackhawk;
-
Jira Software;
-
BitBucket;
-
Slack;
-
Docker;
-
Terraform;
-
Puppet;
-
Kubernetes;
-
Jenkins.
Są to najpopularniejsze, najbardziej cenione przez specjalistów i najprzydatniejsze programy, które powinien nauczyć się używać każdy junior DevOp
Jakie umiejętności trzeba posiadać, aby stać się DevOps?
Istnieje wiele umiejętności, które mogą być przydatne dla kogoś kontynuującego karierę w DevOps, ale niektóre z najważniejszych obejmują:
-
silne umiejętności komunikacyjne – są ważne, aby móc skutecznie współpracować z innymi w ramach projektów. Również, aby uporać się z wytłumaczeniem złożonych koncepcji technicznych pracownikom nietechnicznym lub klientom – ich poziom wiedzy jest niższy, ale przez cały czas potrzebują orientować się w postępie projektu na bieżąco.
-
umiejętności techniczne – obejmują takie rzeczy jak biegłość w administrowaniu systemem Linux/Unix, znajomość języków skryptowych, takich jak Python czy Ruby, oraz doświadczenie z narzędziami do zarządzania konfiguracją jak Puppet czy Chef.
-
chęć do nieustannej nauki – świat technologii ciągle się zmienia, więc ważne jest, aby ciągle uczyć się nowych rzeczy oraz poszerzać zakres własnych umiejętności. Może to obejmować uczestnictwo w kursach online lub udział w konferencjach.
Jednymi z najlepszych sposobów nauki DevOps są:
-
uczestnictwo w warsztatach i konferencjach;
-
czytanie książek i artykułów na ten temat;
-
udział w forach internetowych i grupach dyskusyjnych.
Praca z mentorem, który ma doświadczenie w DevOps, może być niezwykle pomocnym sposobem na zdobycie praktycznej wiedzy i umiejętności. Zdobywanie kompetencji pod okiem kogoś bardziej doświadczonego może stać się najważniejsze dla wykonywania tego zawodu. Dlatego tak istotny jest np. staż, który pomoże zarówno obeznać się w tej dziedzinie, jak i zdobyć wiedzę praktyczną oraz cenne kontakty w branży.
Zarobki na stanowisku DevOps Engineer w Polsce
Średnie wynagrodzenie dla DevOps Engineer w Polsce wynosi 8 910 zł miesięcznie. Zakres wynagrodzenia wynosi to około 5 640-12 200 zł. Osoby ubiegające się o pracę na tym stanowisku powinny pamiętać o tym, iż niektóre oferty pracy zamieszczane są przez zagranicznych pracodawców. To oznacza, iż często wynagrodzenie płacone jest w USD lub EUR. Najlepiej zapytać się o to podczas rozmowy kwalifikacyjnej.
DevOps Engineer musi być programistą, aby skutecznie spełniać wszystkie wymogi i być w stanie orientować się, w jakiej fazie znajduje się obecny projekt.
Grafika: freepik.com