Antimönster för DevOps-intervjuer

Hej alla mina kÀra lÀsare!

Idag vill jag dela med mig av mina tankar kring ett Àmne som lÀnge har varit aktuellt, och kanske diskutera det i kommentarerna.
Ganska ofta stöter jag pÄ artiklar om dÄliga intervjumetoder för programmerartjÀnster, som jag anser Àr ganska livslevande och som jag hoppas lÀses av HR-avdelningar pÄ bÄde stora och smÄ företag.

HÀr i vÄra trakter, sÄ mycket jag kan bedöma, finns det en efterfrÄgan pÄ intressanta entiteter som DevOps-ingenjör. Jag tillhör dem som inte riktigt förstÄr termen (ja, ja, DevOps-metodologin, osv), sÄ jag ser vissa skillnader i utvecklingsvÀgar för denna grupp av specialister.
Först och frĂ€mst tror jag helhjĂ€rtat att varje mĂ€nniska har sitt eget intresseomrĂ„de, Ă€ven inom sitt arbetsfĂ€lt, det vill sĂ€ga vissa Ă€lskar moln, andra gillar att grĂ€va djupt i applikationsservrar, anpassa Java pĂ„ djupet, medan andra skriver kod i Python eller, Gud förbjude, yaml-kod. SĂ„ hĂ€r kommer vi till de sĂ„ kallade Infrastruktur ingenjörerna, Byggingenjörerna, Senior Yaml-utvecklarna 🙂
Detta gör att man Ä ena sidan kan hitta en person som passar perfekt för din uppsÀttning uppgifter, men Ä andra sidan skapar det missförstÄnd under intervjuer.
Baserat pÄ min personliga erfarenhet av att ha genomfört ett antal Dussintals intervjuer samt deltagit i olika som svarande, vill jag dela med mig av min syn pÄ allt som hÀnder.

Den första och kanske min favoritantipattern - att vilja att nÄgon ska kunna göra allt, eller att oklart vem som behövs, sÄ vi kollar en massa kandidater och dÀrifrÄn ser vi vad som passar. Kanske tillÀmpas detta pÄ alla omrÄden, men hÀr finns det sina egna egenskaper.
Som jag lagt mÀrke till, Àr folk mer benÀgna att söka jobb med ordet DevOps jÀmfört med Systemadministratör, fast jag anser att pÄ Senior-nivÄ skiljer sig uppgiftsomrÄdet maximalt mellan dessa tvÄ omrÄden.
Alla arbetsgivare som faktiskt behöver en systemadministratör, skriver i rubriken till jobbet 'DevOps', och listar i begÀran absolut allt, K8S/Java/gradle/oracleDB osv, Àven om det inombords innebÀr att personen kommer att Àgna sig Ät att stödja en K8S-kluster och underhÄlla OracleDB-stacken oberoende av teamet.
SÄ, vilket samspel finns det hÀr mellan formatet Utvecklare/Drift?
Det visar sig att det inte finns nÄgot sÀtt för detta interaktionsprocess med teamet, och egentligen finns det ingen operationsavdelning, sÄ du mÄste stÀlla in utvecklarnas datorer.
Den hÀr varianten passar faktiskt vissa kandidater, men lÄt oss vara Àrliga, det handlar om Senior System Administrator, sÄ varför vill man inte skriva det och vad Àr det som Àr sÄ skamligt med det? Skillnaden i lön mellan olika yrkesnamn? Men företagets budget Àr densamma, och hur man Àn kallar ett fartyg, sÄ kommer det att segla pÄ sin budget.
Jag har faktiskt hört talas om det, nu automatiserar kandidaten allt snabbt och gÄr in i produktutvecklingen pÄ Python, vilken skillnad, överallt Àr Python densamma. Skillnader i vÀrderingar och angreppssÀtt beaktas inte.

Jag brukar vanligtvis differentiera nivÄn pÄ specialister som kommer in och ser specifika problem för var och en av dem.
Junior — personligen ser jag Junior DevOps som en person som har en medelnivĂ„ av kunskap inom systemadministration / utveckling. HĂ€r Ă€r det trevligt att differentiera starka Linux-anvĂ€ndare som vill vĂ€xa inom det nya omrĂ„det, eller utvecklare som har ett intresse av att göra gott för andra utvecklare. Starka, med nĂ„gon form av fĂ€rdigheter inom debug, loggsökning, eller med ett antal genomförda projekt.
Jag har trÀffat bÄde systemadministratörer som har provat nÄgot och vill beröra moln, liksom de som har provat frontend, backend och av olika anledningar funnit intresse i DevOps-processer.
PĂ„ denna nivĂ„ blir jag alltid förvirrad nĂ€r nĂ„gon börjar prata om en enorm teknikstack, Puppet, Ansible — varför har man inte provat allt? K8S, K3S — vad Ă€r skillnaden? Hur mĂ„nga databastyper kĂ€nner du till? Varför sĂ„ fĂ„? Hur fungerar kryptering i Java? Speciellt de som har kommit frĂ„n utveckling, Ă€ven om det Ă€r mycket anvĂ€ndbara personer, det finns alltid arbete för dem inom detta omrĂ„de.
Det gör mig alltid förvirrad nÀr det hÀnder, det första jag vill frÄga Àr - varför??? Det andra som kommer att tÀnka pÄ Àr - Àr verkligen intervjuaren redo att svara pÄ frÄgor om en sÄ varierad teknikstack? Vill de verkligen anstÀlla en junior och lasta honom med allt?
Detta hÀnder ofta i olika bodysjoppar, nÀr man mÄste sÀlja en person till ett projekt och behöver fler fina ord för CV:t eller sÄ vill företaget helt enkelt inte ta in nÄgra, utan bara se vilka juniorer som finns.

NivÄn Middle
HÀr finns flera extremiteter, tycker jag. För det första Àr det nog svÄrt att klargöra nÀr nÄgon drar mot mid-nivÄ; antingen försöker man fördröja dem till junior eller sÄ behandlar man dem som senior, vilket försöker fÄ en senior för mellannivÄns pris (ja, marknaden bestÀmmer, inget personligt).
Det mest fantastiska jag har sett Àr att gÄ djupt in i kodning, arbeta med Python, plÄga Java GC, det vill sÀga mer specifika Àmnen, eller Ä andra sidan, avslöja luckor i lÀnge bortglömda kunskaper, navigera i nÀtverk, operativsystemets drivrutins typer, och jag ler och hÄnar hur nÄgon kunde glömma detta. Och hÀr hÀnder det mest intressanta!
Till mid-nivÄ, enligt min Äsikt, formar specialisten ett intresseomrÄde och en personlig syn pÄ vad de vill arbeta med - att ha en trend pÄ den senaste teknologin, stoppa in en kub av trick, eller trÀna sig för det skrÀmmande företagslivet, djupdyka i kodens prestanda.
Enligt min Äsikt Àr det vÀrt att frÄga om de processer som personen har arbetat med, frÄga vad som var mest intressant och vad som inte var det, och basera en kluster av frÄgor pÄ dessa kunskaper, och noggrant kartlÀgga frÄgorna pÄ sin stack. Annars, efter en fascinerande konversation pÄ en eller tvÄ timmar om konfiguration av OpenShift-kluster, anstÀlla nÄgon och lÄta dem bygga övervakning. Det skulle nog tillfredsstÀlla bÄda sidor.

SeniornivÄ
Åh, min favoritnivĂ„.
Framför er stÄr en stark specialist som har vuxit upp pÄ olika typer av projekt, en person som redan vet vad de vill ha och vad de inte Àr sÄ förtjusta i.
Och hÀr börjar showen:
— djupa frĂ„gor inom systemadministration (se första antipatternen)
— djupa frĂ„gor om Linux i allmĂ€nhet, frĂ„n teorin, lĂ„ngt ifrĂ„n praktiska kunskaper (OSI-modellens nivĂ„er, en topp-frĂ„ga)
— akademiska frĂ„gor om kodning (för att intervjuaren sjĂ€lv inte riktigt kĂ€nner till omrĂ„det, de bad bara att intervjua en konstig devops)
Jag vill göra en liten anmÀrkning hÀr. En gÄng, under en intervju, bad de mig skriva en bit kod. PÄ ett papper. Precis som alla Àlskar, man skriver ju varje dag, pappret Àr allt.
Efter att ha fullföljt uppgiften och efter att ha granskat min anteckning och lösningen, blev det klart att algoritmen skulle vara suboptimal. Jag föreslog att intervjuaren skulle skriva sin egen algoritm, pÄ vilket jag fick svaret "Det ingÄr inte i intervjun". Jag bad om en minut, gjorde lite Àndringar i koden och visade den, och frÄgade om det skulle vara snabbare eller lÄngsammare? Jag fick svaret att vi gÄr vidare till nÀsta frÄga. Skillnaden var i kodens arbete i en loop och utan loop, och jag hade förberett ett svar om varför det Àr bÀttre att göra sÄ istÀllet för sÄ. Efter det kÀnde jag att jag inte ville svara pÄ fler frÄgor och arbeta med den personen.
Det Àr viktigt att komma ihÄg att vi alla Àr olika, och Àven smÄ detaljer som du kanske anser vara obetydliga kan skrÀmma en kandidat.
— Vanligtvis har specialister pĂ„ seniornivĂ„ en tydlig arbetsstack, men sĂ„ Ă€r inte fallet. IstĂ€llet börjar man stĂ€lla frĂ„gor om nĂ€rstĂ„ende Ă€mnen; till exempel, ni har Ansible, utmĂ€rkt, men vi anvĂ€nder Puppet, vi kallade er bara för att ni ska berĂ€tta om Puppet. UtmĂ€rkt! Har ni arbetat med OpenShift? Vi har K8s, vi kĂ€nner inte till skillnaderna, men er erfarenhet Ă€r irrelevant. Fantastiskt!

Det finns ocksĂ„ en underklass — jag tar personligen praktikant för att vĂ€xa in i juniorkarriĂ€ren.
Jag vill att alla ska förstÄ att en praktikant Àr en entitet som Ànnu inte Àr helt formad. Jag blir fruktansvÀrt skrÀmd nÀr praktikanter pressas upp till en stark junior-nivÄ och sedan erbjuds praktik (ibland obetald, vilket Àr en mardröm!).
Det behövs inte.
En praktikant, i min mening, Àr antingen en student pÄ högre Ärskurser, eller nÄgon som verkligen vill "gÄ in i IT-branschen".
Med studenter Ă€r det enkelt — det handlar om att ta reda pĂ„ vad de sysslar med pĂ„ universitetet, vad de sjĂ€lva har gjort, och se pĂ„ vilka frĂ„gor deras ögon gnistrar — om de gör det, frĂ„ga varför just DevOps och vad de överhuvudtaget vet om det. KĂ€nn av personen och förstĂ„ om det skulle vara trevligt att fortsĂ€tta arbeta med dem, om man vill undervisa just den personen.
Med dem som vill "gĂ„ in i IT-branschen" Ă€r det lite tuffare — undersök hur sjĂ€lvdrivna personen Ă€r, vad de har gjort innan de kom till er intervju, ett bra alternativ Ă€r att titta pĂ„ deras GitHub, om de har en, hur ofta de begĂ„r och vilka övningar de har genomfört. FrĂ„ga ocksĂ„ varför just DevOps, eftersom frontend oftast Ă€r roligare och mer intressant?

Och avslutningsvis vill jag Äterigen ge rÄdet: bestÀm er för vem ni verkligen behöver, sÄ hittar ni genast rÀtt person. Identifiera behov, se pÄ specialisten som en expert, upptÀck hans styrkor och utnyttja dem framgÄngsrikt i ert arbete. Var uppmÀrksam pÄ den intervjuade; han kom för att ha en diskussion, inte för att tÀvla om vem som ska misslyckas eller lyckas.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster