DevOps-ammattilaiset ovat erittäin kysyttyjä, ja on helppo ymmärtää, miksi. He vastaavat koodin jatkuvasta integroinnista ja toimittamisesta sekä palvelimien, verkkojen ja muiden yrityksen verkon infrastruktuurikomponenttien valvonnasta ja hallinnasta.
DevOpsin tarkoituksena on varmistaa, että yrityksesi ohjelmisto toimii sujuvasti ja tehokkaasti. DevOps-ammattilaiselta vaaditaankin siis, että hän voi varmistaa ohjelmistosi sujuvan toiminnan – ja ehkä jopa auttaa parantamaan sitä.
DevOps eli Development Operations on viime vuosina yleistynyt työtehtävä. DevOps oli varmasti olemassa jo 70-luvulla, kun tietokoneita alettiin käyttää suurissa yrityksissä. Itse DevOps-toiminto syntyi vasta 2000-luvulla. Yritykset palkkaavat DevOps-asiantuntijoita hoitamaan ohjelmistokehitys- ja käyttöönottoprosessejaan.
Kun ajatellaan, miten paljon DevOpsista on viime vuosina kohistu, on helppo ymmärtää, miksi tämä rooli on nyt niin haluttu. Aikakaudella, jolloin ohjelmisto syö maailman, yritykset ymmärtävät, että ne tarvitsevat vahvan DevOps-kulttuurin menestyäkseen. Kun tiimissä on DevOps-insinööri, hänen teknisen osaamisen ja liiketoimintatietoisuuden yhdistelmä tekee yrityksestä kilpailijoita joustavamman. DevOps-insinöörin palkkaamisen pitäisi olla ensimmäinen prioriteettisi, jos haluat pysyä kilpailukykyisenä nykypäivän liiketoimintaympäristössä.
Suuri osa DevOpsin suosion kasvusta johtuu siitä, miten tärkeää se on yrityksille kilpailukyvyn säilyttämiseksi. Oletetaan, että yrityksen on kysynnän vuoksi otettava tietyt sovellukset käyttöön järjestelmissään nopeammin. Tällöin he saattavat menettää asiakkaita – tai ainakin heillä on enemmän haasteita kuin kilpailijoilla, jotka pystyvät toimimaan nopeammin. DevOps-insinöörin tehtävänä on varmistaa, että näin ei tapahdu. Hän varmistaa, että asiakkaiden tarpeet täytetään pysymällä mukana ohjelmistojen nopeassa kehityksessä.
Sovellus- ja järjestelmäkehityksen kasvun myötä yritykset ottavat yhä useammin käyttöön DevOps-tekniikoita pysyäkseen mukana tässä jatkuvasti muuttuvassa ympäristössä. Mitä se tarkoittaa DevOps-insinöörille? Ovatko DevOps-insinöörien työmarkkinat todella nousussa? Vai onko se hypetystä? Mitä sinun pitäisi etsiä DevOps-ehdokkailta? Mitä taitoja heillä on oltava? Tarkastelemme muun muassa näitä kysymyksiä tässä artikkelissa.
Näytämme myös, miten voit suorittaa perusteellisen haastattelun, jotta voit palkata tiimiisi parhaan mahdollisen ehdokkaan. Mutta ennen sitä kerromme lisää tästä roolista.
DevOpsin ymmärtäminen
Termi "DevOps" on ollut käytössä jo useita vuosia, mutta se on edelleen monille hämmentävä. Monet yhdistävät DevOpsin tiettyyn tehtävään - esimerkiksi DevOps-insinööriin. DevOps on lähestymistapa tietotekniikan (IT) hallintaan. Siinä tehdään yhteistyötä liiketoiminnan ja IT-ammattilaisten välillä, jotka auttavat hallitsemaan sitä pyörittävää teknologiaa.
DevOps-insinöörin rooli on näkynyt työpaikkailmoituksissa yhä useammin. Oletetaan, että termi ei ole sinulle tuttu. DevOps-insinööri tai kehittäjästä tullut DevOps-insinööri ymmärtää sekä ohjelmistokehityksen että IT-operaatiot. Toisin sanoen henkilö, joka osaa kirjoittaa koodia ja ottaa sen käyttöön, joka osaa kirjoittaa yksikkötestejä ja ylläpitää tuotantojärjestelmiä, leikkiä tulella (kuvaannollisesti) ja auttaa sammuttamaan tulipaloja (hyvin kirjaimellinen kuvaus heidän työstään).
Tarvitsetko kehittäjää vai DevOps-insinööriä? Mikä on ero?
Tarvitset luultavasti molempia.
Ohjelmistokehittäjät luovat palvelimilla toimivat sovellukset, kun taas DevOps-insinöörit hallinnoivat palvelimia. Nämä kaksi roolia ovat riippuvaisia toisistaan, mutta ne ovat myös hyvin erilaisia. Kehittäjä työskentelee koodin parissa ja luo ohjelmistoja – DevOps-insinööri työskentelee palvelimien, konfiguraationhallintatyökalujen ja muun infrastruktuurin parissa.
Jossain vaiheessa rekrytointiprosessia haluat ymmärtää tarkkaan, mitä DevOps-insinöörin tehtäviin kuuluu – sinun on selvitettävä, miten tämä rooli eroaa perinteisistä kehittäjistä ja miksi joku ylipäätään haluaisi ryhtyä tähän tehtävään.
Jäljempänä kuvataan DevOps-maailman monenlaisia tehtäviä. Ymmärtämällä, mitä nämä työtehtävät pitävät sisällään ja miten ne eroavat muista tehtävistä, voit selvittää, mikä työtehtävä sopii parhaiten yrityksellesi.
DevOps-insinöörien työmarkkinat
DevOps-insinöörit ovat erittäin kysyttyjä, koska he voivat käyttää asiantuntemustaan yritysten muuttamiseen. DevOps-insinöörin roolista on tullut keskeinen asema IT-alalla, ja se kasvaa edelleen nopeasti. gminsightsin mukaan DevOps-markkinoiden koko ylitti 7 miljardia dollaria vuonna 2021, ja ne kasvavat yli 20 prosenttia vuoteen 2028 mennessä. DevOps-työpaikkojen määrän odotetaan edelleen kasvavan yli 20 prosenttia vuosittain vuosina 2020–2026.
Monet yritykset huomaavat nopeasti, miten suuri vaikutus niillä voi olla. Olipa kyse sitten kehittäjien tai käyttötiimien kanssa työskentelystä, yritykset tarvitsevat jonkun, joka pystyy kuromaan näiden kahden maailman välisen kuilun umpeen ja varmistamaan, että kaikki toimii sujuvasti.
DevOps-insinöörien työmarkkinat ovat nyt kilpailulliset, ja tulevaisuudessa kilpailu vain lisääntyy. Yrityksesi kallein osa on sen tiimi. Jos budjetti on rajallinen, voi olla houkuttelevaa palkata edullisempi DevOps-insinööri. Mutta väärän henkilön palkkaaminen voi maksaa yrityksellesi. Uusien henkilöiden kouluttaminen vie aikaa, ja ei-teknisen henkilön kouluttaminen DevOps-insinööriksi vie vielä enemmän aikaa. Siksi on tärkeää, että työhön palkataan alun perin oikea henkilö.
DevOps-insinöörejä palkkaavat monenlaiset yritykset, kuten:
- Ohjelmistoyritykset
- SaaS-palveluntarjoajat
- Johdon konsultointiyritykset
- Pilvitallennuspalvelujen tarjoajat
DevOpsia käyttävät yritykset
DevOpsia käyttävät nykyään monet teknologiayritykset. Tässä on luettelo muutamasta niistä:
- Amazon
- HP
- Netflix
- Walmart
- Etsy
- Target
- Meta
- Adobe
- Sony Pictures Entertainment
Vastaus on yksinkertainen: koska ne helpottavat asioita.
DevOps-insinöörit ovat yleensä vastuussa prosessien automatisoinnista, joita ihmiset tekevät nykyisin manuaalisesti. He keksivät tapoja automatisoida toistuvia tehtäviä ja huolehtia niistä backend-puolella, jotta työntekijöiden ei tarvitse enää huolehtia niistä. Näin kehittäjät voivat keskittyä päätehtäviinsä – uusien ominaisuuksien luomiseen ja nykyisten ominaisuuksien parantamiseen – sen sijaan, että he joutuisivat käyttämään aikaa kiireisiin töihin, kuten palvelimien asentamiseen tai varmuuskopioiden oikean toiminnan varmistamiseksi.
Credit: OnGraph.com: Miksi investointi DevOpsiin kannattaa
Jos aiot palkata DevOps-insinöörin, sinulla on todennäköisesti jo käytössäsi verkkopalvelu tai sovellus, jota käytetään verkossa. Haluat lisätä uusien ominaisuuksien lähettämisen tiheyttä ja varmistaa samalla, että se ei aiheuta liikaa käyttökatkoksia. Haluat, että kuka tahansa kehittäjä voi ottaa koodin käyttöön nopeasti ja kuka tahansa järjestelmänvalvoja voi tehdä palautuksen nopeasti, jos jokin päivityksessä menee pieleen. Tässä DevOps-insinöörit astuvat kuvaan: he toimivat molempien osastojen välittäjinä ja edistävät luottamuksen kulttuuria tiimin jäsenten välillä koordinoimalla heidän ponnistelunsa niin, että arvokasta aikaa ja rahaa ei tuhlaannu ongelmien ennalta torjumiseen tai niiden korjaamiseen jälkikäteen.
Keskustelimme DevOps-asiantuntija Anmol Nagpalin kanssa DevOpsin palkkaamisen tärkeydestä yrityksessä.
"DevOpsilla on merkittävä rooli. Siinä huolehditaan pilvipalvelusta/infrastruktuurista. Mikään yritys ei voi kasvaa ilman vakaata ja skaalautuvaa infrastruktuuria, eivätkä sovellukset ole vakaita. Vaikka käytössä olisi paras koodi, mutta arkkitehtuuri ei ole tarpeeksi hyvä, sovellus ei ole vakaa. Tämä voi johtaa käyttökatkoksiin, jotka johtavat rahan ja liiketoiminnan menetykseen."
Anmol Nagpal
Useat ehdokkaat ovat DevOps-taitoisia, mutta henkilöstöpäällikkönä on kuitenkin hyvä tietää, miten huippuehdokas erottuu hyvästä ehdokkaasta. Anmolin mukaan mahdollinen ehdokas täyttää seuraavat vaatimukset :
-
Mentaliteetti, jonka mukaan asiat tehdään parhaalla mahdollisella tavalla
-
Päivittää johdonmukaisesti uusimpiaDevOps-työkaluja
-
Noudattaa parhaita turvallisuuskäytäntöjäkaikessa luomisessa ja suunnittelussa
-
Tiimipelaaja, joka työskentelee eri tiimin jäsenten kanssa toimeksiannon aikana ja tukee heitä
-
On valmisuusiin haasteisiin
-
Kyky työskennellä yksinilman valvontaa
DevOpsin tyypilliset tehtävät
Yleinen asema tällä alalla on järjestelmäinsinöörin tehtävä, johon kuuluu ohjelmistojärjestelmien (kuten tietokantojen) suunnittelu ja rakentaminen. Järjestelmäinsinöörit tekevät tiivistä yhteistyötä kehittäjien ja muun teknisen henkilöstön kanssa varmistaakseen, että heillä on kaikki tarvittava sujuvia ja tehokkaita toimeksiantoja varten.
Toinen usein DevOpsiin liitetty ammattinimike on infrastruktuuri-insinööri. Nämä ammattilaiset suunnittelevat ja hallinnoivat yritysten verkkoja ja tallennusjärjestelmiä, jotta ne voivat käsitellä suuria tietomääriä kerralla. He erityisesti rakentavat, ylläpitävät ja ottavat käyttöön koordinoidusti IT-infrastruktuuria nykyistä teknologiaa käyttäen.
Muita yleisiä nimikkeitä tällä alalla ovat:
- Toimipaikan luotettavuusinsinööri (SRE)
Heidän ensisijaisiin tehtäviinsä kuuluu tuotteiden testaus ja arviointi niiden valmistusvaiheessa. Heidän odotetaan myös analysoivan tietoja ja hallitsevan omaisuuserien luotettavuusriskejä sekä työskentelevän ahkerasti niiden vähentämiseksi.
Konfiguraatiopäälliköt vastaavat kaikentyyppisten tuotteiden kokoonpanojen koordinoinnista ja ohjauksesta. Tyypillisesti he valvovat ohjelmisto- tai laitteistotuotannon elinkaarta, kuten uuden sovelluksen tai palvelimen kehittämistä.
DevOps-insinööri on IT-generalisti, jolla on laaja tietämys kehitystyöstä ja operaatioista, joihin kuuluu tyypillisesti ohjelmointia, infrastruktuurin hallintaa, järjestelmänhallintaa ja DevOps-työkaluketjuja.
- Pilvipalveluinsinööri (Azure/AWS/GCP)
Pilvipalveluinsinööri on IT-ammattilainen, joka rakentaa ja ylläpitää pilvipalveluinfrastruktuuria. Hän vastaa erityisesti kaikista pilvipalveluihin liittyvistä teknisistä tehtävistä, kuten suunnittelusta, hallinnasta, ylläpidosta ja tuesta.
Ratkaisuarkkitehti suunnittelee teknisen kokonaisnäkemyksen tietylle ratkaisulle liiketoimintaongelmaan. He kurovat umpeen liiketoimintaongelman ja teknologiaratkaisun välisen kuilun, ja niissä hahmotellaan kaikki vaiheet ja vaatimukset, joita tarvitaan ratkaisun toteuttamiseksi.
- Julkaisuinsinööri/-päällikkö
Julkaisuinsinööri huolehtii ohjelmistotuotteiden kehittämisestä ja käsittelystä. Julkaisuinsinööri/-päällikkö valvoo ohjelmistojen rakentamista ja julkaisuja ja vastaa pääasiassa ohjelmiston kehitys- ja toimitusprosessin suunnittelusta ja valvonnasta.
DevSecOps integroi sovellusten ja infrastruktuurin turvallisuuden saumattomasti agile- ja DevOps-prosesseihin ja -työkaluihin.
Mitkä ovat DevOps-insinöörin työtehtävät?
Käsitellään yksinkertaisuuden vuoksi pelkkää DevOps-insinöörin roolia.
DevOps-insinöörit työskentelevät muiden IT-alan ammattilaisten, kuten kehittäjien, testaajien ja laadunvarmistusinsinöörien, kanssa. He auttavat tiimiä tarvittavien ominaisuuksien käyttöönotossa käyttämällä erilaisia työkaluja, kuten Puppetia, Chefiä tai Ansiblea, automatisoidakseen usein suoritettavia tehtäviä.
Tärkeimmät tehtävät ja vastuualueet ovat:
-
Erilaisten kehitys-, testaus- ja automaatiotyökalujen sekä IT-infrastruktuurin käyttöönotto
-
Uusien ominaisuuksien rakentaminen sovelluksiin
-
DevOps-toiminnan kehitys-, testaus-, julkaisu-, päivitys- ja tukiprosessien määrittely ja asettaminen
-
Vianmääritys ja vikojen korjaaminen
-
Prosessien seuranta koko elinkaaren ajan niiden noudattamisen varmistamiseksi ja uusien strategioiden päivittäminen tai luominen niiden parantamiseksi ja hävikin minimoimiseksi
-
Automaattisten prosessien luominen aina kun se on mahdollista
-
Kyberturvallisuustoimenpiteiden määrittäminen ja käyttöönotto
-
Tapahtumien hallinta ja perussyiden analysointi
-
Tiivis viestintä tiimin jäsenten ja asiakkaiden kanssa
-
Sopivien CI/CD-työkalujen valinta ja käyttöönotto
-
Määräaikaisraportoinnin hallinnointi
Sopivien DevOps-ehdokkaiden palkkaaminen
DevOps on tällä hetkellä kuuma ala, ja oikeiden työntekijöiden palkkaaminen voi olla avain menestykseen.
Haluat jonkun, jolla on kokemusta tuotteiden rakentamisesta ja toimittamisesta alusta loppuun eikä pelkästään infrastruktuurin hallinnasta.
Voi olla haastavaa löytää tiimiisi henkilö, jolla on oikeanlainen kokemus ja persoonallisuus. Valmistautumalla hieman etukäteen voit erottua muista yrityksistä, jotka kilpailevat tämän henkilön huomiosta, lisätä mahdollisuuksiasi saada hänet kiinnostumaan ja lopulta saada hänet tiimiisi.
Seuraavassa on muutamia asioita, jotka sinun tulisi ottaa huomioon palkatessasi:
- Mitkä ovat yrityksesi tarpeet?
Tarvitsetko jonkun, joka osaa hallita palvelimia, vai jonkun, joka osaa hallita ohjelmistokehitystä? Ovatko tietyt taidot hyödyllisiä?
- Mikä on ehdokkaan tausta?
Onko hänellä aiempaa kokemusta? Millainen koulutus hänellä on? Onko hän toiminut menestyksekkäästi muissa yrityksissä? Onko hänen ansioluettelossaan mainintoja menestyksekkäästä tiimityöskentelystä? Nämä kysymykset auttavat sinua arvioimaan, onko jollakin henkilöllä edellytykset menestyä yrityksessäsi.
- Miten tämä henkilö on vuorovaikutuksessa muiden kanssa?
Jotkut ihmiset ovat luonnostaan ulospäin suuntautuneita ja saavat helposti ystäviä, kun taas toiset pysyttelevät mieluummin omissa oloissaan. Haluat jonkun, joka sopii hyvin tiimiisi.
- Katso muutakin kuin mitä hänen ansioluettelossaan lukee.
Ymmärtääkö hän hyvin DevOpsia? On tärkeää varmistaa, että hän ymmärtää, mitä DevOps tarkoittaa ja miten se liittyy yritykseesi. Jos hän ei ymmärrä näitä käsitteitä tai hänellä ei ole kokemusta niistä, hän ei todennäköisesti sovi tähän tai mihinkään muuhunkaan tehtävään yrityksessäsi.
- Osaako hän ratkaista ongelmia hyvin?
Tämä tarkoittaa, että hänen on kommunikoitava tehokkaasti muiden kanssa ja kysyttävä kysymyksiä mm. erilaisista käsitteistä, prosesseista ja työkaluista, jotka saattavat tulla esiin hänen työssään.
- Onko hän tehokas viestijä?
Hänen on pystyttävä selittämään työnsä yksityiskohtaisesti niin, että muut ymmärtävät sen. Tämä voi tarkoittaa esitysten pitämistä tai dokumentoinnin kirjoittamista sen perusteella, mitä hän on oppinut työskennellessään toimeksiantojen parissa, jotka liittyvät hänen toimenkuvaansa. Tämä voi tarkoittaa myös sitä, että hän pystyy vastaamaan sellaisten asiakkaiden esittämiin kysymyksiin, jotka haluavat lisätietoja siitä, miten jokin asia toimii (tai miksi se ei toimi).
Millaista koulutusta ja kokemusta DevOps-insinööriltä kannattaa odottaa?
DevOps-insinööreillä on tyypillisesti tietotekniikan tai siihen liittyvän alan korkeakoulututkinto sekä kokemusta alalta. DevOps-työskentelyyn tarvitaan tietotekniikan kandidaatin tutkinto tai ohjelmistokehitykseen keskittyvä muu vastaava tutkinto.
Kannattaa etsiä DevOps-insinöörejä, joilla on kokemusta eri kielistä ja kehyksistä. Laaja tietopohja on olennaisen tärkeää. Jos he ovat erityisen taitavia jossakin ohjelmointikielessä, siitä voi kuitenkin olla hyötyä yrityksellesi, kunhan he ovat kyseisen kielen asiantuntijoita. DevOpsin suosion kasvu (kehitystyön ja IT-operaatioiden yhdistäminen) ja erinomaiset tilastot on johtanut työmahdollisuuksiin lukuisissa eri rooleissa, mutta usein DevOps-insinöörin rooli määrittyy sen mukaan, mitä yritetään saavuttaa.
Kyse on siitä, mitä organisaatiosi tarvitsee juuri sillä hetkellä. Jos olet vasta aloittamassa, on parasta palkata joku, jolla on kokemusta koodauksesta ja toiminnasta. Monet organisaatiot saattavat haluta palkata henkilön, joka voi tehdä enemmän toiminnallista työtä, kuten toteuttaa seuranta- tai automaatiotyökaluja, ennen kuin palkkaavat kokopäiväisen ohjelmistosuunnittelijan. Näin voit kasvattaa tiimiä ja käyttää aluksi vähemmän rahaa kehittäjien palkkaamiseen.
Kokemus kielten ja kehysten käytöstä
Kuten jo tiedät, DevOps-insinöörit ovat hybridityyppisiä ohjelmistosuunnittelijoita, joilla on oltava vankka ymmärrys sekä ohjelmistosuunnittelun periaatteista että verkkosovellusten toiminnasta ja infrastruktuurista. Tämä edellyttää, että heillä on kokemusta seuraavista asioista:
On tärkeää etsiä DevOps-insinööriä, jolla on kokemusta Javasta ja mieluiten Apache Tomcatista. Seuraavaksi tärkeimpiä tekijöitä ovat SQL ja MySQL, mutta myös DevOps-työkalujen, kuten Puppetin, Chefin ja Ansiblen, tuntemusta kannattaa etsiä.
Anmol ehdottaa muita olennaisia taitoja, jotka DevOps-ammattilaisten tulisi osata, jotta he voivat tehdä työnsä hyvin:
- Vianmääritys- ja analyysitaidot – tämä auttaa ymmärtämään ongelmaa.
- Dokumentointi – Tätä taitoa ei ole kaikilla, ja on todella tärkeää, että dokumentointi on asianmukaista, jotta tietoa ei menetetä.
- Priorisoiminen – DevOps-työssä ihmiset tulevat luoksesi sadan asian kanssa, mutta sinun tulee ymmärtää tehtävät ja asettaa priorisoida ne.
- Proaktiivinen – DevOpsissa tämä on avainasemassa; sinun on seurattava aktiivisesti infrastruktuuria/sovellusta ja varmistettava, että noudatamme parhaita käytäntöjä. Jos löydämme jotakin, kuittaamme sen ja lajittelemme sen tärkeysjärjestykseen perustuen.
- Liiketoiminnan/tuotteiden ymmärtäminenauttaa suunnittelemaan ja toimittamaan oikean infrastruktuurin.
DevOps-liikkeen kasvaessa myös urakehitysmahdollisuudet kasvavat. Hyvä DevOps-insinööri on kaikkien alojen osaaja, joka pystyy hoitamaan ohjelmistokehityssyklin kaikki osat. Hänen on kyettävä ratkaisemaan ongelmia nopeasti, kommunikoimaan ratkaisuista tiiminsä kanssa. Lisäksi hänellä on oltava laaja tekninen tietämys.
DevOps-insinöörien tehokas haastatteleminen
Tehokas haastattelu on olennainen osa oikean henkilön palkkaamista tiimiisi. Aina ei ole kuitenkaan helppoa löytää ehdokasta, joka sopii täydellisesti tehtävään, joka vaatii niin monenlaisia taitoja. Prosessin helpottamiseksi on ensi vaiheessa tärkeää ymmärtää, millaisia taitoja tulevilta DevOps-insinööreiltä kannattaa etsiä.
Vaadittavat pehmeät taidot
Pehmeät taidot ovat DevOps-insinöörin menestyksen kannalta yhtä tärkeitä kuin tekniset taidot. Pehmeitä taitoja pidetään yleisesti viestintä-, ongelmanratkaisu- ja ihmissuhteiden rakentamiskykyinä. Nämä taidot ovat välttämättömiä, jotta tiimi voi koordinoida ja tehdä yhteistyötä tehokkaasti, luoda suhteita sidosryhmiin ja ratkaista ongelmia tehokkaasti. Seuraavassa luetellaan pehmeät taidot, jotka DevOps-insinöörien tulisi hallita:
-
Tarvitset vahvan viestijän. Voidakseen viestiä tehokkaasti DevOps-insinöörin on pystyttävä kuuntelemaan tehokkaasti, puhumaan selkeästi ja ytimekkäästi sekä ilmaisemaan ajatukset täsmällisesti. Tällä henkilöllä voi olla paljon vastuualueita, joten hänen on pystyttävä selkeästi perustelemaan tekemänsä päätökset. Paras tapa tehdä tämä on esittää hyviä kysymyksiä ja kuunnella vastauksia tarkasti. On myös ratkaisevan tärkeää, että hän osaa huomauttaa toisten virheistä ilman, että häntä pidetään epäkohteliaana tai alentuvana.
-
Heidän on kiinnitettävä paljon huomiota yksityiskohtiinja oltava halukkaita tekemään työssään enemmän kuin on tarpeen.
-
Heidän pitäisi myös olla aina ajan tasalla siitä, mitä on tehtävä ja milloin. Tämän henkilön tehtävänä on luoda prosesseja, jotka helpottavat tiimisi välistä viestintää. Hänen pitäisi pystyä tunnistamaan tarvittavat tiedot ja tiedot, jotka voivat odottaa seuraavaan päivään.
-
Ongelmanratkaisuon toinen tärkeä osa työtä. Jos IT-infrastruktuurissa ilmenee ongelma, se vaikuttaa todennäköisesti koko organisaatioon. DevOps-insinööri etsii keinoja, joilla nämä ongelmat voidaan estää tulevaisuudessa.
-
Miellyttävä ja kunnioittava asenne muita kohtaan auttaa varmistamaan, että toimeksiannot sujuvat hyvin ja että tiimit työskentelevät hyvin yhdessä.
Vaadittavat tekniset taidot
DevOps-ympäristössä toimiminen edellyttää erilaisia taitoja kuin perinteinen IT-työ. DevOps-tiimit koostuvat usein henkilöistä, joilla on erilaisia taustoja ja taitoja. Siksi on tärkeää, että jäsenet pystyvät työskentelemään tiiviisti yhdessä ja että he omaavat seuraavia taitoja:
-
Kokemus useista käyttöjärjestelmistä – Linux-osaaminen on erityisen hyödyllistä
-
Skriptikielet, kuten bash, PERL, Pythonja Ruby ("gemillä" ja mulla paketinhallinnoilla)
-
Kokemus ohjelmointikielistä, kuten Ruby, Python tai Java
-
Gitin kaltaisten versionhallintajärjestelmien tuntemus
-
Linux-järjestelmänhallinnan tuntemus on ratkaisevan tärkeää, jotta uudet sovellukset voidaan ottaa käyttöön oikein
-
Nykyaikaiset verkkosovelluskehykset ja suunnittelumallit
-
Verkon perustiedot
Anmol luettelee DevOpsin kriittisiksi teknisiksi taidoiksi seuraavat:
“Pilvi (Azure/AWS/GCP). Parempi, että osaat useamman kuin yhden, mutta jos olet todella hyvä yhdessä, se voidaan hyväksyä.”
Anmol Nagpal
-
IAC (Terraform/Cloudformation/Pulumi/CDK)
-
Docker
-
Kubernetes
-
CI/CD (Jenkins/GitHub Actions/GitLab/Azure DevOps)
-
Turvallisuusosaston on tiedettävä, että kehitettävät tuotteet ovat turvattuja
Haastattelukysymykset ja odotetut vastaukset
Luettelo haastattelukysymyksistä ja niihin ehdotetuista vastauksista, jotka auttavat teknologiajohtajaa haastattelua tehdessään. Myös DevOps-insinöörit voivat lukea ne valmistautuakseen haastatteluun.
Aloittelijoille:
- Mitä eroja on DevOpsin ja Agilen välillä?
Odotettu vastaus: Keskeisiä eroja ovat mm. seuraavat:
- DevOps luo liiton kaikkien ohjelmistokehitykseen ja -ylläpitoon osallistuvien tiimien välille. Tyypillisesti Agile-lähestymistapa kuitenkin siilouttaa tietyt tehtävät eri tiimeille
- DevOpsissa keskitytään paljon johdonmukaisuuteen, vakauteen ja automaatioon. Sen sijaan Agilessa kehittämisessä painotetaan enemmän mukautuvuutta ja iteratiivista kehittämistä.
- DevOpsissa otetaan huomioon koko ohjelmiston työnkulku ideoinnista tuotoksen toimittamiseen ja ylläpitoon. Mutta Agile-lähestymistavassa se yleensä päättyy, kun koodi on valmis.
- Mikä on jatkuvan testauksen rooli?
Odotettu vastaus: Jatkuvasta testauksesta on kyse silloin, kun ohjelmistoa testataan usein virheiden varalta sen elinkaaren jokaisessa vaiheessa. Tämän prosessin aikana sidosryhmät antavat jatkuvasti palautetta toisilleen, ja kehittäjät voivat arvioida ohjelmiston laatua koko prosessin ajan.
- Mikä on automaatiotestauksen rooli?
Odotettu vastaus: Automaatiotestauksessa skriptit tarkistetaan ja validoidaan automaattisesti sen varmistamiseksi, että käytettävä ohjelma on todennettu. Käyttäjien ei tarvitse puuttua prosessiin, joten automatisoitu testaus ei ole aikaan sidottua.
- Mitä haarautumisella tarkoitetaan?
Odotettu vastaus: Haarautuminen on tekniikka, jota kehittäjät käyttävät versionhallintajärjestelmissä, joissa lähdekoodia kopioidaan kahden erikseen kehitettävän version luomiseksi. Näitä haaroja voidaan sitten kehittää itsenäisesti vaikuttamatta koodikantaan, mikä edistää yhteistyötä.
- Mitä tiedät Jenkinsistä?
Odotettu vastaus: Jenkins on tällä hetkellä markkinoilla olevista työkaluista suosituin jatkuvan integroinnin ja jatkuvan toimituksen (CI/CD) työkalu. Monet DevOps-tiimit (elleivät kaikki) käyttävät Jenkinsiä automatisoidakseen sovellusten rakentamiseen, testaamiseen ja käyttöönottoon liittyviä ohjelmistokehityksen osia.
- Mitkä ovat versionhallinnan edut?
Odotettu vastaus: Versiohallintajärjestelmät parantavat koodauksen tehokkuutta. Tämä saavutetaan seuraavilla tavoilla
- Jäljitettävyys: Kaikkien kehittäjien koodiin tekemiä muutoksia seurataan. Selkeä seurantahistoria auttaa parantamaan ohjelmiston toimivuutta
- Haarautuminen: Kehittäjät voivat työskennellä koodin parissa itsenäisesti ilman, että se vaikuttaa muiden yhteistyökumppaneiden panoksiin
- Virheiden vähentäminen: Ohjelmistovirheiden perimmäinen syy voidaan havaita ja mahdolliset päällekkäisyydet voidaan poimia
Keskitaso & asiantuntija
- Mitä haasteita on DevOps-putkien luomisessa?
Odotettu vastaus:
Ominaisuusliput ovat yleinen tapa käsitellä tuotejulkaisuja CI-ympäristöissä.
Jos tietokannan siirto ei onnistunut, mutta se suoritettiin ajastettuna työnä, järjestelmä saattaa olla tilassa, jossa sitä ei voi käyttää.
- Miten säilöt kommunikoivat Kubernetesissa?
Odotettu vastaus: Pod on Kubernetesin säilöjen välinen yhdistelmä, ja se voi yleensä sisältää useita säilöjä. Podit ovat tasainen verkkohierarkia päällekkäisverkossa ja kommunikoivat keskenään tasaisella tavalla, mikä tarkoittaa, että teoriassa mikä tahansa pod kyseisessä päällekkäisverkossa voi kommunikoida minkä tahansa toisen podin kanssa.
- Miten Kubernetes Podien välistä viestintää rajoitetaan?
Odotettu vastaus: Käytettävästä CNI-verkkoliitännäisestä riippuen, jos se tukee Kubernetesin verkkokäytäntöjen sovellusliittymää, Kubernetes mahdollistaa verkon käyttöä rajoittavien verkkokäytäntöjen määrittämisen.
Käytäntöjä voidaan rajoittaa IP-osoitteiden, porttien ja/tai valitsimien perusteella.
- Mitkä ovat kaksi haarautumisstrategioiden päätyyppiä?
Odotettu vastaus:
Julkaisun haarautuminen, joka luo haaran mahdollista uutta julkaisua varten
Ominaisuuksien haarautuminen, joka luo haaran tietyille ominaisuuksille tai tehtäville
- Miten hybridipilvi rakennetaan?
Anmol vastaa:
Hybridipilveä rakennettaessa on ensin varmistettava, millaista dataa käytämme datakeskuksessa ja kuinka kriittistä se on; oletetaan, että haluamme yhdistää sen AWS:ään. Meillä on kaksi vaihtoehtoa: ensinnäkin voimme käyttää site2site VPN:ää, joka on edullisempi ja helppo asentaa. Toinen vaihtoehto on suora yhteys, joka on vakaampi mutta kallis ja aikaa vievä.
Anmol Nagpal
- Mitkä ovat kriittiset erot omaisuudenhallinnan ja konfiguraationhallinnan välillä?
Odotettu vastaus: Konfiguraationhallinnalla tarkoitetaan omaisuuserien hallintaa kokonaisuuksina ohjelmistokehitysputkessa. Tämä edellyttää eri kokoonpanokohteiden tarkkuuden ja luotettavuuden sekä niiden keskinäisten suhteiden tarkastelua.
Varmista hakijoiden pätevyys kysymällä, miten he selviytyisivät tilanteista, joissa heidän on kommunikoitava eri osastojen työntekijöiden kanssa. Voit myös kysyä heiltä, mistä he ovat pitäneet eniten DevOps-insinöörin työssä tähän mennessä tai mitä haasteita he kohtaavat säännöllisesti nykyisessä tehtävässään. Tällaiset kysymykset antavat tietoa siitä, miten hakija toimii tiimiympäristössä, mikä on olennainen taito kaikille DevOps-insinööreille.
Anmolin mukaan teknisten ja pehmeiden taitojen tarkistamisen lisäksi kannattaa kysyä muutama kysymys muilta kehittäjiltä, jotka todennäköisesti palkataan tiimiin .
"Kysyisin heiltä, mikä on parasta tai pahinta DevOps-osaamisessa. Työskentelevätkö he mielellään myöhään illalla ja ovatko he tavoitettavissa viikonloppuisin. Haluaisin myös tietää, mitä he tekevät vapaa-aikanaan. Kenties he lukevat vapaa-ajallaan teknologiablogeja tai tekevät konseptitestejä."
Anmol Nagpal
Muita kysymyksiä, joita hän ehdottaa kysyttäväksi:
-
Mikä on paras asia, jonka teit viimeisimmässä toimeksiannossasi?
-
Minkä suuren virheen teit urallasi DevOpsin parissa?
-
Kuinka innokas olet oppimaan uusia työkaluja ja teknologioita?
Mahdolliset haasteet DevOps-insinööriä palkattaessa
DevOps-insinöörin palkkaaminen organisaatioon on iso päätös. Toisaalta DevOps-prosessin voimaa ei voi sivuuttaa: se on osoittautunut erinomaiseksi tavaksi hallita ohjelmistojen kehittämistä ja käyttöönottoa. Toisaalta jotkut haasteet tekevät tällaisesta palkkauksesta monimutkaisemman kuin ohjelmistokehittäjän tai järjestelmänvalvojan palkkaamisesta.
Mistä tiedät, onko tiimisi valmis tähän työtehtävään? Mitä voit tehdä varmistaaksesi, että saat oikean henkilön työtehtävään? Seuraavassa on muutamia asioita, joita kannattaa ottaa huomioon DevOps-insinöörin palkkaamisessa, sekä vinkkejä siitä, miten voit varmistaa, että tiimisi on valmistautunut työskentelemään DevOps-insinöörin kanssa.
-
Ensimmäinen haaste on ehdokkaiden etsimiseen ja arviointiin kuluva aika. Etsimäsi ammattitaidon, kokemuksen ja persoonallisuuden omaavan henkilön löytäminen voi viedä viikkoja tai jopa kuukausia muiden kanavien avulla.
-
Toinen haaste on sekä yrityksen että hakijan odotusten hallinta. Kannattaa varmistaa, että yrityksesi tarpeet täyttyvät ja ettet tuhlaa arvokasta aikaa epäsopiviin ehdokkaisiin.
-
Sinun on löydettävä oikea henkilö. Monilla yrityksillä ei ole resursseja tehdä perusteellisia hakuja tai tarjota kilpailukykyistä palkkaa DevOps-insinööreille (varsinkin jos he ovat nuoria). Tämä tarkoittaa, että oikean henkilön löytäminen voi kestää odotettua kauemmin – tai mikä vielä pahempaa, saatat päätyä henkilöön, joka ei vastaa tarpeitasi lainkaan.
-
Sinun on myös varmistettava, että palkkaat henkilön, joka tulee toimeentiimissä jo työskentelevien kanssa. Uuden työntekijän pitäisi pystyä integroitumaan saumattomasti tiimiin, eikä hän saisi aiheuttaa ongelmia muille tai draamaa toimistossa.
-
Korvauksesta päättäminen voi olla hankalaa. Jos käytät rekrytoijia tai headhuntereita, heillä on usein omat käsityksensä siitä, mitä DevOps-insinöörin pitäisi maksaa, ja he saattavat yrittää vakuuttaa sinulle, että insinööri on paljon arvokkaampi kuin mitä hän todellisuudessa on.
-
Jos palkkaat DevOps-insinöörin toisesta yrityksestä, on tärkeää varmistaa, että hänen taitonsa vastaavat tarpeitasi. Jotkin yritykset ovat saattaneet kehittää omia työkalujaan, joita ne käyttävät erilaisiin tarkoituksiin.
-
Viimeinen haaste tulee sen jälkeen, kun olet palkannut työntekijän ja sijoittanut hänet: motivaation ja tuottavuuden ylläpitäminen koko työntekijän toimikauden ajan yrityksessäsi. Tämä voi olla vaikeaa, koska siihen kuuluu useiden osastojen johtaminen organisaatiossa sekä työskentely eri taustoista tulevien henkilöiden kanssa, joilla on eritasoiset taidot.
DevOps-insinöörin palkkaamisprosessi voi olla monimutkainen. On kuitenkin tärkeää muistaa, että se on välttämätöntä, jos haluat yrityksen menestyvän alalla. Oikea henkilö voi auttaa yritystäsi kasvamaan ja kasvattamaan voittoja sekä säästää rahaa pitkällä aikavälillä varmistamalla, että kaikki sujuu ongelmitta.
Yhteenveto
DevOps-insinöörit ovat älykkäitä henkilöitä, joilla on monipuolista tietoa ohjelmoinnin, kehityksen ja infrastruktuurin aloilta. Heidän tehtävänsä vaihtelevat sen mukaan, mitä heidän tiiminsä vaatii, mutta he pitävät kuitenkin silmällä kaikkea DevOpsin piiriin kuuluvaa. Tämän vuoksi heitä voi olla vaikea löytää ja palkata, mutta se kannattaa – heidän asiantuntemuksensa luo pohjan yrityksen kehittämän uuden teknologian menestykselle.
Kilpailu DevOps-insinöörien työmarkkinoilla lisääntyy päivä päivältä. Koska teknologia muuttuu jatkuvasti, on vaikea ennustaa, millaisia taitoja tulevaisuudessa tarvitaan eniten. Jos haluat pysyä kilpailijoiden edellä, on parasta aloittaa ajoissa ja palkata insinööri tiimiisi.
Vuokraa DevOps-taikuri jo tänään ja seuraa, miten työsi muuttuu hyvästä loistavaksi!