Поздрав до сите вас, драги мои читатели!
Денес сакам да ги споделам моите размислувања за долгогодишна тема, а можеби и да разговарам за тоа во коментарите.
Доста често наидувам на написи за лоши практики на интервјуа за позицијата програмер, кои според мене се доста релевантни и, се надевам, ги читаат одделенијата за човечки ресурси на големи и не толку големи компании.
Во нашата област, колку што можам да кажам, има побарувачка за такви интересни субјекти како инженерите на DevOps. Јас сум еден од оние луѓе кои навистина не ја разбираат оваа фраза (да, методологијата на DevOps итн.), па затоа гледам некои разлики во развојните патеки на оваа група специјалисти.
Прво, јас цврсто верувам дека секој човек има свој опсег на интереси, дури и во работната област, односно некои сакаат облак, некои сакаат да истражуваат длабоко во серверите за апликации, да конфигурираат длабока Java, а некои да пишуваат код во Python или не дај Боже јамл код. Односно, овде се појавуваат таканаречениот инженер за инфраструктура, инженер за градење, постар развивач на Јамл :)
Сето ова овозможува, од една страна, да пронајдете личност која најмногу одговара на вашиот базен на задачи, а од друга страна, создава недоразбирања за време на интервјуата
Врз основа на лично искуство, имам направено десетици интервјуа, а исто така учествував во различни како обвинет, сакам да го споделам моето видување за се што се случува.
Првиот и веројатно мојот омилен анти-шаблон е желбата некој да направи сè, или не е јасно кој е потребен, ќе разгледаме еден куп кандидати и ќе разбереме. Ова веројатно се однесува на која било област, но има свои карактеристики.
Како што забележав, луѓето се повеќе алчни за работни места со зборовите DevOps отколку системски администратор, иако според мене, на ниво на повисоко ниво, опсегот на задачите се разликува колку што е можно во овие две области.
Секој работодавач на кој навистина му треба системски администратор пишува devops во насловот на работното место, наведувајќи апсолутно сè во телото на барањето, K8S/Java/gradle/oracleDB итн. на списокот, иако од внатре лицето ќе мора да се справи со поддршка на кластерот K8S и поддршка на стекот OracleDB изолирано од тимот.
Па, тоа е, каква интеракција има помеѓу форматот Програмери / Операции?
Понатаму, излегува дека не постои таков процес на интеракција со тимот и воопшто, нема операции како оддел и треба да ги поставите компјутерите на програмерите.
Оваа опција всушност одговара на некои апликанти, но да бидеме искрени, ова е виш системски администратор, па зошто тие не сакаат да пишуваат така и што е срамотно во тоа? Разлики во платата помеѓу различни работни звања? Но, компанијата има еден буџет, и како и да го нарекувате бродот, таа ќе плови по сопствен буџет.
Па, дури и слушнав за ова, сега кандидатот брзо ќе автоматизира сè и ќе се вклучи во развојот на производ во Python, што е разликата, Python е секаде ист. Разликите во поглед на светот и пристапите не се земаат предвид.
Следно, јас обично го разликувам нивото на специјалисти кои доаѓаат и ги гледаат нивните маки посебно за секој
Јуниор - за мене лично, Junior DevOps, е личност која ја совладала системската администрација / развој на просечно ниво. Овде е убаво да се направи разлика помеѓу силни корисници на Линукс кои сакаат да растат во нова област или програмери кои имаат желба да прават добро за другите програмери. Силен, со некои вештини за дебагирање, пребарување на дневници или со некои залихи на кодирани проекти.
Ги запознав и системските администратори кои пробаа нешто и сакаат да ги допрат облаците, и оние кои пробаа напред и назад и поради некоја причина најдоа интерес за процесите на DevOps.
На ова ниво, секогаш ме збунува кога почнуваат да фрлаат наоколу огромен куп технологии, Кукла, Ансибл - зошто не пробав сè? K8S, K3S - која е разликата? Колку видови бази на податоци знаете? зошто толку малку? Како функционира шифрирањето во Јава? Особено оние кои дојдоа од развој, иако се работи за многу корисен кадар, за нив секогаш има работа во оваа област.
Секогаш сум во ступор кога ќе се случи ова, првото нешто што сакам да прашам е зошто??? второто нешто што ми доаѓа на ум е - дали самиот интервјуер е подготвен да одговори на прашања на толку разновиден оџак? Дали навистина сакаат да го земат Џун и да му закачат се?
Често, ова се случува во сите видови на каросериски работилници, кога треба да продадете личност за некој проект и ви требаат повеќе кул зборови за вашата биографија, или компанијата не сака да вработи никого, туку само гледа какви се јуниори има.
Средно ниво
тука има неколку крајности, според мене, прво, веројатно е тешко јасно да се определи за што точно човек е привлечен да биде средина, или се обидуваат да го расфрлаат до јуни, или почнуваат да го возат како сениор, обидувајќи се да грабнат сениор по цена од среден (да, тоа го одлучува пазарот, ништо лично)
Најневеројатното нешто што сум го видел е навлегувањето длабоко во кодирањето, мешањето со Python, мачење на Java GC, односно со подлабоко специфични теми или обратно, откривање празнини во знаењето што не се користело долго време , возење низ мрежи, типови на двигатели на оперативниот систем, насмевка и блескање, како може човек да го заборави ова? И тука се случува најинтересното!
До средното ниво, според мое мислење, специјалист развива низа интереси и личен поглед на она со што сака да работи - да го подигне најновиот куп, да турка трик во коцка или да замавне за страшно претпријатие, навлегува длабоко во перформансите на кодот.
Според мое мислење, вреди да се прашате овде за процесите на кои работела личноста, да прашате што е најинтересно, а што не, и врз основа на ова знаење, изградите група прашања, обично додавајќи прашања во вашиот куп. Во спротивно, откако ќе имате фасцинантен разговор еден или два часа за конфигурирање на кластерот OpenShift, ангажирајте лице и доделете му да изгради мониторинг. Веројатно ќе им се допадне и на двете страни.
Високо ниво
О, моето омилено ниво.
Еве еден силен специјалист кој се издигнал на различни видови проекти, личност која веќе знае што сака, а што не толку многу.
И така шоуто започнува:
— длабоки прашања за системската администрација (видете го првиот антишек)
— длабоки прашања за Linux воопшто од областа на теоријата, далеку од практичното знаење (врвно прашање на нивоа на OSI)
- академски прашања во врска со кодирањето (бидејќи самиот интервјуер навистина не ја знае областа, од него едноставно беше побарано да интервјуира чуден девоп)
Овде ќе дадам мала забелешка. Еден ден, за време на интервјуто, ме замолија да напишам дел од кодот. На парче хартија. Па, како што сите сакаат, пишуваат секој ден, летокот ни е се.
Откако ја завршив задачата, откако го погледнав мојот лист хартија и решението, беше донесена пресуда дека алгоритмот ќе биде неоптимален. Му предложив на интервјуерот да напише свој алгоритам, на што добив одговор „Ова не е во опсегот на интервјуто“. Побарав минута, малку го сменив кодот и го покажав прашувајќи дали ќе биде побрзо или побавно? На што добив одговор, да преминеме на следното прашање. Разликата беше во тоа како функционираше кодот во јамка и без циклус, а јас имав подготвен одговор зошто е подобро тоа да се прави вака, а не така. Па, после тоа повеќе не сакав да одговарам на прашања и да работам со оваа личност.
Мора да земеме во предвид дека сите сме различни и кандидатот може да биде одложен од се што не ви е важно.
— обично специјалистите од повисоко ниво имаат јасен опис на работниот оџак, но не, треба да почнете да користите нешто блиско до вас, на пример, имате напишано Ansible, одлично, но ние имаме Puppet, само што ви се јавивме, па кажете ние за куклата. Совршено! Дали сте работеле со OpenShift? Имаме K8, не ги знаеме разликите, но вашето искуство е ирелевантно. Неверојатно!
Има и таква подкласа - јас лично земам специјализанти за да прераснат во јуниори.
Би сакал сите да разберат дека практикантот е субјект кој сè уште не е воопшто формиран. Ужасно ме плаши кога ќе почнат да ги туркаат специјализантите до силното Јуниорско ниво, а потоа со задоволен изглед да им понудат пракса (понекогаш неплатен, кошмар!)
Не правете го тоа на овој начин.
Практикантот, според мое мислење, е или апсолвент или некој што навистина сака „да се занимава со ИТ“.
Со студентите, сè е едноставно - одлично е да дознаете што прави на универзитетот, што направил самиот, да видите на кои прашања му светат очите - ако светат, прашајте зошто во devops и што е општо познато за тоа. Почувствувајте ја личноста и разберете дали ќе биде пријатно да продолжите да работите со него, дали сакате да ја научите оваа личност нешто.
Со оние кои сакаат да „влезат во ИТ“, сè е малку построго - видете колку човек се учи себеси, што правел пред да стигне на вашето интервју, еве добра опција би била да погледнете во Github, ако има, на се разбира, густината на обврските и кои вежби се направени. Прашајте, исто така, зошто се развива, бидејќи е позабавен и покомплексен во предниот дел?
И, конечно, би сакал уште еднаш да дадам совет: одлучете кој навистина ви треба и веднаш ќе ја пронајдете вистинската личност. Идентификувајте ги потребите, гледајте го специјалистот како специјалист, пронајдете ги неговите силни страни и успешно искористете ги во вашата работа. Бидете внимателни кон интервјуираниот, тој дојде кај вас на разговор, а не на натпревар за да видите кој кому ќе пропадне или не.
Извор: www.habr.com
