Како укротити јуниора?

Како ући у велику компанију ако сте јуниор? Како запослити пристојног јуниора ако сте велика компанија? Испод реза ћу вам испричати нашу причу о запошљавању почетника на фронт енд-у: како смо радили кроз тестне задатке, припремали се за интервјуе и направили менторски програм за развој и укључивање новајлија, као и зашто се не постављају стандардна питања за интервју. не радим.

Како укротити јуниора?
Покушавам да укротим Јуниора

Здраво! Зовем се Павел, радим фронт-енд у Врике тиму. Креирамо систем за управљање пројектима и сарадњу. На вебу радим од 2010. године, радио сам 3 године у иностранству, учествовао у неколико стартапова и предавао курс о веб технологијама на универзитету. У компанији сам укључен у развој техничких курсева и Врике менторског програма за јуниоре, као и њихово директно запошљавање.

Зашто смо уопште размишљали о ангажовању јуниора?

До недавно смо регрутовали програмере средњег или вишег нивоа за фронтенд – довољно независне да обављају задатке производа након укључивања. Почетком ове године схватили смо да желимо да променимо ову политику: током године број наших производних тимова се скоро удвостручио, број фронт-енд програмера се приближио стотини, а у блиској будућности ће све то морају поново да се удвоструче. Посла има пуно, мало слободних руку, а још их је мање на тржишту, па смо одлучили да се обратимо момцима који тек почињу свој пут у фронт енду и схватили да смо спремни да улажемо у њихов развој.

Ко је јуниор?

Ово је прво питање које смо себи поставили. Постоје различити критеријуми, али најједноставнији и најразумљивији принцип је следећи:

Јуниору треба објаснити која карактеристика и како се то ради. Средњем треба објаснити која је карактеристика потребна, а он ће сам схватити имплементацију. Сам сињор ће вам објаснити зашто ова функција уопште не треба да се ради.

На овај или онај начин, јуниор је програмер коме је потребан савет како да примени ово или оно решење. На чему смо одлучили да градимо:

  1. Јуниор је неко ко жели да се развија и спреман је да напорно ради за ово;
  2. Не зна увек у ком правцу жели да се развија;
  3. Потребан му је савет и тражи помоћ споља - од свог вође, ментора или у заједници.

Такође смо имали неколико хипотеза:

  1. Биће бура одговора на став јуна. Морате филтрирати насумичне одговоре у фази слања биографије;
  2. Примарни филтер неће помоћи. — потребно је више тестних задатака;
  3. Тестни задаци ће све уплашити - нису потребни.

И наравно, имали смо циљ: 4 јуниора за 3 недеље.

Са овом спознајом почели смо да експериментишемо. План је био једноставан: почните са најширим могућим левком и покушајте да га постепено сузите како бисте могли да обрадите ток, али не да га смањите на 1 кандидата недељно.

Објављујемо слободно радно место

За компанију: Биће стотине одговора! Размислите о филтеру.

За јуниоре: Не плашите се упитника пре него што пошаљете свој животопис и тест задатак - ово је знак да се компанија побринула за вас и да је добро поставила процес.

Првог дана смо добили око 70 животописа од кандидата „са познавањем ЈаваСцрипта“. А онда опет. И даље. Физички нисмо могли да позовемо све у канцеларију на интервју и од њих смо изабрали момке са најбољим пројектима за кућне љубимце, Гитхуб уживо или барем искуство.

Али главни закључак који смо сами себи донели већ првог дана је да је олуја почела. Сада је време да додате образац за упитник пре него што поднесете свој животопис. Њен циљ је био да одвоји кандидате који нису били вољни да уложе минимум напора да поднесу биографију, као и оне који нису имали знање и контекст да бар гуглају тачне одговоре.

Садржао је стандардна питања о ЈС-у, изгледу, вебу, информатици - сви који замишљају шта питају на фронт-енд интервјуу знају их. Која је разлика између лет/вар/цонст? Како могу да применим стилове само на екране ширине мање од 600 пиксела? Нисмо хтели да постављамо ова питања на техничком интервјуу - пракса је показала да се на њих може одговорити након 2-3 интервјуа без разумевања развоја. Али они су у почетку могли да нам покажу да ли кандидат, у принципу, разуме контекст.

У свакој категорији смо припремили 3-5 питања и из дана у дан мењали њихов сет у обрасцу за одговоре док нисмо елиминисали најпроходније и најтеже. То нам је омогућило да смањимо проток - за 3 недеље смо добили 122 кандидата, са којим бисмо могли даље да радимо. То су били студенти информатике; момци који су хтели да пређу на фронт из бекенда; радници или инжењери, 25-35 година, који су радикално желели да промене занимање и улажу различите напоре у самообразовање, курсеве и праксу.

Хајде да се боље упознамо

За компанију: Тестни задатак не одвраћа кандидате, али помаже да се скрати ток.

За јуниоре: Немојте копирати и налепити тестне - то је приметно. И одржавајте свој гитхуб у реду!

Када бисмо све позвали на технички разговор, морали бисмо да обавимо око 40 интервјуа недељно само за јуниоре и то само на фронт енду. Стога смо одлучили да тестирамо другу хипотезу - о тестном задатку.

Оно што је за нас било важно на тесту:

  1. Изградите добру скалабилну архитектуру, али без претераног инжењеринга;
  2. Боље је потрајати дуже, али то добро урадити, него преко ноћи саставити занат и послати га уз коментар „Свакако ћу га завршити“;
  3. Историја развоја Гита је инжењерска култура, итеративни развој и чињеница да решење није очигледно копирано.

Сложили смо се да желимо да размотримо један алгоритамски проблем и малу веб апликацију. Алгоритамске су припремљене на нивоу лабораторија основног нивоа – бинарно претраживање, сортирање, провера анаграма, рад са листама и стаблима. На крају смо се определили за бинарну претрагу као прву пробну опцију. Веб апликација је морала да буде тик-так-тое користећи било који оквир (или без њега).

Скоро половина преосталих момака је завршила тест задатак – послали су нам решења 54 кандидата. Невероватан увид - колико имплементација тик-так-тое, спремних за копирање-пејст, мислите да постоји на интернету?

КоликоУ ствари, чини се да постоје само 3. А у огромној већини одлука су биле управо ове 3 опције.
Шта се није допало:

  • цопи-пасте, или развој заснован на истом туторијалу без сопствене архитектуре;
  • оба задатка су у истом спремишту у различитим фасциклама, наравно не постоји историја урезивања;
  • прљави код, ДРИ кршење, недостатак форматирања;
  • мешавина модела, погледа и контролера у једну класу дугу стотине линија кода;
  • недостатак разумевања јединичног тестирања;
  • "хеад-он" решење је хардцоде 3к3 матрице добитних комбинација, коју ће бити прилично тешко проширити на 10к10, на пример.

Такође смо обратили пажњу на суседна спремишта - цоол пројекти за кућне љубимце су били плус, а гомила тестних задатака из других компанија више су били позив за буђење: зашто кандидат није могао да стигне тамо?

Као резултат тога, пронашли смо цоол опције у Реацту, Ангулар, Ванилла ЈС - било их је 29 и одлучили смо да позовемо још једног кандидата без тестирања за његове веома цоол пројекте. Наша хипотеза о предностима тестних задатака је потврђена.

Технички интервју

За компанију: Нису ти дошли средњи/старији! Потребан нам је индивидуалнији приступ.

За јуниоре: Запамтите да ово није испит - не покушавајте да ћутите за Ц или бомбардујте професора струјом свог могућег знања тако да се збуни и да "одлично".

Шта желимо да разумемо у техничком интервјуу? Једноставна ствар – како кандидат размишља. Вероватно има неке тешке вештине ако је прошао прве фазе селекције - остаје да се види да ли зна да их користи. Договорили смо се око 3 задатка.

Први се односи на алгоритме и структуре података. Оловком, на парчету папира, на псеудо-језику и уз помоћ цртежа, схватили смо како да копирамо дрво или како да уклонимо елемент са једноструке листе. Непријатно откриће је било да не разумеју сви рекурзију и како функционишу референце.

Други је кодирање уживо. Отишли ​​смо на цодеварс.цом, изабрао једноставне ствари попут сортирања низа речи по последњем слову и 30-40 минута заједно са кандидатом покушавао да прође све тестове. Чинило се да не би требало бити изненађења од момака који су савладали тиц-тац-тое - али у пракси нису сви могли да схвате да вредност треба да буде сачувана у променљивој, а функција треба да врати нешто преко ретурн. Мада се искрено надам да је то била трема, а момци су успели да се носе са овим задацима у лакшим условима.

Коначно, трећи је мало о архитектури. Разговарали смо о томе како да направите траку за претрагу, како функционише дебоунце, како да прикажете различите виџете у саветима за претрагу, како предњи крај може да комуницира са задњим делом. Било је много занимљивих решења, укључујући рендеровање на страни сервера и веб утичнице.

Обавили смо 21 интервју користећи овај дизајн. Публика је била потпуно разнолика – погледајмо стрипове:

  1. "Ракета". Никада се не смирује, увлачи се у све, а током интервјуа ће вас затрпати струјом мисли које нису ни директно везане за постављено питање. Да је то на универзитету, ово би био познат покушај да демонстрирате, па, све своје знање, када се све што се сећате у вези са улазницом на коју сте наишли јесте да сте синоћ одлучили да је не учите - још увек не можете да добијете то ван.
  2. "Гроот". Прилично је тешко ступити у контакт с њим јер је он Гроот. Током интервјуа, морате да проведете дуго времена покушавајући да добијете одговоре реч по реч. Добро је ако је то само омамљеност - иначе ће вам бити веома тешко у свакодневном раду.
  3. "Дракс". Радио сам у транспорту терета, а што се тиче програмирања, научио сам ЈС само на Стацковерфлов-у, тако да не разумем увек о чему се прича на интервјуу. У исто време, он је добра особа, има најбоље намере и жели да постане одличан фронт-енд програмер.
  4. Па, вероватно "Звездани господар". Све у свему, добар кандидат са којим можете преговарати и градити дијалог.

На крају нашег истраживања 7 кандидата стигли до финала, потврдивши своје умеће одличним тест задатком и добрим одговорима на интервјуу.

Културно уклапање

За компанију: Ти радиш са њим! Да ли је кандидат спреман да изузетно напорно ради за свој развој? Да ли ће се заиста уклопити у тим?

За јуниоре: Радите са њима! Да ли је компанија заиста спремна да улаже у раст јуниора или ће једноставно сав прљав посао бацити на вас за малу плату?

Сваки јуниор, поред производног тима, чије вођство мора да пристане да га преузме, добија ментора. Менторов задатак је да га води кроз тромесечни процес укључивања и надоградње чврстих вештина. Стога смо на сваки културни фит дошли као ментори и одговорили на питање: „Да ли ћу преузети одговорност за развој кандидата за 3 месеца према нашем плану?“

Ова фаза је прошла без икаквих посебности и на крају нас је довела 4 понуде, од којих су 3 прихваћена, а момци су ушли у екипе.

Живот после понуде

За компанију: Водите рачуна о својим јуниорима или ће други!

За јуниоре: АААААААААААА!!!

Када се појави нови запослени, треба га увести - упознати са процесима, рећи како све функционише у компанији и тиму и како уопште треба да ради. Када јуниор изађе, морате да разумете како да га развијете.

Када смо размислили о томе, дошли смо до листе од 26 вештина које би, по нашем мишљењу, јуниор требало да има до краја тромесечног периода уписа. Ово је укључивало тешке вештине (према нашем стеку), познавање наших процеса, Сцрум-а, инфраструктуре и архитектуре пројекта. Комбиновали смо их у мапу пута, подељену на 3 месеца.

Како укротити јуниора?

На пример, ево мапе пута мог јуниора

Сваком јуниору додељујемо ментора који ради са њим појединачно. У зависности од ментора и тренутног нивоа кандидата, састанци се могу одржавати од 1 до 5 пута недељно у трајању од 1 сата. Ментори су волонтери фронт-енд програмери који желе да ураде нешто више од пуког писања кода.

Део терета за менторе скидају курсеви на нашем стеку - Дарт, Ангулар. Курсеви се одржавају редовно за мале групе од 4-6 људи, где студенти уче без прекида у раду.

Током 3 месеца периодично прикупљамо повратне информације од јуниора, њихових ментора и вођа и индивидуално прилагођавамо процес. Напумпане вештине се проверавају 1-2 пута током читавог периода, иста провера се врши на крају - на основу њих се формирају препоруке шта тачно треба побољшати.

Закључак

За компанију: Да ли се исплати улагати у јуниоре? Да!

За јуниоре: Потражите компаније које пажљиво бирају кандидате и знају како да их развију

Током 3 месеца прегледали смо 122 упитника, 54 тест задатка и обавили 21 технички интервју. Ово нам је донело 3 сјајна јуниора који су сада завршили половину својих планова за укрцавање и убрзање. Они већ завршавају стварне производне задатке у нашем пројекту, где постоји више од 2 линија кода и више од 000 спремишта само на предњем крају.

Сазнали смо да левак за јуниоре може и треба да буде прилично сложен, али на крају кроз њега пролазе само они момци који су заиста спремни да много раде и улажу у свој развој.

Сада је наш главни задатак да завршимо тромесечне развојне мапе за сваког јуниора у режиму индивидуалног рада са ментором и општим курсевима, прикупимо метрике, повратне информације од потенцијалних клијената, ментора и самих момака. У овом тренутку, први експеримент се може сматрати завршеним, могу се извући закључци, процес може бити побољшан и може се поново покренути избор нових кандидата.

Извор: ввв.хабр.цом

Додај коментар