Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det

DevOps-ingenjörer är multidisciplinära specialister som vet hur man automatiserar processer och vet hur utvecklare, QA och chefer fungerar. De vet hur man programmerar, behärskar snabbt komplexa verktyg och är inte vilse när de ställs inför en obekant uppgift. Det finns få DevOps-ingenjörer - de är villiga att betala dem 200-300 tusen rubel, men det finns fortfarande många lediga platser.

Dmitry Kuzmin förklarar exakt vad DevOps gör och vad du behöver studera för att söka en sådan tjänst. Bonus: viktiga länkar till böcker, videor, kanaler och professionella community.

Vad gör en DevOps-ingenjör?

I en DevOps-situation är det viktigt att inte blanda ihop termerna. Faktum är att DevOps inte är ett specifikt verksamhetsområde, utan en professionell filosofi. Det är en metodik som hjälper utvecklare, testare och systemadministratörer att arbeta snabbare och mer effektivt genom automatisering och sömlöshet.

Följaktligen är en DevOps-ingenjör en specialist som implementerar denna metodik i arbetsprocessen:

  • På planeringsstadiet hjälper en DevOps-ingenjör till att bestämma vilken arkitektur applikationen ska använda, hur den ska skalas och välja ett orkestreringssystem.
  • Sedan sätter han upp servrar, automatiserad kontroll och uppladdning av kod och kontrollerar miljön.
  • Sedan automatiserar den testning och löser distributionsproblem.
  • Efter release är det viktigt att samla in feedback från användare och implementera förbättringar. DevOps ser till att användare inte märker dessa förbättringar och uppdateringsprocessen är kontinuerlig.
  • Och samtidigt löser den dussintals problem som hjälper till att förbättra arbetssystemet för utvecklare, QA, systemadministratörer och chefer.

Allt som skrivs ovan sker i projekt som är nära idealiska. I den verkliga världen måste man starta ett projekt där man missade planeringen, arkitekturen var fel, och man började tänka på automatisering när alla projekt stannade. Och att förstå alla dessa problem, lösa dem och få allt att fungera är en nyckelfärdighet för en DevOps-specialist.

Det råder förvirring på talangmarknaden. Ibland söker ett företag efter DevOps-ingenjörer för positionen som systemingenjör, byggingenjör eller någon annan. Ansvaret förändras också beroende på företagets storlek och inriktning - någonstans söker de en person för konsultation, någonstans ombeds de att automatisera allt, och någonstans krävs att de utför avancerade funktioner av en systemadministratör som vet hur man programmerar.

Vad du behöver för att börja i yrket

Att komma in i yrket kräver preliminära förberedelser. Du kommer inte att helt enkelt kunna ta kurser från grunden, utan att förstå något om IT, och lära dig till juniornivå. Teknisk bakgrund krävs:

  • Perfekt om du arbetar i sex månader eller mer som systemadministratör, drift- eller testspecialist. Eller åtminstone ha en uppfattning om hur applikationer startar, i vilken miljö de kan utvecklas och vad du ska göra om du ser ett fel. Om du inte har någon arbetslivserfarenhet, ta någon kurs i Linux-administration, och upprepa allt som händer på din hemmamaskin.
  • Förstå hur nätverksteknik fungerar - lär dig att installera, konfigurera och hantera lokala och breda nätverk.
  • Se hur och vad programmering fungerar - skriv några skript i Python eller Go, försök förstå principerna för OOP (Object-Oriented Programming), läs om den allmänna produktutvecklingscykeln.
  • Kunskaper i teknisk engelska kommer att vara användbara - det är inte nödvändigt att kommunicera om gratis ämnen, det räcker för att kunna läsa dokumentation och gränssnitt.

Det är inte nödvändigt att veta allt som anges i detalj; för att börja lära sig DevOps räcker det med en miniminivå av utbildning. Om du har en sådan teknisk bakgrund, testa att anmäla dig till kurser.

Vad DevOps borde veta

En bra DevOps-ingenjör är en multidisciplinär specialist med ett mycket brett perspektiv. För att arbeta framgångsrikt måste du förstå flera IT-områden samtidigt.

utformning

DevOps kommer att skriva ett skript som hjälper utvecklare att installera kod på servern. Kommer att skapa ett program som testar lyhördheten hos databaser "on the fly". Kommer att skriva en applikation för versionskontroll. Slutligen, märk bara ett potentiellt utvecklingsproblem som kan dyka upp på servern.

En stark DevOps-specialist kan flera språk som är lämpliga för automatisering. Han förstår dem inte riktigt, men han kan snabbt skriva ett litet program eller läsa någon annans kod. Om du aldrig har stött på utveckling tidigare, börja med Python – den har en enkel syntax, det är lätt att arbeta med molnteknologier, och det finns mycket dokumentation och bibliotek.

Operativsystem

Det är omöjligt att känna till alla möjligheter för varje version av varje system - du kan spendera tusentals timmar på sådan utbildning och det skulle inte vara till någon nytta. Istället förstår en bra DevOps de allmänna principerna för att arbeta på vilket operativsystem som helst. Även om, att döma av omnämnanden i lediga tjänster, arbetar majoriteten nu i Linux.

En bra ingenjör förstår vilket system som är bäst att distribuera ett projekt i, vilka verktyg som ska användas och vilka potentiella fel som kan uppstå under implementering eller drift.

moln

Molnteknikmarknad växande i genomsnitt med 20-25 % per år - en sådan infrastruktur låter dig automatisera operationerna för att testa kod, montera applikationer från komponenter och leverera uppdateringar till användarna. En bra DevOps förstår både helt moln- och hybridlösningar.

Standardkraven för ingenjörer inkluderar vanligtvis GCP, AWS och Azure.

Detta inkluderar kunskaper i CI/CD-verktyg. Vanligtvis används Jenkins för kontinuerlig integration, men analoger är värda att prova. Det finns många av dem, till exempel Buddy, TeamCity och Gitlab CI. Det kommer att vara användbart att studera Terraform - det är ett deklarativt verktyg som hjälper dig att fjärrkonfigurera och konfigurera infrastruktur i molnen. OCH Packer, som behövs för att automatiskt skapa OS-bilder.

Orkestereringssystem och mikrotjänster

Mikrotjänstarkitektur har många fördelar - stabilitet, förmåga att skala snabbt, förenkling och återanvändning. DevOps förstår hur mikrotjänster fungerar och kan förutse potentiella problem.

Känner till Docker och Kubernetes grundligt. Förstår hur containrar fungerar, hur man bygger ett system så att man kan stänga av några av dem utan att det får konsekvenser för det övergripande systemet som helhet. Till exempel kan han bygga ett Kubernetes-kluster med Ansible

Vad mer ska framtida DevOps prova?

Listan över verktyg som kan vara användbara för en DevOps-ingenjör är oändlig. Vissa arbetar med projektorkestrering, andra tillbringar större delen av sin tid med att automatisera driftsättning och testning, och andra förbättrar effektiviteten i konfigurationshanteringen. I processen kommer det att bli tydligt var man ska gräva och vilka projekt som kommer att vara användbara.

Här är ytterligare ett litet minimum som hjälper till i början:

  • Förstå hur Git och Github fungerar om du inte redan har gjort det. Installera GitLab på din server.
  • Bekanta dig med märkningsspråken JSON och YAML.
  • Installera och prova att arbeta i databaser - inte bara MySQL, utan även NoSQL. Prova MongoDB.
  • Förstå hur du hanterar konfigurationen av flera servrar samtidigt. Till exempel genom att använda Ansible.
  • Ställ in belastningsövervakning och loggar direkt. Prova kombinationen Prometheus, Grafana, Alertmanager.
  • Leta efter de bästa lösningarna för distribution för olika språk - du behöver bara bekanta dig med, implementera och förstå dem i ett utbildnings- eller arbetsprojekt.

Varför du bör börja lära dig DevOps nu

Det råder brist på personal på marknaden för DevOps-ingenjörer. Detta bekräftas villkorligt av kvantiteten och kvaliteten på lediga tjänster:

  • I Ryssland, bara på HeadHunter, är mer än 2 tusen jobb ständigt tillgängliga för detta sökord.
  • Och bara 1 900 personer lade upp sina CV.

Med tanke på att att lägga upp ett CV inte innebär att aktivt söka efter ett jobb, visar det sig att det för en specialist finns två eller till och med tre lediga platser - denna situation existerar inte ens på den populära webbutvecklingsmarknaden. Lägg till fler lediga jobb från Habr- och Telegram-kanalerna här - bristen på specialister är enorm.

Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det
Var uppmärksam på de sökandes lönekrav

DevOps är inte mindre efterfrågat i världen - om du ska flytta till USA eller Europa, då bara på portalen Glasdörr Mer än 34 tusen företag letar efter sådana specialister. Frekventa krav inkluderar 1–3 års erfarenhet, förmåga att arbeta med moln och att inte vara rädd för konsultfunktioner.

Det finns många gånger färre erbjudanden för frilansande – DevOps-ingenjörer söker främst personal och heltidstjänster.

Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det
Att hitta ett lämpligt frilansprojekt är svårt, men det är möjligt

Den konventionella karriärvägen för en DevOps-ingenjör kan föreställas ungefär så här:

  • Han har arbetat som systemadministratör i ett litet IT-företag i ett halvår till ett år. Samtidigt studerar han ett språk som lämpar sig för automatisering.
  • Han studerar intensivt på kurser i cirka ett halvår.
  • Flyttar till ett annat jobb - till ett företag som säljer molnlösningar, en filial till ett stort företag, till utvecklare av stora projekt. Enkelt uttryckt där det finns ett behov av ständig automatisering och implementering. Vid den ursprungliga positionen är det cirka 100 tusen rubel.
  • Han har aktivt arbetat och studerat i flera år och ökat sin inkomst flera gånger.
  • Blir expert inom yrkesgemenskapen och går över till konsultverksamhet. Eller växer till en systemarkitekt eller IT-direktör.

DevOps är svårt. Du måste kombinera kompetensen från flera yrken samtidigt. Bli en person som är redo att erbjuda förbättringar där andra IT-specialister inte ens tänker på något annat. De betalar mycket för detta, men de kräver också en stor mängd kunskap.

Hur mycket tjänar DevOps?

Enligt uppgifterna för andra kvartalet 2019 är den genomsnittliga medianlönen för devops mellan 90 och 160 tusen rubel. Det finns billigare erbjudanden - mestadels 60-70 tusen.

Det finns ständigt erbjudanden på upp till 200 tusen, och det finns lediga platser med löner på upp till 330 tusen rubel.

Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det
Bland operativa proffs får DevOps högre betalt än andra. Källa: Habr.Karriär

DevOps-ingenjörer, inklusive nybörjare, krävs nu i stora banker, företag, molntjänster, handelssystem och andra organisationer som bryr sig om att underhålla sina IT-lösningar.

En utmärkt kandidat för en junior ledig tjänst med en lön på 60–90 tusen skulle vara en nybörjare systemadministratör med cirka ett års erfarenhet och ett specialiserat diplom.
 
Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det
Det finns ingen sådan statistik, men det verkar som att personer som har erfarenhet av Linux får mer betalt

Vad du ska se och läsa för att växa i ditt yrke

För att dyka in i världen av DevOps, prova flera informationskällor:

  • Cloud Native Computing Foundation [YouTube, ENG] – många videor från konferenser och utbildningswebinarier.
  • DevOps-kanal [YouTube, RUS] - videoreportage från den professionella DevOps-konferensen i Ryssland.
  • DevOps-handboken [bok, RUS] är en av de mest populära böckerna om DevOps-filosofi. Boken innehåller allmänna principer för metodiken, den talar om vad man ska vara uppmärksam på först och främst när man arbetar med ett projekt.
  • Thomas Limoncelli "Praktiken för system- och nätverksadministration" [bok, RUS] - mycket teori och principer om hur systemadministrationen ska vara uppbyggd.
  • Devops Weekly [bok, ENG] - en veckovis recension av nyheter om vad som händer i DevOps runt om i världen.
  • Devops_deflope [Telegram, RUS] - branschnyheter, konferensmeddelanden, länkar till nya intressanta artiklar och böcker.
  • Devops_sv [Telegram, RUS] - ryskspråkig chatt där du kan be om råd och be om hjälp med konfigurationer.
  • Devops.com är en stor internationell sajt med artiklar, webbseminarier, podcasts och spalter från de största företagen i branschen.
  • Hangops_Ru — Rysktalande gemenskap av DevOps-ingenjörer och sympatisörer.
  • De bästa böckerna för språket du kommer att använda för utveckling.

Var kan man studera DevOps

Du kan få strukturerad kunskap på kursen ”DevOps ingenjör" i Netology. Du kommer att lära dig hela cykeln av metodologi:

  • Lär dig hur du analyserar kod och snabbt använder versionskontrollverktyg.
  • Förstå bästa praxis för kontinuerlig integration, testning och byggnad.
  • Lär dig att hantera och automatisera applikationsändringar.
  • Kom igång med konfigurations- och hanteringsverktyg.
  • Vänj dig vid att omedelbart välja och konfigurera nödvändiga tjänster för övervakning.

Få en Python-programmeringskurs som bonus - du löser problem ännu snabbare och enklare. Allt är praktiskt – vi använder AWS, GCP eller Azure.
Detta räcker för att förvandla en nybörjaringenjör eller systemadministratör till en eftertraktad DevOps och trevligt höja din prislapp på arbetsmarknaden.

Vem är en DevOps-ingenjör, vad gör han, hur mycket tjänar han och hur man blir det

Källa: will.com

Lägg en kommentar