Antipatters DevOps pohovorov

Vítam vás všetkých, moji milí čitatelia!

Dnes sa chcem podeliť o svoje myšlienky na dlhodobo diskutovanú tému a možno ju prediskutovať v komentároch.
Celkom často natrafím na články o zlých praktikách pohovoru na pozíciu programátora, ktoré sú podľa môjho názoru dostatočne životaschopné a dúfam, že čitateľné pre HR oddelenia veľkých aj menších firiem.

Vo našich končinách, pokiaľ môžem súdiť, existuje dopyt po takých zaujímavých entitách, ako je DevOps inžinier. Patrím k tým ľuďom, ktorí túto frázu veľmi nevnímajú (áno, áno, DevOps metodológia atď.), a preto vidím určité rozdiely v rozvoji tejto skupiny odborníkov.
Vo všeobecnosti svätoverím, že každý človek má svoj okruh záujmov, aj v pracovnej oblasti, to znamená, že niekoho bavia cloudové technológie, niekoho deep diving do aplikačných serverov, nastavovanie hlbokého Java, a niekto sa dokonca snaží písať kód v Python-e alebo, chráň bože, yaml kód. Takže tu sa objavujú tzv. Infrastructure engineer, Build engineer, Senior Yaml Developer 🙂
To všetko umožňuje na jednej strane nájsť človeka, ktorý je maximálne vhodný pre váš súbor úloh, a na druhej strane vytvára nedorozumenia počas pohovorov.
Na základe osobných skúseností, po tom, čo som absolvoval desiatky pohovorov a taktiež sa zúčastnil rôznych ako odpovedajúci, chcem sa podeliť o svoj pohľad na to, čo sa deje.

Prvý a asi môj najobľúbenejší antipattern — túžba niekoho, aby robil všetko, alebo nejasné, kto je potrebný, pozrieme sa na množstvo kandidátov, tam zistíme. Asi je to aplikovateľné na akúkoľvek oblasť, ale tu sú svoje špecifiká.
Ako som si všimol, ľudia sú viac naklonení ponukám s výrazom DevOps ako System Administrator, hoci sa mi zdá, že na úrovni Senior sa oblasť úloh maximálne líši medzi týmito dvoma oblasťami.
Každý zamestnávateľ, ktorý skutočne potrebuje admina, píše v názve ponuky DevOps, v tele požiadavky uvádza všetko možné, K8S/Java/gradle/oracleDB a tak ďalej, hoci človek vnútri bude musieť podporovať klaster K8S a podporovať OracleDB stack oddelene od tímu.
Takže aké je tu interakcia formátu Developers / Operations?
Následne sa zistí, že nie je stanovený spôsob interakcie s tímom a vlastne neexistuje ani oddelenie operations, a teda budete musieť nastaviť aj počítače vývojárov.
Tento variant v skutočnosti vyhovuje časti uchádzačov, ale buďme úprimní, je to Senior System Administrator, tak prečo to nechcú tak písať a čo je na tom vlastne zahanbujúce? Rozdiel v plate medzi rôznymi názvami profesií? Ale rozpočet spoločnosti je jeden, a ako sa loď volá, tak sa plaví na svoj rozpočet.
A počul som, že kandidát rýchlo automatizuje a zapájané do vývoja produktu na Pythone, aký je v tom rozdiel, všade je Python rovnaký. Rozdiel v mentalite a prístupoch sa neberie do úvahy.

Zvyčajne rozdeľujem úroveň špecialistov, ktorí prichádzajú, a pre každého vidím svoje zvláštnosti.
Junior — osobne pre mňa Junior DevOps je človek, ktorý na strednej úrovni ovládol administráciu / vývoj. Tu je príjemné diferencovať silných Linuxový expertov, ktorí chcú rásť v novej oblasti, alebo vývojárov, ktorí majú chuť robiť dobre pre iných vývojárov. Silných, s nejakými zručnosťami v ladení, hľadaní logov, alebo s nejakým počtom naprogramovaných projektov.
Stretol som ako administrátorov, ktorí vyskúšali niečo a chcú sa dotknúť cloudu, tak aj tých, ktorí skúšali front, back a z nejakých dôvodov našli záujem v procesoch DevOps.
Na tejto úrovni ma vždy znepokojuje, keď začínajú hovoriť o obrovskom technologickom stacku, Puppet, Ansible — prečo všetko neskúsil? K8S, K3S — aký je rozdiel? Koľko typov databáz poznáš? Prečo tak málo? Ako funguje šifrovanie v Jave? Najmä tí, ktorí prišli z vývoja, aj keď sú to veľmi užitoční zamestnanci, pre nich je vždy práca v tejto oblasti.
Vždy ma zneisťuje, keď sa to deje, prvé, čo chcem skúsiť — prečo??? Druhé, čo ma napadne — je sám pohovorujúci pripravený odpovedať na otázky ohľadom tak rozmanitého stacku? Naozaj chcú zobrať juniora a zavesiť na neho všetko?
Často sa to stáva v rôznych bodyshopoch, keď musíte predávať človeka na nejaký projekt a potrebujete viac skvelých slov pre životopis, alebo firma nikoho nechce zobrať, ale len pozerá, akí môžu byť juniori.

Úroveň Middle
Podľa môjho názoru sú tu niektoré extrémy, v prvom rade je ťažké presne určiť, čo človeka posúva na úroveň stredného profilu; buď sa ho snažia stiahnuť späť na juniorskú úroveň, alebo ho začnú tlačiť ako seniora, pričom sa pokúšajú získať seniora za cenu stredného profilu (áno, trh to rozhoduje, nič osobné).
Najzaujímavejšie, čo som videl — je preniknúť hlboko do kódovania, programovať v Pythone, trýzniť Java GC, teda zaoberať sa už detailnejšími špecifickými témami alebo naopak odhaľovať medzery v dávno nepoužívaných vedomostiach, prechádzať po sieťach, typoch ovládačov OS, usmievajúc sa a zlomyselne si pomyslieť, ako mohol na to človek zabudnúť. A tu sa deje to najzaujímavejšie!
Podľa môjho názoru sa k strednému profilu formuje odborníkova sféra záujmov a osobný pohľad na to, s čím chce pracovať — povrchne sa ponoriť do najnovších technológií alebo sa zlepšovať pre náročné podniky, prehlbujúc sa do výkonu kódu.
Podľa môjho názoru by sa tu už malo rozprávať o procesoch, ktoré človek absolvoval, pýtať sa, čo bolo najzaujímavejšie a čo nie, a na základe týchto poznatkov vytvoriť klaster otázok, pričom otázky by sa mali mapping-núť na svoj stack. Inak, keď sa uskutoční zaujímavý rozhovor na hodinu alebo dve o konfigurácii OpenShift klastra, zamestnať človeka a posadiť ho, aby budoval monitoring. Možno sa to zapáči obom stranám.

Úroveň Senior
Ó, moja obľúbená úroveň.
Pred vami je silný špecialista, ktorý sa vybudoval na rôznych projektoch, človek, ktorý už vie, čo chce, a čo mu nie je až tak veľmi po chuti.
A tu začína show:
— hlboké otázky týkajúce sa systémovej administrácie (pozri prvý nepravidelný vzor)
— hlboké otázky o Linuxe vo všeobecnosti zo sféry teórie, ďaleko od praktických vedomostí (Úrovne OSI je top otázka)
— akademické otázky ohľadom kódovania (pretože samotný tazateľ poriadne nevie oblasť, len ho požiadali, aby pohovoril so zvláštnym DevOpsom)
Urobím tu malú poznámku. Raz ma na pohovore požiadali, aby som napísal nejaký kúsok kódu. Na papieri. Ako všetci obľubujú, každý deň píšu, papier je naša všetko.
Keď som sa poradil, po prezretí môjho lístka a jeho riešení, bol vynesený verdikt, že algoritmus nebude optimálny. Navrhol som, aby účastník napísal svoj vlastný algoritmus, na čo som dostal odpoveď: „To nespadá do rámca pohovoru“. Požiadal som o chvíľu, trochu som upravil kód a ukázal som, spýtajúc sa, či to bude rýchlejšie alebo pomalšie? Na čo som dostal odpoveď, prejdime k ďalšej otázke. Rozdiel bol v práci kódu v cykle a bez cyklu a mal som pripravenú odpoveď, prečo je lepšie urobiť to tak, a nie inak. No po tomto som už nemal chuť odpovedať na otázky a pracovať s touto osobou.
Musíme brať do úvahy, že všetci sme rôzni a niečo, čo je pre vás nepodstatné, môže kandidáta odradiť.
— zvyčajne má odborník na úrovni senior presne popísaný pracovný stack, ale nie, treba začať prechádzať po blízkych témach, napríklad máte napísané Ansible, skvelé, ale my máme Puppet, len ste sa takto prišli ukázať, tak nám povedzte o Puppet. Výborne! Pracovali ste s OpenShift? My máme K8s, nerobíme rozdiely, ale vaša skúsenosť nie je relevantná. Skvelé!

Existuje aj taká podkategória — osobne si beriem stážistov na rast do úrovne junior.
Chcem, aby všetci chápali, že stážista je ešte úplne nedefinovaná entita. Veľmi ma desí, keď začnú stážistov tlačiť na úroveň silného juniora a potom s uspokojeným výrazom ponúkajú stáž (niekedy neplatenú, des!).
Nerob to tak.
Stážista je podľa môjho názoru buď študent starších ročníkov, alebo niekto, kto sa veľmi chce „dostať do IT“.
So študentmi je to jednoduché — skvele zistiť, čomu sa venujú na univerzite, čo robili sami, ukázať, na akých otázkach im zasvietia oči — ak zasvietia, spýtať sa, prečo práve DevOps a čo o tom vlastne vedia. Citlivo vnímať človeka a pochopiť, či s ním bude príjemné sa ďalej zaoberať, či chcem niečo naučiť práve tohoto človeka.
S tými, ktorí chcú „odísť do IT“, je to trochu prísnejšie — pozrieť sa na to, ako sa človek samo vzdeláva, čo urobil predtým, ako sa dostal na pohovor k vám, tu bude dobré sa pozrieť na GitHub, ak ho má, hustotu commitov a aké boli cvičenia. Pýtať sa taktiež, prečo vlastne DevOps, veď vo frontende je to veselšie a zábavnejšie?

A nakoniec by som chcel opäť zdôrazniť, čo je veľmi dôležité, určte si, kto vás naozaj potrebuje a okamžite nájdete správneho človeka. Zistite potreby, pozrite sa na odborníka ako na profesionála, nájdite jeho silné stránky a úspešne ich využívajte vo svojej práci. Buďte pozorní k uchádzačovi, prišiel k vám na rozhovor, a nie na súťaž, kto koho zloží alebo nezloží.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster