Antipaternat e intervistave DevOps

Përshëndetje për të gjithë ju, lexues të dashur!

Sot dua të ndaj mendimet e mia mbi një temë që është diskutuar prej një kohe të gjatë, dhe ndoshta ta diskutojmë atë në komentet.
Më shpesh kam hasur artikuj mbi praktikat e këqija në intervistat për pozita programatori, të cilat, sipas mendimit tim, janë mjaft jetike dhe, shpresoj, lexohet nga departamentet HR të kompanive të mëdha dhe jo aq të mëdha.

Në vendin tonë, sa mund të gjykoj, ka kërkesë për entitete kaq interesante si inxhinierët DevOps. Unë jam një nga ata njerëz që nuk e percepton mirë këtë frazë (po, po, metodologjia DevOps, etj.), prandaj shoh disa dallime në rrugët e zhvillimit të kësaj grupi specialistësh.
Para së gjithash, besoj fort se çdo njeri ka rrethin e vet të interesave, madje edhe në fushën e punës, pra disa janë të dashuruar pas reve, disa pëlqejnë të thellohen në serverat e aplikacioneve, të konfigurojnë thellë Java, e disa të shkruajnë kod në Python ose, Zot na ruajt, kodin YAML. Pra, këtu shfaqen inxhinierët e Infrastrukturës, inxhinierët e Ndërtesës, Zhvilluesit e Yaml të Nivelit të Lartë 🙂
E gjithë kjo lejon nga njëra anë të gjejmë personin më të përshtatshëm për grupin tuaj të detyrave, dhe nga ana tjetër krijon keqkuptime në intervistat.
Duke u bazuar në përvojën time personale, kam zhvilluar një numër të caktuar intervistash, si dhe kam marrë pjesë në të ndryshme si përgjigjës, dua të ndaj pikëpamjen time për gjithçka që po ndodh.

Mënyra e parë dhe ndoshta antipaterni im më i preferuar - dëshira për të kërkuar dikë që të bëjë gjithçka, ose nuk dihet se kush nevojitet, le të shohim një mori kandidatësh, aty do ta kuptojmë. Ndoshta, kjo është e aplikueshme për çdo fushë, por këtu ka disa veçori.
Si e kam vënë re, njerëzit janë më të tërhequr nga ofertat e punës me fjalën DevOps sesa nga Administratori i Sistemeve, edhe pse sipas mendimit tim, në nivelin e të moshuarve, fushat e detyrave ndahen shumë në këto dy fusha.
Çdo punëdhënës që, në të vërtetë, ka nevojë për një sistem administrator, shkruan në titullin e ofertës devops, duke listuar brenda kërkesës absolutisht gjithçka, K8S/Java/gradle/oracleDB etj., ndërsa brenda, personi do të merret me mbështetje të klasterit K8S dhe mbështetje të stack-ut OracleDB në veçanti nga ekipi.
Pra, çfarë lloj ndërveprimi ka këtu mes zhvilluesve dhe operacioneve?
Me vjen keq, por duket se asnjë proces interaksioni me ekipin nuk është parashikuar dhe në përgjithësi, nuk ka një departament operativ dhe ju do të duhet të konfiguroni kompjuterët e zhvilluesve.
Ky variant, në të vërtetë, i përshtatet disa kërkuesve, por le të jemi të sinqertë, ky është një Administratori i Sistemit të Lartë, pra pse nuk e shkruajnë kështu dhe çfarë është e turpshme në këtë? Ndryshimi në pagë mes emërtimeve të ndryshme të profesioneve? Por buxheti i kompanisë është i njëjtë, dhe siç e thonë, me çfarëdo emri të quhet, do të fluturojë në buxhetin e tij.
Kam dëgjuar gjithashtu për këtë, tani kandidati automatikisht e bën gjithçka dhe integron në zhvillimin e produktit në Python, nuk ka rëndësi, në çdo vend Python është njësoj. Ndryshimi në botëkuptim dhe qasje nuk merret parasysh.

Pastaj zakonisht diferencoj nivelin e specialistëve që vijnë dhe veçmas për secilin shoh vështirësi të mia.
Junior - për mua Junior DevOps është një person i cili ka përvetësuar në një nivel të mesëm administratën e sistemeve / zhvillimin. Këtu është e këndshme të diferencosh linuxistët e fortë, që duan të rriten në një fushë të re, ose zhvilluesit, të cilët kanë dëshirë të bëjnë mirë për zhvilluesit e tjerë. Të fortë, me disa aftësi për debugim, gjetjen e logëve, ose me ndonjë sasi projektesh të koduar.
Kam takuar si administratë sistemesh, të cilët kanë provuar diçka dhe duan të prekin rehatitë, ashtu edhe ata që kanë provuar frontin, backendin dhe për ndonjë arsye kanë gjetur interes në proceset DevOps.
Në këtë nivel gjithmonë më shqetëson kur fillojnë t'i hedhin këto teknologji të mëdha, Puppet, Ansible - pse nuk e ke provuar krejt? K8S, K3S - çfarë dallimi ka? Sa lloje databazash di? përse ka kaq pak? si funksionon enkriptimi në Java? Sidomos ata, të cilët vijnë nga zhvillimi, megjithëse këta janë shumë të dobishëm, gjithmonë ka punë për ta në këtë fushë.
Gjithmonë më mw zgjat kur ndodh një gjë e tillë, e para që dua të pyes - përse??? e dyta që më vjen në mend - a është intervistuesi vetë i gatshëm të përgjigjet për pyetje mbi një arsenal të tillë të larmishëm? A vërtet duan të marrin një junior dhe t'i ngarkojnë të gjitha?
Herë pas here, kjo ndodh në çdo lloj agjensish, kur duhet të shesësh një person për ndonjë projekt dhe duhen më shumë fjalë të bukura për CV-në, ose kompania nuk dëshiron të marrë askënd dhe thjesht sheh se çfarë juniorë ka.

Niveli Middle
Këtu ka disa ekstremitete në mendimin tim, së pari është e vështirë të përcaktohet qartë se çfarë e tërheq dikë për pozita mid-level, ose përpiqen ta rrëzojnë deri në junior, ose fillojnë ta trajtojnë si senior, duke u përpjekur të marrin një senior për çmimin e një mid-level (po, tregu vlen, asgjë personale).
Më e habitshme është se kam parë - të shkojë thellë në kodim, të punojë me Python, të merret me Java GC, pra me tema më specifike, ose përkundrazi, të rregullojë boshllëqet në njohuritë e vjetra, të kalojë nëpër rrjete, llojet e drejtuesve të OS, qesh dhe gëzohem se si mund ta harrojë dikush këtë. Dhe këtu ndodh më interesante!
Përsa i përket nivelit mid, sipas mendimit tim, specialistët formojnë një grup interesash dhe një pikëpamje të vetën mbi atë me të cilin duan të punojnë - ose të rrisin në stack-un më të ri, ose të përgatiten për një ndërlikim të tmerrshëm në ndërmarrje, duke kaluar në thellësi të performancës së kodit.
Sipër mendimit tim, duhet të pyesim për proceset me të cilat ka punuar personi, të pyesim se çfarë ka qenë më interesant dhe çfarë jo, dhe bazuar në këto njohuri të ndërtosh një grup pyetjesh, duke i lidhur ato me stekun tënd. Ndryshe, pas një bisede interesante për një ose dy orë rreth konfigurimit të një klasteri OpenShift, e angazhojmë një person dhe e vendosim të ndërtojë monitorimin. Njëjta mund të jetë e këndshme për të dyja palët.

Niveli Senior
O, niveli im i preferuar.
Para jush është një specialist i fortë, i cili është rritur në lloje të ndryshme projektesh, një person që tashmë e di se çfarë dëshiron dhe çfarë nuk i pëlqen shumë.
Dhe kështu fillon shfaqja:
— pyetje të thella mbi administrimin e sistemit (shihni anti-patternin e parë)
— pyetje të thella mbi Linux-in në përgjithësi nga teoria, e largët nga njohuritë praktike (Pyetja më e njohur në nivelet OSI)
— pyetje akademike për kodim (sepse intervistuesi vetë nuk e njeh mirë fushën, thjesht e kishin kërkuar të bënte intervistën për një devops të pazakontë)
Dua të bëj një shënim të vogël këtu. Një herë, gjatë një intervistimi më kërkuan të shkruaj një copë kod. Në një copë letër. Të gjithë e duan këtë, çdo ditë shkruajnë, letra është gjithçka për ne.
Pas doli me detyrën, pas këqyrjes së fletës time dhe zgjidhjes, u dha verdikti se algoritmi do të ishte jo optimal. Unë propozoj që intervistuesi të shkruante algoritmin e tij, për të cilin mori përgjigjen "Kjo nuk hyn në kornizat e intervistës". Kërkova një mëndje, riparova pak kodin dhe e tregova, duke pyetur, a do të jetë më shpejt apo më ngadalë? Përgjigja ishte, kalojmë në pyetjen tjetër. Diferenca ishte në mënyrën se si funksiononte kodi në cikël dhe pa cikël dhe unë kisha një përgjigje të përgatitur se pse ishte më mirë të bëhej kështu, e jo ndryshe. Pas kësaj, nuk më pëlqeu më të përgjigjesha në pyetje dhe të punoja me këtë person.
Duhet të konsideroni se të gjithë jemi të ndryshëm dhe ndonjë gjë që për ju nuk ka rëndësi, mund ta friksojë kandidatin.
— zakonisht, specialistët e nivelit Senior kanë një strukturë të qartë të punës, por jo, duhet të fillosh të flasësh për gjëra të afërta, për shembull, ju keni shkruar Ansible, shkëlqyer, por ne kemi Puppet, ne ju thirrëm vetëm kështu, përse mos na flisni për Puppet. Shkëlqyer! A keni punuar me OpenShift? Ne kemi K8s, nuk dimë të bëjmë dallime, por përvoja juaj është e pa lidhur. Skuqur!

Ka edhe një nënklasë — unë personalisht marr praktikantë për t'i rritur në juniorë.
Dua të kuptohet se praktikanti është një entitet që ende nuk është formuar. Më frikon jashtëzakonisht kur praktikantët fillojnë të trajtohen si juniorë të fortë dhe pastaj, në mënyrë të kënaqur, u ofrojnë një praktikë (ndonjëherë pa pagesë, tmerr!)
Nuk duhen bërë kështu.
Praktikanti, sipas mendimit tim, është ose një student i viteve të fundit, ose dikush që ka shumë dëshirë "të shkojë në IT".
Me studentët është e thjeshtë — është shumë mirë të dish çfarë bën në universitet, çfarë ka bërë vetë, të shohësh për cilat pyetje i ndizet syri — nëse ndizen, të pyesësh pse pikërisht DevOps dhe çfarë di për këtë. Të ndiesh njeriun dhe të kuptosh, a do të jetë kënaqësi të punosh më tutje me këtë person, a do të donim ta mësonim pikërisht këtë njeri.
Me ata që duan "të shkojnë në IT", është pak më serioze — të shohësh sa shumë mësojnë vetë, çfarë kanë bërë përpara se të vinin në intervistë, këtu një variant i mirë do të ishte të shikosh GitHub-in, nëse e kanë, dendësia e komiteve dhe cilat ushtrime janë bërë. Të pyesësh gjithashtu pse, në fakt, DevOps, sepse në frontend është më argëtuese dhe më interesante?

Dhe në fund, dëshiroj t'ju jap një këshillë të fundit: përcaktoni se kush ju nevojitet me të vërtetë dhe menjëherë do të gjeni personin e duhur. Identifikoni nevojat tuaja, shikoni specialistin si një profesionist, gjeni pikat e tij të forta dhe përdorini ato me sukses në punën tuaj. Bëni kujdes ndaj intervistuesit, ai erdhi te ju për një bisedë, dhe jo për një garë se kush do ta dërgojë tjetrin në dështim.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster