Obecnie na rynku pracy obserwujemy dość duże zapotrzebowanie na DevOps engineerów. Wiąże się z tym spora popularność tego zawodu wśród osób, które chcą pracować w branży IT. Dlatego też spróbujemy odpowiedzieć na pytania o to, jak zostać DevOps engineerem, co trzeba umieć, aby tego dokonać oraz na jakie zarobki można liczyć.
Artykuł ten jest drugim z kolei tekstem dotyczącym zawodu DevOps engineera. W pierwszym, zatytułowanym „DevOps engineer cz. I. Kim jest i czym się zajmuje?”, znajdziesz informacje o tym, co tak naprawdę oznacza skrót DevOps, kim jest DevOps engineer oraz czym się zajmuje. W tej części pogłębimy nieco temat i przyjrzymy się tej profesji pod kątem wykształcenia, umiejętności i sytuacji na rynku pracy.
DevOps engineer – jak zacząć?
Wśród ogłoszeń o pracę możemy spotkać trzy stopnie doświadczenia DevOps engineera: junior, mid/regular, senior. Są one najczęściej determinowane umiejętnościami, doświadczeniem zawodowym i mają wpływ przede wszystkim na wielkość wynagrodzenia.
W tym artykule skupimy się jednak tylko na kwestii początku takiej drogi zawodowej i pozycji juniora. Zacznijmy więc od tego, co powinienes/nnaś zrobić, jeśli chcesz być DevOps engineerem.
Choć nazwa stanowiska zawiera w sobie słowo engineer, wcale nie trzeba posiadać tego tytułu naukowego. Dróg do rozpoczęcia pracy w tym zawodzie jest kilka:
- możesz iść na studia informatyczne i albo w ich trakcie albo po ukończeniu próbować dostać się na staż lub stanowisko juniorskie do firmy, która cię interesuje,
- jeśli już zajmujesz inne stanowisko branżowe w danej organizacji, możesz dowiedzieć się, co musisz zrobić, aby je zmienić i wtedy wykonać konkretne kroki do przeskoku np. z pozycji testera na DevOps engineera,
- możesz zapisać się na płatne kursy i szkolenia kierunkowe, które przygotują cię do tego zawodu, a następnie (podobnie jak po studiach) aplikować na staż lub stanowisko juniorskie,
- jeśli masz w sobie dużo samozaparcia, możesz zdobywać potrzebną wiedzę całkiem samodzielnie, np. z pomocą internetu i szukać stażu.
Pamiętaj, że zwykle dzieje się tak, że większe znaczenie w procesie rekrutacyjnym ma faktyczna wiedza i umiejętności w zakresie konkretnych programów i narzędzi, doświadczenie i możliwość pochwalenia się zrealizowanymi projektami niż dyplomy (choć oczywiście zdarzają się firmy, dla których edukacja formalna jest koniecznością).
Co powinien umieć ktoś, kto chce zajmować to stanowisko?
Wszystko zależy od indywidualnej oferty pracy lub konkretnego projektu, choć są technologie, narzędzia i frameworki, które pojawiają się w wymaganiach niezwykle często. Ogólnie rzecz ujmując, w zestawie obowiązkowym wymagań na stanowisko juniorskie najczęściej możemy spotkać się z:
- rozumieniem procesu wytwarzania oprogramowania,
- umiejętnością pracy z repozytorium kodu,
- wiedzą z zakresu rozwiązań cloudowych,
- znajomością metod automatyzacji.
Za powyższymi punktami kryje się szereg umiejętności twardych – narzędzi i technologii, które trzeba znać. W ogłoszeniach najczęściej pojawiają się:
- praktyczna znajomość środowisk Linux lub Windows,
- umiejętność tworzenia skryptów w Python, Perl, Bash, Go lub Ruby,
- podstawowa znajomość jednego z języków programowania, takich jak C, C++, Java, .NET lub PHP,
- umiejętność posługiwania się narzędziami do automatyzacji, np. Kubernetes, GIT, Puppet, Jenkins, Ansible, Hudson, Selenium,
- znajomość rozwiązań cloudowych takich jak Amazon Web Services (AWS), Azure,
- znajomość języka angielskiego, co najmniej w stopniu komunikatywnym
Oprócz tego, w tej pracy przydadzą się także umiejętności miękkie, na które często zwraca się uwagę w korporacyjnych procesach rekrutacyjnych:
- gotowość na ciągły rozwój i poszerzanie swojej wiedzy, śledzenie trendów, uczestnictwo w branżowych konferencjach,
- bycie osobą uporządkowaną i samoorganizującą się, która potrafi zarządzać czasem i potrafi działać pod jego presją,
- strategiczny sposób myślenia, umiejętność przewidywania zdarzeń i ich konsekwencji,
- multitasking,
- znajomość metodyki Agile,
- zdolności komunikacyjne zarówno jeśli chodzi o pracę bezpośrednio z klientem jak i z członkami zespołu.
Zarobki DevOps engineera w Polsce
Zarobki na tym stanowisku zależą od kilku kwestii: poziomu stanowiska (junior, mid/regular, senior), a tym samym doświadczenia, umiejętności, rodzaju umowy, wielkości firmy oraz jej lokalizacji.
Według portalu praca.money.pl, na podstawie 78 raportów wynagrodzeń, mediana na stanowisku młodszego specjalisty wynosi 6 240 zł brutto. Najwyższe wynagrodzenia przypadają na województwa mazowieckie, małopolskie i łódzkie.
Według raportu portalu bulldogjob.pl, miesięczne zarobki juniora wyglądają następująco:
- umowa o pracę – 4 297 netto
- umowa o dzieło/zlecenie – 3 823 netto
Portal zaznacza przy tym, że na kontrakt B2B decydują się zwykle osoby awansujące na stanowisko mid/regular lub senior.
Na znacznie wyższe kwoty (a także dużą rozpiętość widełek) wskazuje portal nofluffjobs.com.pl.
I choć różnice w wynagrodzeniach mogą być duże i wynikają z wielu zmiennych, to patrząc na powyższą tabelkę jedno jest pewne – warto starać się o awans.