Kako ukrotiti mladinca?

Kako priti v veliko podjetje, če si mladinec? Kako zaposliti spodobnega mladinca, če ste veliko podjetje? Pod izrezom vam bom povedal našo zgodbo o zaposlovanju začetnikov na frontendu: kako smo delali s testnimi nalogami, se pripravljali na opravljanje intervjujev in zgradili mentorski program za razvoj in uvajanje novincev ter tudi, zakaj standardna vprašanja za intervjuje ne ne deluje.

Kako ukrotiti mladinca?
Poskušam ukrotiti Juniorja

Zdravo! Moje ime je Pavel, opravljam front-end delo v ekipi Wrike. Ustvarimo sistem za projektno vodenje in sodelovanje. S spletom se ukvarjam od leta 2010, 3 leta sem delal v tujini, sodeloval pri več startupih in predaval predmet o spletnih tehnologijah na univerzi. V podjetju se ukvarjam z razvojem tehničnih tečajev in Wrike mentorskega programa za juniorje ter jih neposredno zaposlovam.

Zakaj smo sploh razmišljali o zaposlovanju juniorjev?

Do nedavnega smo za čelni del zaposlovali razvijalce na srednji ali višji ravni – dovolj neodvisne, da so opravili naloge izdelka po vkrcanju. Na začetku tega leta smo spoznali, da želimo to politiko spremeniti: skozi leto se je število naših produktnih ekip skoraj podvojilo, število front-end razvijalcev se je približalo stoti in v bližnji prihodnosti bo vse to spet podvojiti. Dela je veliko, prostih rok malo, na trgu pa jih je še manj, zato smo se odločili, da se obrnemo na fante, ki šele začenjajo svojo pot v ospredju in ugotovili, da smo pripravljeni vlagati v njihovo razvoj.

Kdo je junior?

To je prvo vprašanje, ki smo si ga zastavili. Obstajajo različni kriteriji, vendar je najenostavnejši in najbolj razumljiv princip naslednji:

Juniorju je treba razložiti, katera funkcija in kako to storiti. Srednjemu je treba razložiti, katera funkcija je potrebna, in sam bo ugotovil izvedbo. Podpisnik vam bo sam razložil, zakaj te funkcije sploh ni treba narediti.

Tako ali drugače je junior razvijalec, ki potrebuje nasvet, kako implementirati to ali ono rešitev. Na čem smo se odločili graditi:

  1. Junior je nekdo, ki se želi razvijati in je za to pripravljen trdo delati;
  2. Ne ve vedno, v katero smer se želi razvijati;
  3. Potrebuje nasvete in išče pomoč od zunaj – pri vodji, mentorju ali v skupnosti.

Imeli smo tudi več hipotez:

  1. Odzivov na junijsko stališče bo burno. V fazi pošiljanja življenjepisa morate filtrirati naključne odgovore;
  2. Primarni filter ne bo pomagal. — potrebnih je več testnih nalog;
  3. Testne naloge bodo vse prestrašile - niso potrebni.

In seveda smo imeli cilj: 4 mladinci v 3 tednih.

S tem spoznanjem smo začeli eksperimentirati. Načrt je bil preprost: začnite z najširšim možnim lijakom in ga poskušajte postopoma zožiti, da boste lahko obdelali tok, vendar ga ne zmanjšajte na 1 kandidata na teden.

Objavljamo prosto delovno mesto

Za družbo: Odzivov bo na stotine! Razmislite o filtru.

Za junior: Ne bojte se vprašalnika, preden pošljete svoj življenjepis in testno nalogo – to je znak, da so v podjetju poskrbeli za vas in dobro zastavili proces.

Prvi dan smo prejeli okoli 70 življenjepisov kandidatov »z znanjem JavaScripta«. In potem spet. In dalje. Fizično nismo mogli povabiti vseh v pisarno na razgovor in smo med njimi izbrali fante z najbolj kul hišnimi projekti, živim Githubom ali vsaj izkušnjami.

Toda glavna ugotovitev, ki smo si jo naredili že prvi dan, je bila, da se je nevihta začela. Zdaj je čas, da dodate vprašalnik, preden oddate svoj življenjepis. Njen cilj je bil izločiti kandidate, ki niso bili pripravljeni vložiti najmanj truda, da bi oddali življenjepis, in tiste, ki niso imeli znanja in konteksta, da bi vsaj v Googlu iskali pravilne odgovore.

Vsebovala je standardna vprašanja o JS, postavitvi, spletu, računalništvu – pozna jih vsak, ki si predstavlja, kaj vprašajo na front-end intervjuju. Kakšna je razlika med let/var/const? Kako lahko uporabim sloge samo za zaslone, manjše od 600 slikovnih pik? Teh vprašanj nismo želeli postaviti na tehničnem razgovoru - praksa je pokazala, da je nanje mogoče odgovoriti po 2-3 razgovorih, ne da bi sploh razumeli razvoj. So pa nam lahko na začetku pokazali, ali kandidat načeloma razume kontekst.

V vsaki kategoriji smo pripravili 3-5 vprašanj in dan za dnem spreminjali njihov nabor v obrazcu za odgovore, dokler nismo izločili najbolj prehodnih in najtežjih. To nam je omogočilo zmanjšanje pretoka - v 3 tednih smo prejeli 122 kandidatov, s katerimi bi lahko delali naprej. To so bili študenti informatike; fantje, ki so se želeli premakniti v ospredje iz ozadja; delavci ali inženirji, stari od 25 do 35 let, ki so radikalno želeli spremeniti svoj poklic in se različno trudili za samoizobraževanje, tečaje in pripravništvo.

Boljše spoznavanje

Za družbo: Testna naloga kandidatov ne odvrne, ampak pomaga skrajšati tok.

Za junior: Ne kopiraj-prilepi testnih - opazno je. In ohranite svoj github v redu!

Če bi vse poklicali na tehnični razgovor, bi morali opraviti približno 40 razgovorov na teden samo za juniorje in samo na front endu. Zato smo se odločili preveriti drugo hipotezo – o testni nalogi.

Kaj je bilo za nas pomembno pri testu:

  1. Zgradite dobro razširljivo arhitekturo, vendar brez pretiranega inženiringa;
  2. Bolje je vzeti dlje časa, a narediti dobro, kot pa čez noč sestaviti obrt in jo poslati s komentarjem "gotovo jo bom dokončal";
  3. Zgodovina razvoja v Gitu je inženirska kultura, iterativni razvoj in dejstvo, da rešitev ni bila očitno kopirana.

Strinjali smo se, da želimo pogledati en algoritemski problem in majhno spletno aplikacijo. Algoritemske so bile pripravljene na nivoju osnovnošolskih laboratorijev - binarno iskanje, sortiranje, preverjanje anagramov, delo s seznami in drevesi. Na koncu smo se kot prvo poskusno možnost odločili za binarno iskanje. Spletna aplikacija je morala biti tik-tak s poljubnim okvirjem (ali brez njega).

Skoraj polovica preostalih fantov je opravila testno nalogo – poslali so nam rešitve 54 kandidatov. Neverjeten vpogled - koliko implementacij tik-tak-toejev, pripravljenih za kopiranje in lepljenje, mislite, da je na internetu?

KolikoPravzaprav se zdi, da so samo 3. In v veliki večini odločitev so bile ravno te 3 možnosti.
Kaj mi ni bilo všeč:

  • copy-paste ali razvoj na podlagi iste vadnice brez lastne arhitekture;
  • obe nalogi sta v istem repozitoriju v različnih mapah, seveda ni zgodovine odobritev;
  • umazana koda, kršitev DRY, pomanjkanje oblikovanja;
  • mešanica modela, pogleda in krmilnika v en razred, dolg na stotine vrstic kode;
  • nerazumevanje testiranja enot;
  • "Head-on" rešitev je hardcode 3x3 matrike dobitnih kombinacij, ki jo bo precej težko razširiti na primer na 10x10.

Pozorni smo bili tudi na sosednje repozitorije - kul hišni projekti so bili plus, kopica testnih nalog drugih podjetij pa je bila bolj opozorilo: zakaj kandidat ni mogel priti tja?

Posledično smo našli kul možnosti v React, Angular, Vanilla JS - bilo jih je 29. In odločili smo se, da povabimo še enega kandidata brez testiranja za njegove zelo kul hišne projekte. Naša hipoteza o koristnosti testnih nalog je bila potrjena.

Tehnični razgovor

Za družbo: K vam niso prišli srednji/starejši! Potrebujemo bolj individualen pristop.

Za junior: Ne pozabite, da to ni izpit - ne poskušajte ostati tiho za trojko ali profesorja zasuti s tokom vsega možnega znanja, da se zmede in da oceno »odlično«.

Kaj želimo razumeti na tehničnem razgovoru? Preprosta stvar – kako kandidat razmišlja. Verjetno ima nekaj težkih veščin, če je prestal prve stopnje selekcije - ali jih bo znal uporabiti, bomo še videli. Dogovorili smo se za 3 naloge.

Prvi se nanaša na algoritme in podatkovne strukture. S peresom, na listu papirja, v psevdojeziku in s pomočjo risb smo ugotavljali, kako kopirati drevo ali kako odstraniti element iz enopovezanega seznama. Neprijetno odkritje je bilo, da vsi ne razumejo rekurzije in delovanja referenc.

Drugi je kodiranje v živo. Smo šli na codewars.com, izbral preproste stvari, kot je razvrščanje niza besed po zadnji črki, in 30–40 minut skupaj s kandidatom poskušal doseči, da so vsi testi uspešni. Zdelo se je, da s strani fantov, ki so obvladali tik-tak-too, ne bi smelo biti presenečenja - a v praksi ni vsem uspelo ugotoviti, da je treba vrednost shraniti v spremenljivko, funkcija pa mora nekaj vrniti prek returna. Čeprav srčno upam, da je šlo za tremo in so fantje v lažjih razmerah kos tem nalogam.

Končno, tretji je nekaj o arhitekturi. Razpravljali smo o tem, kako narediti iskalno vrstico, kako deluje debounce, kako upodobiti različne pripomočke v iskalnih nasvetih, kako lahko sprednji del deluje z zadnjim. Bilo je veliko zanimivih rešitev, vključno z upodabljanjem na strani strežnika in spletnimi vtičnicami.

S to zasnovo smo izvedli 21 intervjujev. Publika je bila povsem raznolika – poglejmo stripe:

  1. "Raketa". Nikoli se ne umiri, vtika se v vse, med intervjujem pa vas bo preplavil tok misli, ki niti niso neposredno povezane z zastavljenim vprašanjem. Če bi bilo na univerzi, bi bil to znan poskus, da dokažeš, no, vse svoje znanje, ko pa se o vozovnici, na katero si naletel, spomniš samo, da si se sinoči odločil, da je ne boš študiral - še vedno ne moreš dobiti ven.
  2. "Groot". Z njim je kar težko priti v stik, ker je Groot. Med razgovorom moraš dolgo časa poskušati dobiti odgovore besedo za besedo. Dobro je, če je samo omamljenost - sicer vam bo zelo težko pri vsakdanjem delu.
  3. "Drax". Delal sem v tovornem prometu, kar zadeva programiranje, sem se naučil JS samo na Stackoverflowu, tako da ne razumem vedno, o čem se govori na razgovoru. Hkrati je dobra oseba, ima najboljše namene in želi postati odličen front-end razvijalec.
  4. No, verjetno "Star Lord". Na splošno dober kandidat, s katerim se da pogajati in graditi dialog.

Na koncu naše raziskave 7 kandidatov uvrstili v finale, svoje spretnosti pa potrdili z odlično testno nalogo in dobrimi odgovori na intervjuju.

Kulturno ujemanje

Za družbo: Ti delaš z njim! Je kandidat pripravljen delati izjemno trdo za svoj razvoj? Se bo res vključil v ekipo?

Za junior: Ti delaš z njimi! Ali je podjetje res pripravljeno vlagati v rast podmladka ali bo za nizko plačo preprosto zvrnilo vse umazano delo na vas?

Vsak podmladek poleg produktne ekipe, katere vodja se mora strinjati, da ga sprejme, dobi mentorja. Mentorjeva naloga je, da ga vodi skozi trimesečni proces uvajanja in nadgrajevanja trdih veščin. Zato smo do vsakega kulturnega fit-a prišli kot mentorji in odgovorili na vprašanje: "Ali bom prevzel odgovornost za razvoj kandidata v 3 mesecih po našem načrtu?"

Ta etapa je minila brez posebnosti in nas na koncu pripeljala 4 ponudbe, od katerih so bili 3 sprejeti, fantje pa so se uvrstili v ekipe.

Življenje po ponudbi

Za družbo: Poskrbite za svoje podmladke ali bodo drugi!

Za junior: AAAAAAAAAAA!!!

Ko pride nov sodelavec, ga je treba vključiti – seznaniti s procesi, mu povedati, kako vse poteka v podjetju in v timu ter kako naj dela na splošno. Ko pride mladinec, morate razumeti, kako ga razvijati.

Ko smo razmišljali o tem, smo prišli do seznama 26 veščin, ki bi jih po našem mnenju moral imeti mladinec do konca trimesečnega uvajalnega obdobja. To je vključevalo trde veščine (glede na naš sklad), poznavanje naših procesov, Scrum, infrastrukture in projektne arhitekture. Združili smo jih v načrt, razdeljen na 3 mesece.

Kako ukrotiti mladinca?

Na primer, tukaj je načrt mojega juniorja

Vsakemu mladincu dodelimo mentorja, ki z njim dela individualno. Odvisno od mentorja in trenutne stopnje kandidata lahko srečanja potekajo od 1 do 5x tedensko po 1 uro. Mentorji so prostovoljni front-end razvijalci, ki želijo narediti nekaj več kot le napisati kodo.

Nekaj ​​bremena za mentorje razbremenijo tečaji našega sklada - Dart, Angular. Tečaji potekajo redno za majhne skupine 4-6 ljudi, kjer se tečajniki učijo brez prekinitve dela.

Tekom 3 mesecev občasno zbiramo povratne informacije od juniorjev, njihovih mentorjev in vodij ter individualno prilagajamo proces. Napolnjene sposobnosti se preverjajo 1-2 krat v celotnem obdobju, enako preverjanje se izvede na koncu - na njihovi podlagi se oblikujejo priporočila, kaj natančno je treba izboljšati.

Zaključek

Za družbo: Se splača vlagati v mladince? ja!

Za junior: Poiščite podjetja, ki skrbno izbirajo kandidate in jih znajo razvijati

V 3 mesecih smo pregledali 122 vprašalnikov, 54 testnih nalog in opravili 21 tehničnih intervjujev. To nam je prineslo 3 odlične mladince, ki so zdaj opravili polovico svojih časovnih načrtov za vkrcanje in pospeševanje. V našem projektu, kjer je samo na sprednji strani več kot 2 vrstic kode in več kot 000 repozitorijev, že opravljajo prave produktne naloge.

Ugotovili smo, da je lijak za mladince lahko in mora biti precej kompleksen, a na koncu gredo skozenj le tisti fantje, ki so res pripravljeni zelo trdo delati in vlagati v svoj razvoj.

Zdaj je naša glavna naloga dokončati trimesečne razvojne načrte za vsakega mladinca v načinu individualnega dela z mentorjem in splošnimi tečaji, zbrati meritve, povratne informacije od vodij, mentorjev in samih fantov. Na tej točki se lahko šteje, da je prvi poskus zaključen, da se lahko sklepajo, da se postopek izboljša in da se začne znova za izbiro novih kandidatov.

Vir: www.habr.com

Dodaj komentar