Det är hög efterfrågan på professionella DevOps, och det är lätt att förstå varför. De ansvarar för fortlöpande integration och deployment av kod, övervakning och hantering av servrar, nätverk och andra komponenter i företagets infrastruktur.
DevOps ser till att företagets programvara fungerar smidigt och effektivt. Så om ni vill anlita en professionell DevOps behöver ni en person som kan säkerställa att er programvara fungerar effektivt och kanske till och med kan hjälpa till att förbättra den.
DevOps eller Development Operations är en arbetsroll som har blivit allt vanligare under de senaste åren. Stora företag började visserligen använda datorer redan på 70-talet, men arbetsrollen DevOps dök upp först under 2000-talet. Företag anlitar DevOps-specialister för att hantera programvaruutveckling och processer för deployment.
Stor uppmärksamhet har riktats mot DevOps de senaste åren och idag är det en högt eftertraktad roll. I en tid där programvara driver världen inser företagen att de behöver en robust DevOps-kultur för att lyckas. När ni anlitar en DevOps engineer får ni en kombination av tech-know-how och affärsinsikt som kommer att göra ert företag betydligt mer flexibelt än konkurrenterna. Om ni vill hålla er konkurrenskraftiga i dagens affärsklimat bör er första prioritet vara att anlita en DevOps engineer.
Idag är det avgörande för företag att hålla sig konkurrenskraftiga och detta är en stor del av anledningen till att rollen DevOps har blivit så populär. Anta att ett företag behöver implementera specifika applikationer i sina system snabbare än vanligt på grund av efterfrågan. I detta fall riskerar företaget att förlora kunder, och det är lätt att hamna på efterkälken när andra företag är snabbare på att implementera. En DevOps engineer ser till att kundernas behov uppfylls genom att hålla jämna steg med den snabba takten i programvaruutveckling, och därmed hamnar ert företag aldrig på efterkälken, istället kommer ni ligga i framkanten.
Allteftersom utvecklingen av applikationer och system växer, anammar företagen DevOps-tekniker i allt större utsträckning för att hålla sig i framkanten. Men vad betyder detta för en DevOps engineer? Blomstrar verkligen arbetsmarknaden för DevOps engineers? Eller är det snarare en hype? Vad ska ni söka efter hos en DevOps-kandidat? Vilken kompetens ska kandidaten ha? Detta är några av frågorna vi kommer att ta upp i den här artikeln.
Vi kommer också att visa er hur ni genomför en genomgripande intervju så att ni kan anlita den bästa kandidaten till teamet. Men låt oss förklara mer i detalj vad den här rollen omfattar innan vi går in på detta.
Vad är DevOps?
Begreppet ”DevOps” har funnits i flera år men det är fortfarande många som inte vet vad det betyder. Många förknippar DevOps med en viss position, till exempel en DevOps engineer. Men DevOps är egentligen en strategi för hantering av informationsteknik (IT) som involverar samarbete mellan företaget och och IT-specialister som hjälper till att hantera tekniken som företaget använder.
DevOps engineer är en roll som dyker upp allt oftare i jobbannonser. Låt oss anta att du inte känner till begreppet. I sådana fall är en DevOps engineer eller developer-turned-DevOps engineer någon som förstår både programvaruutveckling och IT-drift. Med andra ord är det en person som vet hur man skriver kod och deployar den, som kan skriva enhetstester, underhålla produktionssystem, hantera mycket kritiska och stressiga situationer samt lösa problem.
Behöver du en utvecklare eller en DevOps engineer? Vad är skillnaden?
Du behöver egentligen båda.
Programvaruutvecklare skapar applikationerna som körs på servrar, medan DevOps engineers sköter dessa servrar. De två arbetsrollerna är beroende av varandra men också väldigt olika. Utvecklaren jobbar med kod och skapar programvara – en DevOps engineer arbetar med servrar, konfigurationsverktyg och annan infrastruktur.
Någon gång under rekryteringsprocessen vill ni veta exakt hur en DevOps engineer kan bidra till ert företag. Och det innebär bland annat att undersöka hur den här rollen skiljer sig från traditionella utvecklare och vad en DevOps engineer gör.
Nu kommer vi att behandla de olika positionerna inom rollen DevOps, så att ni kan förstå vad de omfattar och hur de skiljer sig från andra roller, för att hjälpa er att hitta den position som passar bäst för ert företag.
Arbetsmarknaden för DevOps engineers
DevOps engineers är mycket efterfrågade eftersom de kan transformera företag med hjälp av sin expertis. Rollen DevOps engineer har blivit en nyckelposition inom IT-branschen och efterfrågan fortsätter att växa. Enligt gminsights uppgick marknadsstorleken för DevOps till mer än 7 miljarder USD 2021, och denna marknad kommer att öka med mer än 20 % till 2028. Och antalet DevOps-jobb förväntas växa mer än 20 % årligen mellan 2020 och 2026.
Många företag inser snabbt hur stor påverkan en DevOps kan ha. Oavsett om det gäller arbete med utvecklare eller verksamhetsteam behöver företagen någon som kan överbrygga klyftan mellan de två världarna och se till att allt fungerar smidigt.
Det råder stor konkurrens på arbetsmarknaden för DevOps engineers, och den kommer att bli ännu mer konkurrensbetonad i framtiden. Teamet är den dyraste delen av ert företag. Om budgeten begränsar er kan det vara frestande att anlita en billigare DevOps engineer. Men kom ihåg att det kan kosta mer om ni anlitar fel person. Det tar tid att utbilda nya medarbetare och det tar ännu längre tid att försöka omskola en person som inte har teknisk kunskap till DevOps engineer. Därför är det viktigt att anlita rätt person för jobbet från första början.
Det finns många olika företag som anlitar DevOps engineers, däribland:
- Programvaruföretag
- SaaS-leverantörer
- Ledningsrådgivare
- Leverantörer av molnlagring
Företag som använder DevOps
DevOps används idag av många företag i techbranschen. Här följer en lista med ett par av dem:
- Amazon
- HP
- Netflix
- Walmart
- Etsy
- Target
- Meta
- Adobe
- Sony Pictures Entertainment
Svaret är enkelt: De behöver förenkla det för sig.
Vanligtvis ansvarar DevOps engineers för att automatisera processer som sköts manuellt av människor. De planerar metoder för att automatisera återkommande uppgifter och tar hand om dem på backend så att medarbetarna inte behöver arbeta med dem. Detta ger utvecklarna tid att fokusera på sitt primära jobb – att skapa nya funktioner och förbättra existerande funktioner, istället för att ägna tid åt tidskrävande manuella arbeten som att konfigurera servrar eller se till att säkerhetskopior fungerar korrekt.
Credit: OnGraph.com: Därför är det värt att investera i DevOps
Om ni funderar på att anlita en DevOps engineer kör ni antagligen redan en webbtjänst eller webbapplikation. Ni vill öka frekvensen för deployment av nya funktioner och samtidigt se till att det inte orsakar alltför långa driftstopp. Ni vill göra det enkelt för utvecklare att deploya kod snabbt, och för systemadministratörer att återställa snabbt i händelse att något går fel vid en uppdatering. Det är här DevOps engineers kommer in i bilden. De blir länken mellan båda avdelningar och främjar en förtroendekultur mellan teammedlemmarna, samtidigt som deras arbete koordineras så att värdefull tid och pengar inte går till spillo när man försöker avvärja problem i förväg eller åtgärda dem i efterhand.
Vi pratade med DevOps-experten Anmol Nagpal om vikten av att anlita DevOps till ditt företag.
”DevOps spelar en viktig roll. Det är nämligen de som sköter molnet och infrastrukturen. Utan en stabil och skalbar infrastruktur kan företaget inte växa och köra stabila applikationer. Du kan ha perfekt kod, men om arkitekturen inte är tillräckligt bra kommer applikationen inte att vara stabil, vilket kan leda till driftstopp som i sin tur leder till förlorade pengar och affärer.”
Anmol Nagpal
Det finns många bra kandidater till DevOps, men som anställningschef är det bra att veta hur du skiljer en högkompetent kandidat från en bra kandidat. Anmol säger att det är viktigt att kandidaten reflekterar följande punkter:
-
En vilja att göra jobbet på bästa möjliga sätt
-
Ständigt uppdatera till de senaste verktygen i DevOps
-
Följa bästa säkerhetspraxis för allt personen bygger eller designar
-
Vara en lagspelare. En DevOps arbetar med olika teammedlemmar och måste kunna ge dem support
-
Vara redo för nya utmaningar
-
Klara att arbeta självständigt utan handledning
Vanliga positioner för DevOps
En vanlig position inom det här området är systems engineer som betyder att man designar och bygget programvarusystem (t.ex. databaser). System engineers arbetar intensivt med utvecklare och annan teknisk personal för att se till att de har allt de behöver för att göra ett smidigt och effektivt jobb.
Infrastructure engineer är en annan befattning som ofta förknippas med DevOps. Personer med den här rollen designar och sköter nätverk och lagringssystem åt företag så att det kan hantera stora mängder data på en gång. De bygger, underhåller och koordinerar deployment av IT-infrastrukturen med den teknik som finns tillgänglig.
Andra vanliga roller inom detta område:
- Site Reliability engineer (SRE)
De huvudsakliga uppgifterna i den här rollen omfattar testning och utvärdering av produkter när de tillverkas. I den här rollen förväntas man också analysera data, hantera risker för tillgångar och arbeta hårt för att minska dessa risker.
En configuration manager ansvarar för att koordinera och styra konfigurationer för alla produkter. I den här rollen övervakar man vanligtvis livscykeln för produktion av programvara eller maskinvara, t.ex. utveckling av en ny applikation eller server.
En DevOps engineer är en IT-generalist som har omfattande erfarenhet av utveckling och procedurer. Detta omfattar vanligtvis programmering, hantering av infrastruktur, systemadministration och DevOps-verktygskedjor.
En cloud engineer är en IT-specialist som bygger och underhåller molninfrastruktur. Personer i den här rollen ansvarar för alla tekniska uppgifter relaterade till molnbaserad databehandling, däribland design, planering, hantering, underhåll och support.
En solution architect designar den tekniska planen för en viss lösning till ett affärsproblem. De överbryggar klyftan mellan ett affärsproblem och den tekniska lösningen genom att definiera alla faser och krav för implementering av lösningen.
En release engineer jobbar med utvecklingen och bearbetningen av programvaruprodukter. En Release Engineering Manager övervakar programvaruversioner och releaser, och ansvarar huvudsakligen för att planera och kontrollera processen för programvarans utveckling och leverans.
DevSecOps integrerar säkerhet för applikationen och infrastrukturen med hjälp av verktyg för agile- och DevOps-processer.
Vilka ansvarsområden har en DevOps engineer?
Låt oss göra det enkelt och hålla oss till en roll – DevOps engineer.
DevOps engineers arbetar med andra IT-specialister såsom utvecklare, testare och quality assurance engineers. De hjälper teamet med att implementera nödvändiga funktioner med hjälp av olika verktyg såsom Puppet, Chef eller Ansible för att automatisera ofta återkommande uppgifter.
Detta är de huvudsakliga ansvarsområdena:
-
Implementera olika typer av utveckling, testning, automatiseringsverktyg och IT-infrastruktur.
-
Bygga nya funktioner i applikationer.
-
Definiera och upprätta processer för utveckling, testning, release, uppdatering och support för DevOps-metodiken.
-
Felsökning och fixa buggar.
-
Övervaka korrekt genomförande av processer under hela livscykeln och uppdatera eller skapa nya strategier som leder till förbättring och minimering av svinn.
-
Bygga automatiserade processer där det är möjligt.
-
Identifiera och deploya åtgärder för cybersäkerhet.
-
Incidenthantering och grundorsaksanalys.
-
Frekvent kommunikation med teammedlemmar och kunder.
-
Välja lämpliga CI/CD-verktyg och deploya dem.
-
Periodisk rapportering.
Så här anlitar du lämpliga DevOps-kandidater
DevOps är ett hett tema just nu – att veta hur ni anlitar rätt person kan vara er nyckel till framgång.
Personen ni letar efter ska ha meriter från att bygga och leverera produkter från början till slut, inte bara någon som är bra på hantering av infrastruktur.
Det kan krävas en hel del ansträngning att finna någon med rätt erfarenhet och personlighet för ert team. Men om ni förbereder er i förväg kan ni briljera bland alla företag som tävlar om just den här personens uppmärksamhet, öka era chanser att intressera personen och i slutändan få med honom eller henne på ert lag.
Tänk på de här sakerna när ni anlitar en ny DevOps:
- Vilka behov har ert företag?
Behöver ni någon som kan hantera servrar, eller någon som kan programvaruutveckling? Kan ni dra nytta av några särskilda kompetenser?
- Vilken bakgrund har kandidaten?
Har personen tidigare erfarenhet? Vilken utbildning har personen? Har arbetet i andra företag varit framgångsrikt? Visar kandidatens CV att samarbetet med medarbetarna har fungerat bra? De här frågorna kommer att hjälpa er att bedöma om kandidaten har vad som krävs för att lyckas i ert företag.
- Hur fungerar den här personen med andra människor?
Viss människor är naturligt utgående och har lätt att få nya vänner, medan andra föredrar att hålla sig för sig själva. Ni vill finna en person som passar in bra med resten av teamet.
- Se bortom vad personens CV säger.
Är personen kompetent i DevOps? Det är mycket viktigt att se till att personen förstår vad DevOps betyder och vilket samband den rollen har med ert företag. Om personen inte förstår dessa koncept eller saknar erfarenhet av dem är han eller hon sannolikt inte en bra matchning för den här rollen eller någon annan roll i ert företag.
- Är personen bra på att lösa problem?
Detta betyder att kandidaten måste kunna kommunicera effektivt med sina medarbetare och ställa frågor för att få information om olika koncept, processer, verktyg osv. som personen stöter på under arbetet.
- Kan personen kommunicera effektivt?
Personen måste kunna ge en detaljerad förklaring av sitt arbete på ett sätt som andra kan förstå. Detta kan innebära att ge presentationer eller skriva dokumentation grundad på vad personen har lärt sig under sitt arbete med olika åtaganden som är relaterade till arbetsbeskrivningen. Det kan också innebära att kunna svara på frågor från kunder som vill ha mer information om hur något fungerar (eller varför det inte fungerar).
Vilken utbildning och erfarenhet ska ni söka efter hos en DevOps engineer?
DevOps Engineers har vanligtvis en högre utbildning i computer science eller ett liknande fält, plus branscherfarenhet. För att arbeta med DevOps måste personen ha avslutat en kandidatexamen i computer science eller en liknande examen med fokus på programvaruutveckling.
Ni bör söka efter DevOps engineers med erfarenhet av olika språk och ramverk. Det är avgörande att ha en bred kunskapsbas. Men en person som är särskilt kompetent i ett programmeringsspråk kan fortfarande gagna ert företag, förutsatt att personen är expert på språket. Den ökade efterfrågan av DevOps (kombinationen av utveckling och IT-drift) och den utmärkta statistiken har öppnat upp arbetstillfällen för ett brett spektrum av olika roller – dock definieras rollen DevOps ofta av det ni försöker åstadkomma.
Det handlar alltid om företagets behov vid en viss tidpunkt. Om ni just har kommit igång är det bäst att anlita en person som kan kodning och har operativ erfarenhet. Många företag vill anlita någon som kan göra mer funktionellt arbete, såsom att implementera verktyg för övervakning eller automatisering, innan de anlitar en software engineer på heltid. På så sätt kan ni utöka teamet samtidigt som ni inledningsvis spenderar mindre pengar på att anlita utvecklare.
Erfarenhet av språk och ramverk
Nu vet ni redan att DevOps engineers är en software engineer av hybridtyp som måste ha en gedigen förståelse av principerna för software engineering plus drift och infrastruktur för webbapplikationer. Nedan beskrivs vilken erfarenhet kandidaten måste ha.
Det är mycket viktigt att söka efter en DevOps engineer som har erfarenhet av Java, och helst Apache Tomcat. Och på plats nummer två kommer SQL och MySQL, men ni måste också fokusera på kompetens i DevOps-verktyg som Puppet, Chef och Ansible.
Nedan anger Anmol ytterligare viktiga kompetenser som DevOps-proffs bör ha, plus de förknippade värdefulla egenskaperna som dessa kompetenser ger.
- Felsökning och analytisk kompetens – detta hjälper personen att förstå problemet.
- Dokumentation – detta är en kompetens som inte är given och det är mycket viktigt att ha rätt dokumentation så att ingen kunskap går förlorad.
- Prioritetsförmåga – DevOps engineers arbetar med hundratals uppgifter och därför är det viktigt att kunna sätta rätt prioritet på uppgifterna.
- Proaktiv – detta är en avgörande egenskap hos en DevOps engineer som krävs för att aktivt övervaka infrastrukturen/applikationen och se till att företaget följer bästa praxis. Den här egenskapen hjälper en DevOps att bekräfta eventuella iakttagelser och åtgärda dem grundat på prioritet.
- Genom att förstå verksamheten eller produkten kan personen designa och leverera rätt infrastruktur.
Möjligheterna för karriärtillväxt ökar allteftersom området DevOps expanderar. En bra DevOps engineer är en duktig mångsysslare som klarar att hantera alla faser i livscykeln för programvaruutveckling. De måste kunna lösa problem snabbt, kommunicera lösningarna till teamet och ha omfattande teknisk kunskap.
Att tänka på när du intervjuar DevOps engineers
En effektiv intervju är en avgörande del i att anlita rätt person för ert team, men det är inte alltid så lätt att identifiera den perfekta kandidaten för en position som kräver en så bred kompetens. Det första viktiga steget i processen består i att förstå vilka soft-skills ni ska söka efter hos era blivande DevOps engineers.
Viktiga soft-skills
Soft-skills är precis lika viktiga som teknisk kompetens för en DevOps engineer. Kommunikation, problemlösning och förmåga att bygga relationer räknas vanligen som soft-skills. Dessa förmågor är avgörande för att vägleda teamet att koordinera och samarbeta på ett effektivt sätt, bygga gemenskap och förtroende, samt lösa problem. Nedan följer en uppdelning av soft-skills som DevOps engineers bör ha:
-
Ni behöver en person som vet hur man kommunicerar. För att kommunicera effektivt måste en DevOps engineer kunna lyssna effektivt, yttra sig tydligt och koncist och beskriva sina idéer noggrant. Den här personen kan axla mycket ansvar på egen hand och måste därför tydligt kunna förklara resonemanget bakom alla sina beslut. Detta görs på bästa sätt genom att ställa genomtänkta frågor och lyssna noggrant till svaren som ges. Det är också mycket viktigt att kandidaten kan peka ut andra människors misstag utan att uppfattas som oförskämd eller nedlåtande.
-
Personen måste ha ett öga för detaljer och vara villig att ta det extra steget i sitt arbete.
-
Det är också viktigt att en DevOps aldrig tvekar om vad som måste göras och när det måste göras. Den här personen ansvarar för att skapa processer som möjliggör kommunikationen mellan era team, och måste därför kunna skilja på viktig information och information som kan vänta lite längre.
-
Förmågan att lösa problem är en annan viktig aspekt av jobbet. Om ett problem uppstår i IT-infrastrukturen kommer det troligtvis att påverka hela företaget. En DevOps engineer utvecklar metoder som förhindrar att dessa problem uppstår igen i framtiden.
-
En trevlig och respektfull attityd gentemot andra kommer att bidra avsevärt till att jobbet går smidigt och att teamen fungerar bra tillsammans.
Viktig teknisk kompetens
Kompetensen som krävs för DevOps-miljön skiljer sig från den hos en traditionell IT-anställd. DevOps-teamen består ofta av människor från många olika bakgrunder och med olika kompetenser. Därför är det viktigt att teammedlemmarna kan arbeta tillsammans och att de har följande kompetenser:
-
Erfarenhet av flera operativsystem – kunskap i Linux är särskilt eftertraktat.
-
Skriptspråk såsom bash, PERL, Python och Ruby (med användning av ”gem” och andra pakethanterare).
-
Erfarenhet av programmeringsspråk som Ruby, Python eller Java.
-
Kännedom av versionshanteringssystem som Git.
-
Att förstå administration av Linux-system är avgörande för korrekt deployment av nya applikationer.
-
Moderna ramverk för webbapplikationer och designmönster.
-
Grundläggande nätverkskunskap.
Följande punkter anges av Anmol som viktig teknisk kompetens hos DevOps:
“Det är viktigt att kandidaten är kompetent i molnteknik (det kan vara Azure/AWS/GCP) – och det är bättre att ha kunskap i mer än ett system, men om personen är riktigt bra på ett av dem kan det också accepteras.”
Anmol Nagpal
-
IAC (Terraform/Cloudformation/Pulumi/CDK)
-
Docker
-
Kubernetes
-
CI/CD (Jenkins/GitHub Actions/GitLab/Azure DevOps)
-
Säkerhet – en DevOps måste kunna säkra allt som utvecklas
Intervjufrågor och förväntade svar
Här följer en lista med intervjufrågor och förväntade svar. Listan har tagits fram för att hjälpa både CTO:er och DevOps engineers att förbereda sig inför intervjun.
För nybörjare:
- Vad är skillnaderna mellan DevOps och Agile?
Förväntat svar: De viktigaste skillnaderna är följande:
- DevOps sammanknyter alla team som är involverade i utveckling och underhåll av programvaran. Och Agile tilldelar vanligtvis specifika uppgifter till olika team.
- DevOps sätter stort fokus på konsekvens, stabilitet och automatisering. Agile lägger större vikt på anpassningsbarhet och iterativ utveckling.
- I DevOps beaktas hela arbetsflödet för programvaran, från ide till leverans av den färdiga produkten och underhåll. Medan Agile oftast upphör när koden är klar.
- Varför gör man kontinuerlig testning?
Förväntat svar: Kontinuerlig testning betyder att programvaran testas frekvent beträffande buggar i alla utvecklingsskeden. Under den här processen ger intressenterna fortlöpande feedback så att utvecklarna kan utvärdera programvarans kvalitet under processen.
- Varför görs testautomatisering?
Förväntat svar: Testautomatisering betyder att skript granskas och valideras automatiskt för att säkerställa verifiering av programmet som används. Här finns inget behov av mänskliga inblandning.
- Vad betyder branching?
Förväntat svar: Branching är en teknik som utvecklare använder i versionshanteringssystem där källkod kopieras för att skapa två versioner som deployas separat. Dessa ”förgreningar” (branches) kan sedan utvecklas oberoende utan att påverka kodbasen, vilket främjar samarbetet mellan utvecklare som jobbar på samma projekt.
- Vad vet du om Jenkins?
Förväntat svar: Jenkins är det mest populära (CI/CD) verktyget som finns på marknaden för integration och fortlöpande leverans. Många DevOps-team (antagligen alla) använder Jenkins för att automatisera delar av programvaruutvecklingen som är relaterad till versionshantering, testning och deployment av applikationer.
- Vilka är fördelarna med versionskontroll?
Förväntat svar: System för versionskontroll ger effektivare kodning. Det här uppnås med följande metoder:
- Spårbarhet: Den här metoden spårar förändringar i koden från alla utvecklare, vilket ger en tydlig historik som bidrar till att förbättra programvarans funktion.
- Branching: Med den här metoden jobbar utvecklarna oberoende på koden utan att påverka arbetet som har gjorts av samarbetspartner.
- Error reduction: Med den här metoden kan man spåra den underliggande orsaken till fel i programvaran och upptäcka dubbletter i koden.
Medellång erfarenhet och expert
- Vilka är utmaningarna med att skapa DevOps-pipelines?
Förväntat svar:
Funktionsflaggor är ett vanligt sätt att hantera produktreleaser i CI-miljöer.
Om en databasmigrering misslyckas när den körs som ett schemalagt jobb kan det leda till att systemet blir oanvändbart.
- Hur kommunicerar containrar i Kubernetes?
Förväntat svar: En pod används för mappning mellan containrarna i Kubernetes och den kan ofta innehålla flera containrar. Pods har en platt nätverkshierarki inuti ett överläggsnätverk och de kommunicerar med varandra på ett platt sätt, vilket i teorin betyder att varje pod inuti överläggsnätverket kan kommunicera med de andra podsen.
- Hur begränsar man kommunikationen mellan Kubernetes pods?
Förväntat svar: Om den plugin du använder för CNI-nätverket stöder Kubernetes nätverkspolicy-API, kan du i Kubernetes ange nätverkspolicyer som begränsar nätverksåtkomst.
Policyer kan begränsas baserat på IP-adresser, portar och/eller väljare.
- Vilka är de två huvudtyperna för branching-strategier?
Förväntat svar:
Release branching, som skapar en gren (branch) för en potentiell ny release.
Feature branching, som skapar en gren (branch) för specifika funktioner eller uppgifter.
- Hur bygger man ett hybridmoln?
Anmol svarar:
“När man bygger ett hybridmoln måste man först fastställa vilken typ av data som körs i Datacenter och hur kritiska de är. Låt oss anta att vi vill ansluta dem med AWS. I detta fall har vi två alternativ, vi kan köra med site2site VPN som är billigare och enklare att konfigurera. Det andra alternativet är Direct connect som är stabilare men dyrare och mer tidskrävande.”
Anmol Nagpal
- Vilka är de viktigaste skillnaderna mellan tillgångshantering och konfigurationshantering?
Förväntat svar: Konfigurationshantering avser hantering av tillgångar såsom enheter inom en pipeline för programvaruutveckling. Detta omfattar kvalitetssäkring av noggrannheten och tillförlitligheten i olika konfigurationsobjekt, och deras ömsesidiga relationer.
För att se till att alla kandidater är kvalificerade behöver ni ställa frågor om hur de skulle hantera situationer där de måste kommunicera med personer från andra avdelningar. Ni kan också fråga dem vad de tycker bäst om med arbetet som DevOps engineer eller vilka utmaningar de ofta stöter på i det här jobbet. Frågor som dessa kommer att hjälpa er att förstå hur kandidaten fungerar i ett team – något som är mycket viktigt för en DevOps engineer.
Förutom att kontrollera kandidaternas tekniska kompetens och soft-skills säger Anmol att det finns ett par frågor som han vill ställa till utvecklare som han överväger att anlita till teamet.
“Jag skulle fråga dem vad de tycker bäst eller sämst om med att jobba som DevOps. Jag skulle också fråga om de gillar att arbeta sent på natten och vara tillgängliga på helgerna. Sedan skulle jag intressera mig för vad de gjorde på fritiden. Till exempel om de läser bloggar eller gör POC:er på sin fritid.”
Anmol Nagpal
Han föreslår också att man ställer följande frågor:
-
Vad var det bästa du gjorde i ditt förra åtagande?
-
Vilket är det största misstaget du har gjort under din karriär som DevOps?
-
Hur ivrig är du att lära dig nya verktyg och tekniker?
Utmaningar ni kan stöta på när ni anlitar en DevOps engineer
Att anlita en DevOps engineer till ditt företag är ett stort beslut. Det går det inte att bortse från den effektivitet som DevOps-processen ger. Det är en beprövad och verkningsfull metod för att hantera utveckling och deployment av programvara. Men det är en mycket mer komplex uppgift att anlita personer till den här rollen, jämfört med att anlita programvaruutvecklare eller systemadministratörer.
Hur vet ni om ert team är redo för den här positionen? Vad kan ni göra för att se till att ni finner rätt person för jobbet? Här följer ett par punkter ni bör tänka på när ni anlitar en DevOps engineer, plus tips som hjälper er att förbereda och anpassa teamen för att arbeta med en en DevOps engineer.
-
Den första utmaningen är den tid det tar att finna och utvärdera kandidater. Det kan ta veckor och till och med månader att finna någon som har kompetenserna, erfarenheten och personligheten ni letar efter.
-
Något annat som kan vara svårt är att hantera förväntningarna – både företagets och kandidatens. Ni vill se till att företagets behov uppfylls, men samtidigt vill ni inte slösa värdefull tid på kandidater som ändå inte kommer att fungera.
-
Ni behöver finna rätt person. Många företag har inte de resurser som krävs för att genomföra en grundlig sökning efter kandidater eller erbjuda konkurrenskraftiga löner för DevOps engineers. Detta leder till att det tar längre tid än förväntat att finna rätt person för jobbet – eller ännu värre, ni kan anlita någon som inte uppfyller era behov.
-
Ni måste också se till att ni anlitar någon som fungerar bra med de personer som redan finns i teamet. Den nyanställda personen ska integreras smidigt i teamet och det ska inte vara en person som skapar problem för andra medarbetare.
-
Det kan vara komplicerat att bestämma vilken lön den nya personen ska få. Om ni använder rekryterare eller headhunters så har de ofta egna åsikter om vad en DevOps engineer ska kosta, och de kan försöka övertyga er om att kandidaten är värd mycket mer än vad som är rimligt.
-
Om ni anlitar en DevOps engineer från ett annat företag är det viktigt att se till att personens kompetens överensstämmer med era behov. Vissa företag har utvecklat sina egna verktyg som de använder för många olika ändamål.
-
Den sista utmaningen kommer efter att ni har anlitat och integrerat personen. Utmaningen består i att upprätthålla personens motivation och produktivitet. Detta kan vara svårt eftersom det innebär hantering av flera avdelningar inom företaget, och att personer från olika bakgrunder och med olika kompetensnivåer jobbar tillsammans.
Processen för att anlita en DevOps engineer kan vara komplicerad, men ni måste komma ihåg att det är nödvändigt om ni vill vara framgångsrika i er bransch. Rätt person kan hjälpa ert företag att växa och öka intäkterna, samtidigt som ni sparar pengar på lång sikt genom att verksamheten fungerar smidigt och utan problem.
Sammanfattning
DevOps engineers är eftertraktade personer som har bred och diversifierad kunskap inom områdena programmering, utveckling och infrastruktur. DevOps hjälper teamen att samordna arbetet, effektivisera arbetsflödet och säkerställa produktkvaliteten. De övriga arbetsuppgifterna varierar efter teamets behov. Det kan vara svårt att finna lämpliga DevOps att anlita, men det är absolut värt det eftersom deras expertis lägger grunden för utveckling av ny teknik som gör att ert företag kan ligga i framkanten.
Arbetsmarknaden för DevOps blir mer och mer konkurrensbetonad för varje dag som går. Och med tanke på att det tekniska landskapet ständigt förändras, är det svårt att förutsäga vilken kompetens som kommer att bli morgondagens mest eftertraktade. Om ni inte vill hamna på efterkälken är det bäst att sätta igång tidigt med att anlita en DevOps engineer för ert team.
Anlita en DevOps-specialist idag och se hur era projekt går från bra till fantastiska!