DevOps-fagpersoner er etterspurt, og det er lett å skjønne hvorfor. De er ansvarlige for kontinuerlig integrasjon og levering av kode og for å overvåke og administrere servere, nettverk og andre infrastrukturkomponenter i et firmanettverk.
DevOps handler om å sikre at firmaets programvare kjører jevnt og effektivt. Dette betyr at hvis du ønsker å ansette en DevOps-fagperson, vil du ha noen som kan sørge for jevn drift av programvaren din – og kanskje til og med hjelpe med å forbedre den.
DevOps, eller Development Operations, er en jobbfunksjon som har blitt mer utbredt de siste årene. Selv om den absolutt fantes på 70-tallet da datamaskiner begynte å bli vanlig i store bedrifter, ble DevOps som en funksjon stadig vanligere på 2000-tallet. Bedrifter ansetter DevOps-spesialister for å håndtere programvareutviklings- og distribusjonsprosesser.
Når man tenker på oppmerksomheten rundt DevOps de siste årene, er det lett å se hvorfor denne rollen nå er så ettertraktet. I en tid hvor programvare tar over verden, innser selskaper at de trenger en sterk DevOps-kultur for å lykkes. Kombinasjonen av teknisk kunnskap og forretningsbevissthet som følger med å ha en DevOps-ingeniør ansatt, gjør bedriften din mye mer fleksibel enn konkurrentene. Det å ansette en DevOps-ingeniør bør være første prioritet hvis du ønsker å forbli konkurransedyktig i dagens forretningsklima.
En stor del av grunnen til at DevOps har blitt så populært er på grunn av hvor viktig det er for selskaper å holde seg konkurransedyktige. Anta at et selskap trenger å implementere spesifikke applikasjoner i systemene sine raskere på grunn av etterspørsel. I så fall kan de risikere å miste kunder – eller i det minste oppleve større problemer enn konkurrenter som kan få ut ting raskere. DevOps-teknikeren er der for å sikre at dette ikke skjer ved å sørge for at kundenes behov dekkes ved å følge godt med i programvarens raske utvikling.
Med veksten av applikasjons- og systemutvikling, tar bedrifter i økende grad i bruk DevOps-teknikker for å holde tritt med tempoet i dette stadig skiftende området. Men hva innebærer det for DevOps-teknikeren? Blomstrer arbeidsmarkedet for DevOps-teknikere? Eller er det mer en hype enn virkeligheten? Hva bør du se etter hos en DevOps-kandidat? Hvilke ferdigheter må de ha? Dette er noen av spørsmålene vi skal se på i denne artikkelen.
Vi viser deg også hvordan du gjennomfører en grundig intervjuprosess slik at du kan ansette den best mulige kandidaten til teamet ditt. Men før vi kommer inn på det, la oss forstå mer om denne rollen.
Dette er DevOps
Begrepet «DevOps» har eksistert i flere år, men er fortsatt forvirrende for mange. Mange forbinder DevOps med en bestemt stilling – for eksempel en DevOps-tekniker. Sannheten er at DevOps er en tilnærming til administrasjon av informasjonsteknologi (IT) som involverer samarbeid mellom virksomheten og IT-fagfolk som hjelper til med å administrere teknologien som driver den.
DevOps-tekniker er en rolle som har dukket opp stadig oftere i stillingsannonser. Anta at du ikke er kjent med begrepet. I så fall er DevOps-ingeniøren eller utvikleren som har blitt DevOps-tekniker en som forstår både programvareutvikling og IT-drift. Med andre ord noen som vet hvordan man skriver kode og hvordan man distribuerer den, som kan skrive enhetstester og vedlikeholde produksjonssystemer, og som kan leke med ild (billedlig) og også hjelpe til med brannslukking (en veldig bokstavelig beskrivelse av jobben).
Trenger du en utvikler eller en DevOps-tekniker? Hva er forskjellen?
Du trenger sannsynligvis begge deler.
Programvareutviklere lager applikasjonene som kjører på servere, mens DevOps-teknikere administrerer disse serverne. De to rollene er avhengige av hverandre, men de er også veldig forskjellige. Utvikleren jobber med kode og lager programvare – DevOps-teknikeren jobber med servere, verktøy for konfigurasjonsadministrasjon og annen infrastruktur.
På et tidspunkt under ansettelsesprosessen ønsker man å forstå nøyaktig hva en DevOps-tekniker bidrar med – og det betyr å se på hvordan denne rollen skiller seg fra dine tradisjonelle utviklere og hvorfor noen ønsker å ta på seg rollen i første omgang.
Som vi skal dekke nedenfor, er det en rekke stillinger i DevOps-verdenen. Så det å forstå ikke bare hva disse jobbene innebærer, men hvordan de skiller seg fra andre roller, hjelper deg med å finne ut hvilken stilling som kan fungere best for din bedrift.
Arbeidsmarkedet for DevOps-teknikere
DevOps-teknikere er etterspurt fordi de kan bruke ekspertisen sin til å omforme virksomheter. DevOps-teknikerrollen har blitt en nøkkelposisjon i IT-bransjen og fortsetter å vokse raskt. I følge gminsights oversteg størrelsen på DevOps-markedet 7 milliarder dollar i 2021, og DevOps-markedsgevinstene kommer til å øke med mer enn 20 % innen 2028. Og antallet DevOps-jobber forventes fortsatt å vokse med mer enn 20 % årlig mellom 2020 og 2026.
Mange bedrifter innser raskt hvor stor innvirkning de kan ha. Enten det er å jobbe med utviklere eller driftsteam, trenger bedrifter noen som kan bygge bro mellom deres to verdener og sørge for at alt går knirkefritt.
Mens arbeidsmarkedet for DevOps-teknikere er konkurransedyktig nå, kommer det til å bli enda mer konkurranseutsatt i fremtiden. Den dyreste delen av bedriften din er teamet. Hvis budsjettet begrenser deg, kan det være fristende å ansette en rimeligere DevOps-tekniker. Men når alt kommer til alt kan det å rekruttere feil person koste bedriften din dyrt. Det tar tid å lære opp nye mennesker, og det tar enda lengre tid når du prøver å omskolere en ikke-teknisk person til en DevOps-tekniker. Derfor er det viktig å ansette den rette personen til jobben i utgangspunktet.
Det er mange forskjellige typer selskaper som ansetter DevOps-teknikere, inkludert
- Programvareselskaper
- SaaS-leverandører
- Firmaer innen ledelsesrådgivning
- Leverandører av skylagring
Selskaper som bruker DevOps
DevOps brukes av mange selskaper i teknologibransjen i dag. Her er en liste over noen av disse:
- Amazon
- HP
- Netflix
- Walmart
- Etsy
- Target
- Meta
- Adobe
- Sony Pictures Entertainment
Svaret er enkelt: fordi de gjør ting enklere.
DevOps-teknikere er vanligvis ansvarlige for å automatisere prosesser som for tiden gjøres manuelt av mennesker. De finner ut måter å automatisere repeterende oppgaver på, og ta vare på dem på backend, slik at ansatte ikke trenger å bekymre seg for dem lenger. Dette gir utviklere frihet til å fokusere på den primære jobben sin – å lage nye funksjoner og forbedre eksisterende – i stedet for å bruke tid på arbeid som å sette opp servere eller sikre at sikkerhetskopier fungerer som de skal.
Credit: OnGraph.com: Hvorfor det er verdt å investere i DevOps
Hvis du ønsker å ansette en DevOps-tekniker, driver du sannsynligvis allerede en nettjeneste eller applikasjon distribuert på nettet. Du ønsker å øke hyppigheten av å sende ut nye funksjoner samtidig som du sikrer at det ikke fører til for mye nedetid. Du ønsker å gjøre det enkelt for enhver utvikler å raskt distribuere kode, og raskt for enhver systemadministrator å rulle tilbake dersom noe skulle gå galt med en oppdatering. Det er her DevOps-teknikere kommer inn: de blir gående og hjelpe mellom avdelingene og oppmuntrer til en tillitskultur mellom teammedlemmer, og koordinerer innsatsen deres slik at dyrebar tid og penger ikke kastes bort på å prøve å takle problemer på forhånd eller korrigere dem etterpå.
Vi snakket med Anmol Nagpal, en DevOps-ekspert, om viktigheten av å ansette DevOps i bedriften din.
«DevOps spiller en betydelig rolle. Det er de som tar seg av skyen/infrastrukturen. Ingen bedrift kan vokse uten stabil og skalerbar infrastruktur, og applikasjoner kommer ikke til å være stabile. Selv om du har den beste koden, og arkitekturen ikke er god nok, kommer ikke applikasjonen til å være stabil, og det kan resultere i nedetid, noe som fører til tap av penger og nye kunder.»
Anmol Nagpal
Flere kandidater er dyktige i DevOps; men som ansettelsesleder hjelper det å kunne fortelle hvordan man kan skille en topp kandidat fra en god. Anmol foreslår at den potensielle kandidaten gjenspeiler følgende. Ifølge ham skal de:
-
Ha en mentalitet om å få ting gjort på den beste måten
-
Gjennomføre konsekvente oppdateringer på de siste verktøyene i DevOps
-
Følge anbefalte metoder for sikkerhetspraksis uansett hva de bygger eller designer
-
Være en lagspiller. Det er de som jobber med forskjellige teammedlemmer rundt engasjementet og må støtte dem
-
Være klarr for nye utfordringer
-
Kunne arbeide alene uten tilsyn
Stillinger som vanligvis fylles av DevOps
En vanlig stilling på dette feltet er en systemtekniker, som designer og bygger programvaresystemer (som databaser). Systemteknikere jobber tett med utviklere og andre tekniske ansatte for å sikre at de har alt de trenger slik at engasjementene deres går jevnt og effektivt.
En annen jobbtittel som ofte forbindes med DevOps-teknikere er infrastruktur-tekniker. Disse fagfolkene designer og administrerer nettverk og lagringssystemer for bedrifter slik at de kan håndtere store mengder data på en gang. De bygger, vedlikeholder og distribuerer spesifikk IT-infrastruktur ved å bruke gjeldende teknologier.
Andre vanlige titler innen dette feltet inkluderer:
- Site Reliability Engineer (SRE)
Deres primære oppgaver er å teste og evaluere produkter når de produseres. De forventes også å analysere data og håndtere risikoer forbundet med asset reliability, mens de jobber hardt med å redusere dem.
Konfigurasjonsbehandlere koordinerer og styre konfigurasjoner av alle typer produkter. Vanligvis overvåker de livssyklusen til programvare- eller maskinvareproduksjon, for eksempel utviklingen av en ny applikasjon eller server.
En DevOps-tekniker er en IT-generalist som har omfattende kunnskap om utvikling og drift, som vanligvis inkluderer programmering, infrastrukturadministrasjon, systemadministrasjon og DevOps-verktøykjeder.
- Skytekniker (Azure/AWS/GCP)
En skytekniker er en IT-profesjonell som bygger og vedlikeholder en skyinfrastruktur. De er spesifikt ansvarlige for alle tekniske oppgaver knyttet til databehandling i skyen, inkludert design, planlegging, administrasjon, vedlikehold og støtte.
En løsningsarkitekt designer den overordnede tekniske visjonen for en bestemt løsning av et forretningsproblem. De jevner ut ulikhetene mellom et forretningsproblem og teknologiløsningen, og skisserer alle fasene og kravene som trengs for å implementere den løsningen.
En release engineer tar for seg utvikling og behandling av programvareprodukter. En Release Engineering Manager overvåker programvarebyggingene og -utgivelsene og er i hovedsak ansvarlig for planlegging og kontroll av programvarens utviklings- og leveringsprosess.
DevSecOps integrerer sømløst applikasjons- og infrastruktursikkerhet med smidige og DevOps-prosesser og -verktøy.
Hva er jobbansvaret til en DevOps-tekniker?
For å forenkle ting, la oss holde oss til én rolle – DevOps-tekniker.
DevOps-ingeniører samarbeider med andre IT-fagfolk som utviklere, testere og kvalitetssikringsingeniører. De hjelper teamet med å implementere funksjonene som kreves av dem ved å bruke ulike verktøy som Puppet, Chef eller Ansible for å automatisere oppgaver som må gjøres ofte.
De viktigste rollene og ansvarsområdene er:
-
Implementering av ulike utviklings-, testings-, automatiseringsverktøy og IT-infrastruktur
-
Bygger nye funksjoner i applikasjoner
-
Definere og angi utviklings-, teste-, utgivelses-, oppdaterings og støtteprosesser for DevOps-drift
-
Feilsøking og retting av feil
-
Overvåke prosessene gjennom hele livssyklusen for overholdelse av dem og oppdatere eller lage nye strategier for forbedring og redusering av svinn
-
Utbygging av automatiserte prosesser der det er mulig
-
Identifisere og distribuere cybersikkerhetstiltak
-
Forekomsthåndtering og utføring av rotårsaksanalyse
-
Hyppig kommunikasjon med teammedlemmer og med kunder
-
Velge de riktige CI/CD-verktøyene og distribuere dem
-
Administrere periodisk rapportering
Ansette egnede DevOps-kandidater
DevOps er mye omtalt om dagen; å vite hvordan man ansetter de riktige personene kan være nøkkelen til suksess.
Du trenger noen som har erfaring med å bygge og levere produkter fra start til slutt – ikke bare noen som er flinke med administrasjon av infrastruktur.
Det kan kreve arbeid å finne noen med riktig erfaring og personlighet for teamet ditt. Men med litt forberedelse på forhånd, kan du skille deg ut blant andre selskaper som kjemper om denne personens oppmerksomhet, øke sjansene dine for å få vedkommende interessert, og til slutt få dem med på laget ditt.
Her er noen ting du bør vurdere når du ansetter:
- Hva er behovene til bedriften din?
Trenger du noen som kan administrere servere, eller trenger du noen som kan administrere programvareutvikling? Er det spesifikke ferdighetssett som kan være nyttige?
- Hva er bakgrunnen til kandidaten?
Har de tidligere erfaring? Hva slags utdanning har de? Har arbeidet deres i andre selskaper vært vellykket? Viser CV-en deres at de har jobbet godt med andre før? Disse spørsmålene hjelper deg med å vurdere om noen har det som trengs for å lykkes i bedriften din.
- Hvordan samhandler denne personen med andre?
Noen mennesker er naturlig utadvendte og får lett venner, mens andre foretrekker å holde seg for seg selv. Du trenger noen som passer godt inn med resten av teamet ditt.
- Se lenger og forbi CV-en.
Har de en god forståelse av DevOps? Det er viktig å sikre at de forstår hva DevOps betyr og hvordan det er relatert til bedriften din. Hvis de ikke forstår disse konseptene eller ikke har noen erfaring med dem, kommer de sannsynligvis ikke til å passe godt i denne rollen eller noen annen rolle i bedriften din.
- Er de god på problemløsing?
Det betyr at de må kommunisere effektivt med andre og stille spørsmål for å få svar på ulike konsepter, prosesser, verktøy osv. som kan dukke opp i løpet av arbeidet.
- Er de effektive formidlere?
De må kunne forklare arbeidet sitt i detalj slik at andre kan forstå det, noe som kan bety å holde presentasjoner eller skrive dokumentasjon basert på det de har lært mens de jobbet i engasjementer knyttet til stillingsbeskrivelsen sin. Dette kan også bety å kunne svare på spørsmål fra kunder eller klienter som ønsker mer informasjon om hvordan noe fungerer (eller hvorfor det ikke gjør det).
Hvilken utdanning og erfaring bør du se etter hos en DevOps-tekniker?
DevOps-teknikere har vanligvis en tredje kvalifikasjon i informatikk eller et relatert felt, kombinert med bransjeerfaring. For å jobbe i DevOps, må enkeltpersoner ha fullført en Bachelor i informatikk eller en relatert grad med vekt på programvareutvikling.
Du bør se etter DevOps-teknikere med erfaring med forskjellige språk og rammeverk. Det er viktig å ha en bred kunnskapsbase. Men hvis de er spesielt dyktige på ett programmeringsspråk, kan det fortsatt være fordelaktig for bedriften din, forutsatt at de er eksperter på det språket. Veksten i populariteten til DevOps (kombinasjonen av utvikling og IT-drift) og den utmerkede statistikken har ført til jobbmuligheter for en lang rekke forskjellige roller, men ofte defineres rollen til en DevOps-tekniker av hva du prøver å oppnå.
Alt handler om hva organisasjonen din trenger på det bestemte tidspunktet. Hvis du akkurat har startet opp, er det best å ansette noen med erfaring med koding og drift. Mange organisasjoner ønsker kanskje å ansette noen som kan gjøre mer funksjonelt arbeid, som å implementere overvåkings- eller automatiseringsverktøy, før de ansetter en programvareingeniør på heltid. Dette lar deg utvide teamet, og du bruker mindre penger på å ansette utviklere i begynnelsen.
Erfaring med språk og rammeverk
Som du allerede vet, er DevOps-teknikere en hybrid type programvareingeniører som trenger å ha en solid forståelse av både utviklingsprinsipper for programvare og drift og infrastruktur av webapplikasjoner. Dette krever at de har erfaring med følgende:
Det er viktig å se etter en DevOps-tekniker med erfaring i Java, og ideelt sett Apache Tomcat. De neste viktigste faktorene er SQL og MySQL, men du bør også se etter kunnskap om DevOps-verktøy som Puppet, Chef og Ansible.
Anmol nevner andre følgende viktige ferdigheter DevOps-fagfolk skal kjenne til, slik at de er i stand til å gjøre jobben sin godt:
- Ferdigheter innen feilsøking og analyse – dette hjelper til med å forstå problemet.
- Dokumentasjon – Dette er en ferdighet ikke alle har, og det er veldig viktig å ha riktig dokumentasjon slik at ingen kunnskap går tapt.
- Priorterere oppgaver – Når du er i DevOps, kommer folk til deg med 100 ting, men du må ha evne til å forstå og angi prioritet for oppgavene.
- Ligge i forkant – I DevOps er dette spesielt viktig; du må aktivt overvåke infrastrukturen/applikasjonen og sikre at vi følger anbefalt fremgangsmåte. I tilfelle vi finner noe, anerkjenne det og få det sortert basert på prioritet.
- Forstå virksomheten/produktet, dette hjelper deg med å designe og levere riktig infrastruktur.
Etter hvert som DevOps-bevegelsen vokser, vokser også mulighetene for karrierevekst. En god DevOps-tekniker er en tusenkunstner som håndterer alle deler av programvareutviklingssyklusen. De må være i stand til å løse problemer raskt, kommunisere disse løsningene med teamet sitt og ha et bredt spekter av teknisk kunnskap.
Slik gjennomføres effektive intervjuer for DevOps-ingeniører
Et effektivt intervju er en avgjørende del av å ansette den rette personen for teamet ditt, men det er ikke alltid lett å identifisere en kandidat som passer perfekt for en stilling som krever et så ulikt sett med ferdigheter. For å hjelpe til med prosessen er det et viktig første skritt å forstå hvilke myke ferdigheter du bør se etter blant potensielle DevOps-teknikere.
Myke ferdigheter som trengs
Myke ferdigheter er like avgjørende for suksessen til en DevOps-tekniker som tekniske ferdigheter. Myke ferdigheter anses generelt for å være kommunikasjons-, problemløsnings- og relasjonsbyggende evner. Disse ferdighetene er avgjørende for å veilede teamet til å koordinere og samarbeide effektivt, bygge kontakt med interessenter og effektivt løse problemer. Det følgende er en oversikt over myke ferdigheter som en DevOps-tekniker bør ha:
-
Du trenger en sterk kommunikator. For å kommunisere effektivt må en DevOps-tekniker kunne lytte effektivt, snakke klart og konsist og uttrykke ideer med presisjon. Denne personen kan håndtere mye ansvar på egen hånd, så de må være i stand til tydelig å forklare begrunnelsen bak eventuelle beslutninger de tar. Den beste måten å gjøre dette på er å stille gode spørsmål og lytte nøye til svarene som gis. Det er også avgjørende at de kan påpeke andres feil uten å bli oppfattet som frekke eller nedlatende.
-
De bør være detaljorienterte og villige til å strekke seg lengre enn selve arbeidet.
-
De bør også aldri gå glipp av noe når det gjelder hva som må gjøres og når det må gjøres. Denne personen er ansvarlig for opprettelse av prosesser som letter kommunikasjonen mellom teamet ditt og skal kunne skille mellom nødvendig informasjon, og den informasjonen som kan vente til en annen dag.
-
Problemløsning er et annet viktig aspekt ved jobben. Hvis det oppstår et problem innenfor IT-infrastrukturen, påvirker det mest sannsynlig hele organisasjonen. DevOps-teknikeren vil i hovedsak finne måter å forhindre at disse problemene oppstår i fremtiden.
-
En hyggelig, respektfull holdning til andre hjelper mye for å sikre at engasjementer går problemfritt og at de respektive teamene fungerer godt sammen.
Nødvendige tekniske ferdigheter
For å fungere godt innenfor DevOps-miljøet, skiller ferdighetene som kreves for denne rollen seg fra det som forventes av en tradisjonell IT-arbeider. DevOps-teamene består ofte av mennesker med en rekke ulike bakgrunner og ferdighetssett, så det er viktig at medlemmene er i stand til å jobbe tett sammen og har en rekke ferdigheter som er oppført nedenfor:
Erfaring med flere operativsystemer – Linux-kunnskap er spesielt nyttig
-
Skriptspråk som bash, PERL, Python og Ruby (ved å bruke «gem» og andre pakkebehandlere)
-
Erfaring med programmeringsspråk som Ruby, Python eller Java
-
Kjennskap til versjonskontrollsystemer som Git
-
Det å ha en forståelse av Linux-systemadministrasjon er avgjørende for å kunne distribuere nye applikasjoner riktig
-
Moderne rammeverk for nettapplikasjoner og designmønstre
-
Grunnleggende nettverkskunnskap
Anmol fører opp det følgende som kritiske tekniske ferdigheter i DevOps:
«Skysystem (kan være Azure/AWS/GCP) Det er bedre å ha kunnskap om mer enn ett, men hvis de er veldig gode i ett, kan det godtas.»
Anmol Nagpal
-
IAC (Terraform/Cloudformation/Pulumi/CDK)
-
Docker
-
Kubernetes
-
CI/CD (Jenkins/GitHub Actions/GitLab/Azure DevOps)
-
Sikkerhetsavdelingen bør vite at uansett hva de utvikler, er det sikret
Intervjuspørsmål + forventede svar
En liste over intervjuspørsmål med foreslåtte svar, til hjelp for en CTO om hva man kan forvente når de gjennomfører et intervju, men også hjelp til en DevOps-tekniker som forberedelse til intervju.
For nybegynnere:
- Hva er forskjellene mellom DevOps og agile?
Forventet svar: De viktigste forskjellene inkluderer:
- DevOps skaper en forbindelse mellom alle teamene som er involvert i programvareutvikling og vedlikehold. Imidlertid plasserer agile vanligvis spesifikke oppgaver til forskjellige team
- DevOps legger et stort fokus på konsistens, stabilitet og automatisering. Med agile legges det i stedet mer vekt på tilpasningsevne og gjentakende utvikling.
- I DevOps vurderes hele programvarens arbeidsflyt, fra idé til levering av utdata og vedlikehold. Men med agile er det vanligvis over når når koden er fullført.
- Hva er rollen til kontinuerlig testing?
Forventet svar: Kontinuerlig testing er når programvare testes ofte for feil på alle stadier av utviklingslivssyklusen. Under denne prosessen er det en kontinuerlig tilbakemelding mellom interessenter, og utviklere er i stand til å evaluere programvarekvaliteten gjennom hele prosessen.
- Hva er automatiseringstesting?
Forventet svar: Automasjonstesting er når skript automatisk gjennomgås og validert for å sikre at programmet som brukes er verifisert. Det er ikke behov for menneskelig inngripen, noe som gjør automatiseringstesting tidssensitiv.
- Hva menes med forgrening?
Forventet svar: Forgreining er en teknikk utviklere bruker i versjonskontrollsystemer der kildekoden kopieres for å lage to versjoner som utvikles separat. Disse grenene kan deretter utvikles uavhengig uten å påvirke kodebasen, noe som oppmuntrer til samarbeid.
- Hva vet du om Jenkins?
Forventet svar: Jenkins er det mest populære verktøyet for kontinuerlig integrering og kontinuerlig levering (CI/CD) som for tiden er på markedet. Mange DevOps-team (om ikke alle) er avhengige av Jenkins for å automatisere deler av programvareutvikling relatert til bygging, testing og distribusjon av applikasjoner.
- Hva er fordelene med versjonskontroll?
Forventet svar: Versjonskontrollsystemer forbedrer effektiviteten til koding. Dette oppnås gjennom
- Sporbarhet: Det sporer endringer i kode fra alle utviklere, noe som resulterer i en tydelig historikk som bidrar til å forbedre funksjonaliteten til programvaren
- Forgrening: Utviklere får jobbe med kode uavhengig uten å påvirke bidrag fra andre samarbeidspartnere
- Feilreduksjon: Den kan oppdage rotårsaken til programvarefeil og fange opp eventuelle duplikasjoner
Middels og ekspert
- Hvilke utfordringer finnes når man lager DevOps-pipeliner?
Forventet svar:
Funksjonsflagg er en vanlig måte å håndtere produktutgivelser i CI-miljøer.
Hvis en databasemigrering mislyktes, men ble kjørt som en planlagt jobb, kan systemet nå være i en ubrukelig tilstand.
- Hvordan kommuniserer beholdere i Kubernetes?
Forventet svar: En Pod er en tilknytning mellom beholdere i Kubernetes og inneholder vanligvis flere beholdere. Pod-er har et flatt nettverkshierarki inne i et overleggsnettverk og kommuniserer med hverandre på en flat måte, noe som betyr at i teorien kan enhver pod inne i det overleggsnettverket snakke med en hvilken som helst annen pod.
- Hvordan begrenser du kommunikasjonen mellom Kubernetes-pods?
Forventet svar: Avhengig av CNI-nettverkspluginen du bruker, hvis den støtter Kubernetes Network Policy API, lar Kubernetes deg spesifisere nettverkspolicyer som begrenser nettverkstilgang.
Retningslinjer kan begrense basert på IP-adresser, porter og/eller selektorer.
- Hva er de to hovedtypene av forgreningsstrategier?
Forventet svar:
Forgreining basert på utgivelse, som oppretter en gren for en potensiell ny utgivelse
Funksjonsforgrening, som oppretter en gren for spesifikke funksjoner eller oppgaver
- Hvordan bygger du en hybridsky?
Anmol svarer:
Under bygging av en hybridsky, må vi først sikre oss hva slags data vi kjører i Datacenter og hvor kritiske de er; la oss anta at vi ønsker å koble den til AWS. Vi har to alternativer: For det første kan vi gå for site2site VPN, som vil være rimeligere og enkelt å sette opp. For det andre kan vi bruke Direct Connect, som er mer stabilt, men dyrt og tidkrevende.
Anmol Nagpal
- Hva er de kritiske forskjellene mellom kapitalforvaltning og konfigurasjonsadministrasjon?
Forventet svar: Konfigurasjonsadministrasjon refererer til administrasjon av aktiva som enheter innenfor programvareutviklingens pipeline. Dette innebærer å gjennomgå nøyaktigheten og påliteligheten til forskjellige konfigurasjonselementer, samt forholdet de har til hverandre.
For å sikre at alle søkere er kvalifisert, still spørsmål om hvordan de kommer til å håndtere situasjoner der de trenger å kommunisere med folk fra forskjellige avdelinger. Du kan også spørre dem om hva de så langt liker mest med arbeidet som DevOps-tekniker, eller hvilke utfordringer de jevnlig møter i sin nåværende rolle. Slike spørsmål gir innsikt i hvordan søkeren jobber i et teammiljø, noe som er en helt nødvendig ferdighet for enhver DevOps-tekniker.
I følge Anmol, bortsett fra å se etter tekniske og myke ferdigheter, er det noen spørsmål han ville stilt andre utviklere som han mest sannsynlig kommer til å ansette i teamet sitt.
«Jeg ville spurt dem om hva som er det beste eller verste med å være en DevOps. Om de liker å jobbe sent på kvelden og være tilgjengelig i helgene. Jeg kunne også tenkt meg å vite litt om hvordan fritiden deres ser ut. Om de leser teknologiblogger eller gjennomfører noen POC-er på fritiden.»
Anmol Nagpal
Andre spørsmål han foreslår å stille er:
-
Hva er det beste du gjorde i det siste engasjementet du hadde?
-
Hva var den største feilen du gjorde i karrieren som DevOps?
-
Hvor ivrig er du etter å lære nye verktøy og teknologier?
Mulige utfordringer ved å ansette en DevOps-tekniker
Det å ansette en DevOps-tekniker i organisasjonen din er en viktig avgjørelse. På den ene siden kan du ikke se bort fra kraften i DevOps-prosessen: Det har vist seg å være en flott måte å administrere programvareutvikling og -distribusjon på. Men på den annen side er det noen utfordringer som gjør denne typen ansettelser mer komplekse enn å ansette en programvareutvikler eller en systemadministrator.
Hvordan vet du om teamet ditt er klar for denne stillingen? Hva kan du gjøre for å sikre at du får den rette personen til jobben? Her er noen ting du bør vurdere når du ansetter en DevOps-tekniker, med tips for å sikre at teamet ditt er forberedt og innrettet til å jobbe med dem.
-
Den første utfordringen er tiden det tar å finne og evaluere kandidater. Det å finne noen som har ferdighetene, erfaringen og personligheten du leter etter kan ta uker, om ikke måneder, med andre kanaler.
-
En annen utfordring er å administrere forventningene til både bedriften din og kandidaten. Du ønsker å sørge for at bedriftens behov dekkes, men du ønsker også å sørge for at du ikke kaster bort verdifull tid på kandidater som ikke kommer til å fungere.
-
Du må finne den rette personen. Mange selskaper har ikke ressursene som er nødvendige for å utføre grundige søk eller tilby konkurransedyktig lønn for DevOps-teknikere (spesielt hvis de er unge). Dette betyr at det kan ta lengre tid enn forventet å finne den rette personen for jobben – eller enda verre, du kan ende opp med å finne noen som ikke oppfyller kravene du stiller i det hele tatt.
-
Du må også sørge for at du ansetter noen som kan trives med folkene som allerede jobber i teamet. En nyansatt skal kunne integreres uten problemer i teamet, og ikke være noen som kommer til å skape problemer for andre eller forårsake drama på kontoret.
-
Det kan være vanskelig å bestemme seg for kompensasjon. Hvis du bruker rekrutterere eller hodejegere, har de ofte egne tanker om hva en DevOps-ingeniør bør koste, og de kan prøve å overbevise deg om at de er verdt mye mer enn de egentlig er.
-
Hvis du ansetter en DevOps-ingeniør fra et annet selskap, er det viktig å sørge for at personens kompetanse matcher det du trenger. Noen selskaper kan ha utviklet sine egne verktøy som de bruker til en rekke formål.
-
Den siste utfordringen kommer etter at du har ansatt noen og satt i arbeid: opprettholde motivasjonen deres og produktiviteten så lenge de er ansatt hos deg. Dette kan være vanskelig fordi det innebærer å administrere flere avdelinger i en organisasjon, samt å jobbe med individer med ulik bakgrunn og varierende ferdighetsnivåer.
Ansettelsesprosessen for en DevOps-tekniker kan være komplisert, men det er viktig å huske på at det også er nødvendig hvis du ønsker å ha et vellykket selskap i dagens bransje. Den rette personen kan hjelpe bedriften din med å vokse og øke fortjenesten samtidig som du sparer penger i det lange løp ved å sørge for at alt går knirkefritt uten problemer.
Til ettertanke
DevOps-teknikere er individer som har mangfoldig kunnskap innen programmering, utvikling og infrastruktur. Oppgavene deres varierer avhengig av hva teamet deres krever, men de holder likevel styr på alt under DevOps-paraplyen. Dette kan gjøre dem vanskelige å finne og ansette, men det er verdt det – ekspertisen deres legger grunnlaget for at ny teknologi som utvikles av et selskap lykkes.
Det er ingen tvil om at arbeidsmarkedet for DevOps-ingeniører er konkurransepreget og blir det mer for hver dag som går. Og med teknologilandskapet i konstant endring, er det vanskelig å forutsi hvilke ferdigheter som er mest ettertraktet frem i tid. Hvis du ønsker et forsprang, er det smart å starte tidlig og ansette en til teamet ditt.
Ansett en DevOps-magiker i dag, og se engasjementene dine forvandles fra gode til supre!