
För några år sedan dök en ny yrkesroll upp inom IT, DevOps-ingenjör. Den blev snabbt en av de mest populära och eftertraktade rollerna på marknaden. Men paradoxalt nog beror en del av populariteten för DevOps på att företag som anställer sådana specialister ofta förväxlar dem med personer från andra yrken.
Denna artikel är ägnad åt att analysera nyanserna av DevOps-professionen, den nuvarande marknadssituationen och framtidsutsikterna. Vi har tagit oss an denna komplexa fråga med hjälp av dekanen vid onlineuniversitetet GeekUniversity, Dmitrij Burkovskij.
Så vad är DevOps?
Termen förklaras som Development Operations. Det är inte så mycket en yrkesroll som en metod för att organisera arbetet inom ett medelstort eller stort företag vid förberedelse av en produkt eller tjänst. Faktum är att olika avdelningar inom ett företag deltar i förberedelseprocessen, och deras handlingar är långt ifrån alltid välkoordinerade.
Utvecklare vet till exempel inte alltid vilka problem som uppstår för användare som arbetar med den utgivna programvaran eller tjänsten. Supportpersonalen är fullt medveten om situationen, men de kanske inte alltid är informerade om vad som händer "inuti" programvaran. Här kommer DevOps-ingenjören in i bilden, som hjälper till att koordinera utvecklingsprocessen, främjar automatiseringen av processer och förbättrar deras transparens.
DevOps-konceptet förenar människor, processer och verktyg.
Vad bör en DevOps-ingenjör veta och kunna?
Enligt en av de mest kända förespråkarna för DevOps-konceptet, Joe Sánchez, bör en person i denna profession förstå nyanserna av själva konceptet, ha erfarenhet av att administrera både Windows- och Linux-system, förstå programkod skriven i olika programmeringsspråk, arbeta med Chef, Puppet, Ansible. Det står klart att för att kunna analysera koden behöver man behärska flera programmeringsspråk, inte bara förstå dem, utan också ha praktisk erfarenhet av utveckling. Dessutom är erfarenhet av att testa färdiga programprodukter och tjänster mycket önskvärt.
Men det här är idealt; en sådan nivå av erfarenhet och kunskap finns inte hos varje IT-specialist. Här är en lista över minimalt nödvändiga kunskaper och erfarenheter för en kompetent DevOps-ingenjör:
- OS GNU/Linux, Windows.
- Minst 1 programmeringsspråk (Python, Go, Ruby).
- Kommandotolkens skriptspråk — bash för Linux och PowerShell för Windows.
- Versionshanterystem — Git.
- Konfigurationshanteringssystem (Ansible, Puppet, Chef).
- Minst en av plattformarna för containerorkestrering (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
- Färdigheter att arbeta med molnleverantörer (t.ex.: AWS, GCP, Azure m.fl.) genom användning av Terraform, veta hur en applikation distribueras till molnet.
- Färdigheter att konfigurera CI/CD-pipeline (Jenkins, GitLab), ELK-stacken, övervakningssystem (Zabbix, Prometheus).
Här är en lista med färdigheter som ofta anges av DevOps-specialister på Habr Karriär.

Dessutom bör en DevOps-specialist förstå affärens behov och krav, se sin roll i utvecklingsprocessen och kunna bygga processen med hänsyn till kundens intressen.
Vad gäller inträdesgränsen?
Listan över kunskaper och erfarenheter är inte utan anledning presenterad ovan. Nu blir det lättare att förstå vem som kan bli DevOps-specialist. Det visar sig att det är lättare för representanter från andra IT-specialiteter, särskilt systemadministratörer och utvecklare, att övergå till detta yrke. Båda grupperna kan snabbt öka sin bristande erfarenhet och kunskap. Hälften av den erforderliga uppsättningen har de redan, ofta till och med mer än hälften.
Och dessutom kan testar som blir utmärkta DevOps-ingenjörer. De vet hur allt fungerar, är medvetna om brister och fel i mjukvaran och 'hårdvaran'. Man kan säga att en testare som känner till programmeringsspråk och kan skriva program är en blivande DevOps-ingenjör.
Men för en person utan teknisk bakgrund, som aldrig har haft att göra med varken utveckling eller systemadministration, kommer det att vara svårt. Självklart är ingenting omöjligt, men nykomlingar behöver rimligt bedöma sina möjligheter. Det kommer att krävas en hel del tid för att skaffa det nödvändiga 'bagaget'.
Var kan en DevOps-ingenjör få jobb?
I ett stort företag vars verksamhet direkt eller indirekt är kopplad till applikationsutveckling och administration av 'hårdvara'. Det finns ett stort underskott av DevOps-ingenjörer i företag som tillhandahåller många tjänster till slutkonsumenter. Det handlar om banker, teleoperatörer, de största internetleverantörerna osv. Bland företag som aktivt anställer DevOps-ingenjörer finns Google, Facebook, Amazon, Adobe.
DevOps implementeras och startups med småföretag, men för många av dessa företag är anställning av DevOps-ingenjörer ofta mer en trend än ett verkligt behov. Visst finns det undantag, men de är inte många. Små företag behöver snarare "en som kan både sy och skörda", det vill säga en person som kan arbeta inom flera områden. En bra CTO kan hantera allt detta. Poängen är att småföretag värdesätter arbetets hastighet, och optimering av arbetsprocesser är avgörande för medelstora och stora företag.
Här är några jobbannonser (håll koll på nya på Habr Career via ):
Lön för DevOps i Ryssland och världen
I Ryssland är den genomsnittliga lönen för en DevOps-ingenjör cirka 132 000 rubel per månad. Detta är beräkningar från lönekalkylatorn på tjänsten Habr Career, baserat på 170 enkäter för andra halvåret 2020. Ja, urvalet är inte så stort, men som en "genomsnittlig temperatur på sjukhuset" fungerar det ganska bra.
Det finns löner på upp till 250 000 rubel, och det finns även omkring 80 000 eller något lägre. Allt beror på företaget, kvalifikationen och förstås på personen själv.
När det gäller andra länder, finns det också statistik om löner. Bra arbete har gjorts av specialister från Stack Overflow, som analyserade enkäter från cirka 90 000 personer - inte bara DevOps utan även från andra tekniska yrkesgrupper. Det visade sig att Engineering Manager och just DevOps tjänar mest.
En DevOps-ingenjör tjänar cirka $71 000 per år. Enligt uppgifter från Ziprecruiter.com ligger lönen för en professionell inom detta område mellan $86 000 per år. Och tjänsten Payscale.com visar ännu mer tilltalande siffror - den genomsnittliga lönen för en DevOps-specialist, enligt tjänsten, överstiger $91 000. Och detta är lönen för en junior specialist, medan en senior kan tjäna $135 000.
Som en slutsats bör det nämnas att efterfrågan på DevOps gradvis ökar, och efterfrågan på specialister på alla nivåer överstiger utbudet. Så om du har en vilja - kan du försöka dig inom detta område. Men det måste också kommas ihåg att enbart vilja inte är tillräckligt. Man måste ständigt utvecklas, lära sig och arbeta.
Källa: habr.com
