Жасөспірімді қалай бағындыру керек?

Егер сіз кіші болсаңыз, үлкен компанияға қалай кіруге болады? Егер сіз үлкен компания болсаңыз, лайықты жасөспірімді қалай жалдауға болады? Төменде мен сізге жаңадан бастаушыларды жалдау туралы тарихымызды айтып беремін: біз тест тапсырмаларын қалай орындадық, сұхбат жүргізуге дайындалдық және жаңадан келгендерді дамыту және жұмысқа қабылдау үшін тәлімгерлік бағдарламасын құрдық, сондай-ақ стандартты сұхбат сұрақтары неліктен берілмейді? жұмыс істемейді.

Жасөспірімді қалай бағындыру керек?
Мен Джуниорды бағындыруға тырысамын

Сәлеметсіз бе! Менің атым Павел, мен Wrike командасында алдыңғы қатарлы жұмыс жасаймын. Біз жобаны басқару және ынтымақтастық жүйесін жасаймыз. Мен 2010 жылдан бері интернетте жұмыс істеймін, 3 жыл шетелде жұмыс істедім, бірнеше стартаптарға қатысып, университетте веб-технологиялар курсынан сабақ бердім. Компанияда мен жасөспірімдерге арналған техникалық курстар мен Wrike тәлімгерлік бағдарламасын әзірлеуге, сондай-ақ оларды тікелей жұмысқа тартуға қатысамын.

Неліктен біз кіші жастағыларды жұмысқа алуды ойладық?

Соңғы уақытқа дейін біз фронтенд үшін орта немесе жоғары деңгейлі әзірлеушілерді жалдадық - бортқа қосылғаннан кейін өнім тапсырмаларын орындауға жеткілікті тәуелсіз. Осы жылдың басында біз бұл саясатты өзгерткіміз келетінін түсіндік: бір жыл ішінде біздің өнім командаларымыздың саны екі есеге жуық өсті, алдыңғы қатарлы әзірлеушілер саны жүзге жақындады, ал таяу болашақта мұның бәрі болады. қайтадан еселеу керек. Жұмыс көп, бос қолдар аз, ал нарықта олар одан да аз, сондықтан біз алдыңғы жағында саяхатын енді бастаған жігіттерге жүгінуді жөн көрдік және біз олардың инвестициялауға дайын екенімізді түсіндік. даму.

Кіші деген кім?

Бұл өзімізге қойған ең бірінші сұрақ. Әртүрлі критерийлер бар, бірақ ең қарапайым және түсінікті принцип мынада:

Джуниорға қандай функцияны және оны қалай жасау керектігін түсіндіру керек. Ортаға қандай мүмкіндік қажет екенін түсіндіру керек және ол іске асыруды өзі анықтайды. Сигнордың өзі сізге бұл функцияны неліктен мүлде жасаудың қажеті жоқ екенін түсіндіреді.

Қалай болғанда да, кіші жас - бұл осы немесе басқа шешімді қалай жүзеге асыру керектігі туралы кеңес қажет әзірлеуші. Біз нені құруды шештік:

  1. Junior - бұл дамуды қалайтын және бұл үшін көп жұмыс істеуге дайын адам;
  2. Ол әрқашан қай бағытта дамытқысы келетінін біле бермейді;
  3. Кеңеске мұқтаж және сырттан – жетекшіден, тәлімгерден немесе қоғамнан көмек сұрайды.

Бізде бірнеше гипотеза да болды:

  1. Маусымның ұстанымына жауаптардың дауылы болады. Түйіндеме жіберу кезеңінде кездейсоқ жауаптарды сүзгілеу қажет;
  2. Негізгі сүзгі көмектеспейді. — тест тапсырмалары көбірек қажет;
  3. Тест тапсырмалары барлығын қорқытады - олар қажет емес.

Әрине, біздің мақсатымыз болды: 4 аптада 3 жасөспірім.

Осы түсіну арқылы біз эксперимент жасай бастадық. Жоспар қарапайым болды: мүмкіндігінше кең шұңқырдан бастаңыз және оны ағынды өңдеуге болатындай етіп біртіндеп тарылтып көріңіз, бірақ оны аптасына 1 үміткерге дейін азайтпаңыз.

Біз бос жұмыс орнын жариялаймыз

Компания үшін: Жүздеген жауаптар болады! Сүзгі туралы ойланыңыз.

Кіші үшін: Түйіндеме мен тест тапсырмасын жібермес бұрын сауалнамадан қорықпаңыз - бұл компания сізге қамқорлық жасап, процесті жақсы жолға қойғанының белгісі.

Бірінші күні біз «JavaScript білімі бар» үміткерлерден 70-ке жуық түйіндеме алдық. Сосын тағы. Және одан әрі. Біз физикалық тұрғыдан барлығын кеңсеге сұхбаттасуға шақыра алмадық және олардың арасынан ең керемет үй жануарлары жобалары, тірі Github немесе кем дегенде тәжірибесі бар жігіттерді таңдадық.

Бірақ алғашқы күні-ақ өзіміз үшін жасаған негізгі қорытындымыз – дауыл басталды. Енді түйіндемеңізді жібермес бұрын сауалнаманы қосатын кез келді. Оның мақсаты түйіндемені жіберуге барынша күш салғысы келмейтін кандидаттарды және кем дегенде Google-де дұрыс жауаптар алу үшін білімі мен контексті жоқ үміткерлерді жою болды.

Онда JS, макет, веб, информатика туралы стандартты сұрақтар болды - сұхбатта не сұрайтынын елестететіндердің барлығы оларды біледі. Let/var/const арасындағы айырмашылық неде? Ені 600 пиксельден кіші экрандарға ғана мәнерлерді қалай қолдануға болады? Біз бұл сұрақтарды техникалық сұхбатта қойғымыз келмеді - тәжірибе оларға 2-3 сұхбаттан кейін дамуды мүлде түсінбей жауап беруге болатынын көрсетті. Бірақ олар бастапқыда кандидаттың контекстті түсінетінін көрсете алды.

Әр санат бойынша біз 3-5 сұрақ дайындадық және күн сайын олардың жиынтығын жауап түрінде өзгерттік, біз ең өтімді және ең қиынын жойғанша. Бұл ағынды азайтуға мүмкіндік берді - 3 аптада біз алдық 122 кандидат, біз одан әрі жұмыс істей аламыз. Бұл IT студенттері; артқы жақтан алдыңғы жаққа көшкісі келген жігіттер; 25-35 жас аралығындағы жұмысшылар немесе инженерлер, олар өз кәсібін түбегейлі өзгерткісі келетін және өзін-өзі білім алуға, курстарға және тағылымдамадан өтуге әр түрлі күш жұмсайды.

Бір-бірін жақсырақ білу

Компания үшін: Тест тапсырмасы үміткерлерге кедергі жасамайды, бірақ шұңқырды қысқартуға көмектеседі.

Кіші үшін: Сынақтарды көшіріп-қоюға болмайды - бұл байқалады. Және github-ды ретке келтіріңіз!

Егер біз барлығын техникалық сұхбатқа шақыратын болсақ, біз аптасына тек жасөспірімдер үшін және тек алдыңғы жағында шамамен 40 сұхбат жүргізуіміз керек еді. Сондықтан біз екінші гипотезаны – тест тапсырмасы туралы тексеруді жөн көрдік.

Сынақта біз үшін не маңызды болды:

  1. Жақсы масштабталатын архитектураны жасаңыз, бірақ шамадан тыс инженериясыз;
  2. Бір түнде қолөнерді жинап, оны «Мен оны міндетті түрде аяқтаймын» деген түсініктемемен жібергеннен гөрі, ұзағырақ уақытты қажет етеді, бірақ оны жақсы орындаңыз;
  3. Гиттің даму тарихы - бұл инженерлік мәдениет, итерациялық даму және шешімнің ашық түрде көшірілмегендігі.

Біз бір алгоритмдік есеп пен шағын веб-қосымшаны қарастырғымыз келетінімен келістік. Алгоритмдіктері бастауыш деңгейдегі зертханалар деңгейінде дайындалды - екілік іздеу, сұрыптау, анаграммаларды тексеру, тізімдермен және ағаштармен жұмыс жасау. Соңында біз бірінші сынақ нұсқасы ретінде екілік іздеуді шештік. Веб-қосымша кез келген фреймворкті (немесе онсыз) қолданатын тик-так-тоу болуы керек еді.

Қалған жігіттердің жартысына жуығы тест тапсырмасын орындады - олар бізге шешімдерді жіберді 54 кандидат. Ғажайып түсінік – көшіріп қоюға дайын tic-tac-toe қолданбасының қанша нұсқасы бар, сіз Интернетте бар деп ойлайсыз ба?

Қанша?Шындығында, бар болғаны 3-еуі бар сияқты. Ал шешімдердің басым көпшілігінде дәл осы 3 нұсқа болды.
Маған ұнамағаны:

  • көшіру-қою немесе жеке архитектурасыз бірдей оқулық негізінде әзірлеу;
  • екі тапсырма да әртүрлі қалталардағы бір репозиторийде, әрине орындау тарихы жоқ;
  • лас код, DRY бұзу, пішімдеудің болмауы;
  • модельдің, көріністің және контроллердің бір сыныптағы жүздеген код жолының ұзындығына қоспасы;
  • бірлік тестілеуді түсінбеу;
  • «Басты» шешім – мысалы, 3х3-ға дейін кеңейту өте қиын болатын ұтымды комбинациялардың 10x10 матрицасының қатты коды.

Біз сондай-ақ көрші репозиторийлерге назар аудардық - керемет үй жануарлары жобалары плюс болды, ал басқа компаниялардың көптеген сынақ тапсырмалары ояту қоңырауы болды: үміткер неге оған жете алмады?

Нәтижесінде біз React, Angular, Vanilla JS ішінен керемет опцияларды таптық – олардың саны 29. Және біз оның өте керемет үй жануарларына арналған жобаларын сынамай-ақ тағы бір үміткерді шақыруды шештік. Тест тапсырмаларының пайдасы туралы гипотезамыз расталды.

Техникалық сұхбат

Компания үшін: Сізге келген орталар/ағалар емес! Бізге жеке көзқарас қажет.

Кіші үшін: Бұл емтихан емес екенін есте сақтаңыз - C үшін үндемей қалуға тырыспаңыз немесе профессорды барлық мүмкін білімдер ағынымен бомбалаңыз, ол шатасып, «өте жақсы» береді.

Техникалық сұхбатта нені түсінгіміз келеді? Қарапайым нәрсе - кандидат қалай ойлайды. Егер ол іріктеудің алғашқы сатыларынан өткен болса, оның кейбір қиын дағдылары болуы мүмкін - оны қалай қолдану керектігін білу керек. Біз 3 тапсырма бойынша келістік.

Біріншісі алгоритмдер мен деректер құрылымдары туралы. Қаламмен, қағаз парағында, жалған тілде және сызбалардың көмегімен біз ағашты қалай көшіру керектігін немесе жеке байланыстырылған тізімнен элементті қалай жою керектігін анықтадық. Жағымсыз жаңалық рекурсияны және сілтемелердің қалай жұмыс істейтінін бәрі бірдей түсінбейді.

Екіншісі - тірі кодтау. бардық codewars.com, сөздерді соңғы әріп бойынша сұрыптау сияқты қарапайым нәрселерді таңдап, үміткермен бірге 30-40 минут бойы барлық сынақтардан өтуге тырысты. Tic-tac-toe-ды меңгерген жігіттерден тосынсыйлар болмауы керек сияқты көрінді - бірақ іс жүзінде мән айнымалы мәнде сақталуы керек екенін және функция қайтару арқылы бір нәрсені қайтаруы керек екенін бәрі бірдей түсіне алмады. Мен бұл діріл болды деп шын жүректен үміттенемін, ал жігіттер бұл тапсырмаларды жеңілірек жағдайда жеңе алды.

Соңында, үшіншісі сәл сәулет туралы. Біз іздеу жолағын қалай жасауға болатынын, жою қалай жұмыс істейтінін, іздеу кеңестерінде әртүрлі виджеттерді қалай көрсетуге болатынын, алдыңғы жақтың артқы жағымен қалай әрекеттесе алатынын талқыладық. Көптеген қызықты шешімдер болды, соның ішінде серверлік рендеринг және веб-розеткалар.

Біз осы дизайнды пайдалана отырып 21 сұхбат жүргіздік. Көрермендер әртүрлі болды - комикстерге назар аударайық:

  1. «Зымыран». Ол ешқашан тыныштанбайды, әр нәрсеге араласады және сұхбат кезінде ол сізді қойылған сұраққа тікелей қатысы жоқ ойлар ағынымен толтырады. Егер бұл университетте болса, бұл сіздің барлық біліміңізді көрсетуге үйреншікті әрекет болар еді, сіз кездескен билет туралы тек кеше түнде оны оқымауды шешкеніңіз - сіз әлі де ала алмайсыз. шықты.
  2. «Грот». Онымен байланысу өте қиын, өйткені ол Groot. Сұхбат кезінде сіз сөзбе-сөз жауап алу үшін ұзақ уақыт жұмсауға тура келеді. Бұл жай ғана ессіздік болса жақсы - әйтпесе күнделікті жұмысыңызда бұл сізге қиын болады.
  3. «Дракс». Мен жүк тасымалдауда жұмыс істедім, ал бағдарламалау тұрғысынан мен тек Stackoverflow-та JS үйрендім, сондықтан сұхбатта не талқыланып жатқанын әрқашан түсінбеймін. Сонымен қатар, ол жақсы адам, ең жақсы ниеті бар және керемет фронт-энд-девелотер болғысы келеді.
  4. Бәлкім «Жұлдызды лорд». Жалпы, сіз келіссөздер жүргізіп, диалог құра алатын жақсы үміткер.

Зерттеуіміздің соңында 7 кандидат тамаша тест тапсырмасымен және сұхбатқа жақсы жауаптарымен өздерінің қиын дағдыларын растап, финалға шықты.

Мәдени сәйкестік

Компания үшін: Сен онымен жұмыс істейсің! Кандидат өзінің дамуы үшін өте көп жұмыс істеуге дайын ба? Ол шынымен командаға сәйкес келе ме?

Кіші үшін: Сен олармен жұмыс істейсің! Компания шынымен де жасөспірімдердің өсуіне инвестиция салуға дайын ба, әлде төмен жалақы үшін барлық лас жұмыстарды сіздің мойныңыздан төге ме?

Әрбір кіші, өнім тобынан басқа, жетекші оны қабылдауға келісуі керек, тәлімгер алады. Тәлімгердің міндеті - оны үш айлық жұмысқа қабылдау және күрделі дағдыларды жетілдіру процесінде бағыттау. Сондықтан, біз әрбір мәдени сәйкестікке тәлімгер ретінде келіп, «3 айдан кейін өз жоспарымыз бойынша үміткерді әзірлеуді өз мойныма аламын ба?» деген сұраққа жауап бердік.

Бұл кезең ешқандай ерекше белгілерсіз өтіп, ақыры бізді әкелді 4 ұсыныс, оның 3-і қабылданып, жігіттер командаларға енді.

Ұсынудан кейінгі өмір

Компания үшін: Кіші балаларыңызға қамқор болыңыз немесе басқалар болады!

Кіші үшін: АААААААААААААА!!!

Жаңа қызметкер шыққан кезде оны жұмысқа қосу керек - процестермен таныстыру, компанияда және ұжымда барлығы қалай жұмыс істейтінін және жалпы қалай жұмыс істеу керектігін айтып берді. Кіші бала шыққанда, оны қалай дамыту керектігін түсіну керек.

Біз бұл туралы ойлаған кезде, біз үш айлық борттық кезеңнің соңына дейін жасөспірімнің болуы керек 26 дағдының тізімін алдық. Бұған қиын дағдылар (біздің стекке сәйкес), біздің процестер туралы білім, Scrum, инфрақұрылым және жоба архитектурасы кіреді. Біз оларды жол картасына біріктіріп, 3 айға тараттық.

Жасөспірімді қалай бағындыру керек?

Мысалы, мына менің кенжемнің жол картасы

Онымен жеке жұмыс жасайтын әрбір кішіге тәлімгер тағайындаймыз. Тәлімгерге және үміткердің қазіргі деңгейіне байланысты кездесулер аптасына 1-ден 5 ретке дейін 1 сағаттан өткізілуі мүмкін. Тәлімгерлер – бұл жай ғана код жазумен шектелмей, бірдеңе жасағысы келетін ерікті фронт-әзірлеушілер.

Тәлімгерлерге жүктеменің бір бөлігін біздің стектегі курстар алып тастайды - Dart, Angular. Курстар 4-6 адамнан тұратын шағын топтар үшін тұрақты түрде өткізіледі, онда студенттер жұмыстан үзіліссіз оқиды.

3 ай бойы біз мезгіл-мезгіл жасөспірімдерден, олардың тәлімгерлерінен және жетекшілерден кері байланыс жинап, процесті жеке реттейміз. Өткізілген дағдылар бүкіл кезең ішінде 1-2 рет тексеріледі, соңында бірдей тексеру жүргізіледі - олардың негізінде нақты нені жақсарту қажет екендігі туралы ұсыныстар қалыптасады.

қорытынды

Компания үшін: Жасөспірімдерге инвестиция салу керек пе? Иә!

Кіші үшін: Үміткерлерді мұқият таңдайтын және оларды қалай дамыту керектігін білетін компанияларды іздеңіз

3 айда біз 122 сауалнаманы, 54 тест тапсырмасын қарап, 21 техникалық сұхбат жүргіздік. Бұл бізге 3 керемет жасөспірімді әкелді, олар қазір борттық және жеделдету жол карталарының жартысын аяқтады. Олар 2 000 000-нан астам код жолдары және тек алдыңғы жағында 400-ден астам репозиторийлер бар жобамызда нақты өнім тапсырмаларын орындауда.

Біз жасөспірімдерге арналған шұңқырдың өте күрделі болуы мүмкін екенін және болуы керек екенін білдік, бірақ соңында ол өте көп жұмыс істеуге және олардың дамуына инвестициялауға дайын жігіттер ғана өтеді.

Ендігі біздің басты міндетіміз – тәлімгермен жеке жұмыс және жалпы курстар режимінде әрбір кіші жас үшін үш айлық даму жол картасын аяқтау, көрсеткіштерді жинау, жетекшілерден, тәлімгерлерден және жігіттердің өздерінен кері байланыс. Осы кезде бірінші экспериментті аяқталды деп санауға, қорытынды жасауға, процесті жақсартуға және жаңа үміткерлерді таңдауды қайта бастауға болады.

Ақпарат көзі: www.habr.com

пікір қалдыру