Kuidas juuniori taltsutada?

Kuidas pääseda suurde firmasse, kui oled juunior? Kuidas palgata korralik juunior, kui tegemist on suurettevõttega? Lõike all räägin teile meie loo algajate palkamisest esiotsas: kuidas me läbisime testülesandeid, valmistusime intervjuusid läbi viima ja koostasime mentorprogrammi uute tulijate arendamiseks ja kaasamiseks, ning ka seda, miks ei esitata standardseid intervjuuküsimusi. ei tööta.

Kuidas juuniori taltsutada?
Üritan Juuniori taltsutada

Tere! Minu nimi on Pavel, teen Wrike'i meeskonnas esiotsa tööd. Loome süsteemi projektijuhtimiseks ja koostööks. Olen veebiga tegelenud alates 2010. aastast, töötanud 3 aastat välismaal, osalenud mitmetes startup’ides ning õpetanud ülikoolis veebitehnoloogiate kursust. Ettevõttes tegelen juunioride tehniliste kursuste ja Wrike mentorprogrammi väljatöötamisega, samuti nende otsese värbamisega.

Miks me üldse mõtlesime juunioride palkamisele?

Kuni viimase ajani värbasime kasutajaliidese jaoks kesk- või kõrgema taseme arendajaid – piisavalt sõltumatud, et pärast liitumist tootega seotud ülesandeid teha. Selle aasta alguses saime aru, et tahame seda poliitikat muuta: aastaga on meie tootetiimide arv peaaegu kahekordistunud, esiotsa arendajate arv lähenes sajale ja lähitulevikus on see kõik tuleb uuesti kahekordistada. Tööd on palju, vabu käsi on vähe ja neid on turul veelgi vähem, seega otsustasime pöörduda kuttide poole, kes alles alustavad oma teekonda esiotsas ja mõistsime, et oleme valmis nendesse investeerima. arengut.

Kes on juunior?

See on esimene küsimus, mille me endale esitasime. Kriteeriume on erinevaid, kuid kõige lihtsam ja arusaadavam põhimõte on järgmine:

Juuniorile tuleb selgitada, millist funktsiooni ja kuidas seda teha. Keskele tuleb selgitada, millist funktsiooni vaja on, ja ta mõtleb ise selle teostuse välja. Signor ise selgitab teile, miks seda funktsiooni üldse teha ei pea.

Nii või teisiti on juunior arendaja, kes vajab nõu, kuidas seda või teist lahendust rakendada. Millele me otsustasime tugineda:

  1. Juunior on keegi, kes tahab areneda ja on valmis selle nimel kõvasti tööd tegema;
  2. Ta ei tea alati, mis suunas ta areneda tahab;
  3. Vajab nõu ja otsib abi väljastpoolt – oma juhilt, mentorilt või kogukonnast.

Meil oli ka mitu hüpoteesi:

  1. Juuni positsioonile tuleb tormiliselt vastuseid. CV saatmise etapis peate filtreerima juhuslikud vastused;
  2. Põhifilter ei aita. — vaja on rohkem testülesandeid;
  3. Testülesanded peletavad kõik eemale - neid pole vaja.

Ja loomulikult oli meil eesmärk: 4 juuniorit 3 nädala jooksul.

Selle tõdemusega hakkasime katsetama. Plaan oli lihtne: alusta võimalikult laiast lehtrist ja proovi seda järk-järgult kitsendada, et saaksid voogu töödelda, kuid mitte vähendada seda ühe kandidaadini nädalas.

Avaldame vaba töökoha

Ettevõtte jaoks: Vastuseid tuleb sadu! Mõelge filtrile.

Juuniori jaoks: Ärge kartke küsimustikku enne oma CV ja testülesande saatmist – see on märk sellest, et ettevõte on teie eest hoolitsenud ja protsessi hästi üles seadnud.

Esimesel päeval saime umbes 70 CV-d kandidaatidelt, kes tundsid JavaScripti. Ja siis jälle. Ja edasi. Me ei saanud füüsiliselt kõiki kontorisse intervjuule kutsuda ja valisime nende hulgast poisid, kellel on kõige lahedamad lemmikloomaprojektid, live Github või vähemalt kogemus.

Kuid peamine järeldus, mille me juba esimesel päeval enda jaoks tegime, oli see, et torm oli alanud. Nüüd on aeg lisada küsimustiku vorm enne oma CV esitamist. Tema eesmärk oli välja juurida kandidaadid, kes ei olnud nõus CV esitamiseks minimaalselt pingutama, ja need, kellel puudusid teadmised ja kontekst, et vähemalt Google’is õigeid vastuseid otsida.

See sisaldas standardküsimusi JS-i, paigutuse, veebi, arvutiteaduse kohta – kõik, kes kujutavad ette, mida esiotsa intervjuul küsivad, teavad neid. Mis vahe on let/var/const vahel? Kuidas saab stiile rakendada ainult ekraanidele, mille laius on alla 600 piksli? Tehnilisel intervjuul me neid küsimusi küsida ei tahtnud – praktika on näidanud, et neile saab vastuse 2-3 intervjuu peale, ilma arengust üldse aru saamata. Aga nad suutsid meile esialgu näidata, kas kandidaat põhimõtteliselt saab kontekstist aru.

Igas kategoorias koostasime 3-5 küsimust ja muutsime päevast päeva nende komplekti vastusevormis, kuni kõrvaldasime kõige paremini läbitava ja raskeima. See võimaldas meil voolu vähendada - 3 nädalaga saime kätte 122 kandidaati, millega saaksime edasi töötada. Need olid IT-tudengid; poisid, kes tahtsid tagaosast ettepoole liikuda; 25–35-aastased töötajad või insenerid, kes tahtsid radikaalselt oma ametit vahetada ja panustasid erineval määral eneseharimisele, kursustele ja praktikale.

Õpime üksteist paremini tundma

Ettevõtte jaoks: Testiülesanne ei heiduta kandidaate, vaid aitab lehtrit lühendada.

Juuniori jaoks: Ärge kopeerige ja kleepige teste – see on märgatav. Ja hoidke oma github korras!

Kui kutsuksime kõik tehnilisele vestlusele, peaksime läbi viima umbes 40 intervjuud nädalas ainult juunioridele ja ainult esiotsa. Seetõttu otsustasime testida teist hüpoteesi – testimisülesande kohta.

Mis oli meie jaoks testis oluline:

  1. Ehitage hea skaleeritav arhitektuur, kuid ilma üleprojekteerimiseta;
  2. Parem on võtta kauem aega, kuid teha seda hästi, kui panna üle öö käsitöö kokku ja saata kommentaariga "Kindlasti lõpetan";
  3. Giti arenduslugu on insenerikultuur, iteratiivne areng ja asjaolu, et lahendust ei kopeeritud räigelt.

Leppisime kokku, et tahame vaadata ühte algoritmilist probleemi ja väikest veebirakendust. Algoritmilised valmistati ette algtaseme laborite tasemel - binaarne otsing, sorteerimine, anagrammide kontrollimine, töö loendite ja puudega. Lõpuks otsustasime esimese proovivalikuna binaarse otsinguga. Veebirakendus pidi mis tahes raamistikku (või ilma selleta) kasutades olema tic-tac-toe.

Peaaegu pooled ülejäänud poistest täitsid testülesande – nad saatsid meile lahendused 54 kandidaati. Uskumatu ülevaade – mis te arvate, kui palju tic-tac-toe rakendusi, mis on kopeerimiseks-kleepimiseks valmis, Internetis leidub?

MituTegelikult tundub, et neid on ainult 3. Ja valdavas enamuses otsustes olid just need 3 varianti.
Mis mulle ei meeldinud:

  • copy-paste või arendus, mis põhineb samal õpetusel ilma oma arhitektuurita;
  • mõlemad ülesanded on samas hoidlas erinevates kaustades, loomulikult pole commit ajalugu;
  • määrdunud kood, DRY rikkumine, vormingu puudumine;
  • mudeli, vaate ja kontrolleri segu ühte klassi sadade ridade pikkuseks koodiks;
  • ühikutestimisest arusaamise puudumine;
  • "peapealne" lahendus on võidukombinatsioonide 3x3 maatriksi kõvakood, mida on üsna raske laiendada näiteks 10x10-le.

Pöörasime tähelepanu ka naaberhoidlatele – lahedad lemmikloomaprojektid olid plussiks ja hunnik teiste ettevõtete testülesandeid oli pigem äratus: miks kandidaat sinna ei pääsenud?

Selle tulemusena leidsime lahedad valikud Reactis, Angularis, Vanilla JS-is – neid oli 29. Ja otsustasime kutsuda veel ühe kandidaadi ilma tema väga lahedate lemmikloomaprojektide jaoks testimata. Meie hüpotees testülesannete kasulikkusest leidis kinnitust.

Tehniline intervjuu

Ettevõtte jaoks: Teie juurde pole tulnud keskastmed/eakad! Vajame individuaalsemat lähenemist.

Juuniori jaoks: Pidage meeles, et see ei ole eksam – ärge proovige C jaoks vaikida ega pommitage professorit kõigi oma võimalike teadmiste vooga, et ta segadusse läheks ja hindaks "suurepärase".

Mida me tehnilisel intervjuul mõista tahame? Lihtne asi – kuidas kandidaat mõtleb. Tõenäoliselt on tal mõned kõvad oskused, kui ta on valiku esimesed etapid läbinud – eks ole näha, kas ta oskab neid kasutada. Leppisime kokku 3 ülesannet.

Esimene on seotud algoritmide ja andmestruktuuridega. Pliiatsiga, paberil, pseudokeeles ja jooniste abil saime aru, kuidas puud kopeerida või üksikult lingitud loendist elementi eemaldada. Ebameeldiv avastus oli see, et kõik ei mõista rekursiooni ja seda, kuidas viited töötavad.

Teine on reaalajas kodeerimine. Me läksime codewars.com, valis lihtsaid asju, nagu sõnade massiivi järjestamine viimase tähe järgi ja püüdis 30-40 minutit koos kandidaadiga kõik testid edukalt sooritada. Tundus, et tic-tac-toe’i valdanud kuttide poolt ei tohiks üllatusi tulla – aga praktikas ei saanud kõik aru, et väärtus tuleb salvestada muutujasse ja funktsioon peaks return kaudu midagi tagastama. Kuigi ma siiralt loodan, et see oli närvikõdi ja kutid said nende ülesannetega hakkama ka kergemates tingimustes.

Lõpetuseks, kolmas on veidi arhitektuurist. Arutasime, kuidas luua otsinguriba, kuidas toimib debounce, kuidas renderdada erinevaid vidinaid otsingunõuannetes, kuidas esiots saab suhelda tagaosaga. Seal oli palju huvitavaid lahendusi, sealhulgas serveripoolne renderdus ja veebipesad.

Seda kujundust kasutades viisime läbi 21 intervjuud. Publik oli täiesti mitmekesine – vaatame koomikseid:

  1. "Rakett". Ta ei rahune kunagi maha, lööb kõiges kaasa ja ajab intervjuu ajal sind üle mõttevooluga, mis pole küsitava küsimusega otseselt seotudki. Kui see oleks ülikoolis, oleks see tuttav katse demonstreerida kõiki oma teadmisi, kui sa pileti kohta mäletad ainult seda, et eile õhtul otsustasid seda mitte õppida – sa ikka ei saa. see välja.
  2. "Groot". Temaga on üsna raske kontakti saada, sest ta on Groot. Intervjuu ajal peate kulutama pikka aega, et saada vastuseid sõna-sõnalt. Hea, kui see on lihtsalt stuupor - muidu on teil igapäevatöös väga raske.
  3. "Drax". Varem töötasin kaubaveo alal ja programmeerimise osas õppisin JS-i ainult Stackoverflow's, nii et ma ei saa alati aru, millest intervjuul räägitakse. Samas on ta hea inimene, parimate kavatsustega ja tahab saada suurepäraseks esiotsa arendajaks.
  4. No ilmselt "Tähe isand". Üldiselt hea kandidaat, kellega saate läbi rääkida ja dialoogi luua.

Meie uurimistöö lõpus 7 kandidaati pääsesid finaali, kinnitades oma kõvasti oskusi vahva testülesande ja heade intervjuu vastustega.

Kultuuriline sobivus

Ettevõtte jaoks: Sa töötad temaga koos! Kas kandidaat on valmis oma arengu nimel väga palju tööd tegema? Kas ta tõesti sobib meeskonda?

Juuniori jaoks: Sa töötad nendega! Kas ettevõte on tõesti valmis investeerima juunioride kasvamisse või loobib madala palga eest kogu musta töö lihtsalt teie kaela?

Iga juunior saab lisaks tootetiimile, kelle juht peab nõustuma teda võtma, mentori. Mentori ülesanne on juhendada teda läbi kolmekuulise sisseelamis- ja raskete oskuste täiendamise protsessi. Seetõttu tulime igale kultuurilisele sobivusele mentoriks ja vastasime küsimusele: "Kas ma võtan vastutuse kandidaadi väljatöötamise eest 3 kuu jooksul vastavalt meie plaanile?"

See etapp möödus ilma eriliste tunnusteta ja tõi lõpuks meid 4 pakkumist, millest 3 võeti vastu ja poisid sisenesid meeskondadesse.

Elu pärast pakkumist

Ettevõtte jaoks: Hoolitse oma juunioride eest, muidu teevad seda teised!

Juuniori jaoks: AAAAAAAAAAAA!!!

Kui uus töötaja välja tuleb, tuleb teda kaasata – viia kurssi protsessidega, rääkida, kuidas kõik ettevõttes ja meeskonnas toimib ning kuidas ta üldiselt töötama peaks. Kui juunior välja tuleb, peate mõistma, kuidas teda arendada.

Kui mõtlesime sellele, koostasime nimekirja 26 oskusest, mis meie arvates peaksid juunioril kolmekuulise pardaperioodi lõpuks olema. See hõlmas raskeid oskusi (vastavalt meie virnale), teadmisi meie protsesside, Scrumi, infrastruktuuri ja projekti arhitektuuri kohta. Ühendasime need tegevuskavaks, mis jagati kolme kuu peale.

Kuidas juuniori taltsutada?

Näiteks siin on minu juuniori teekaart

Määrame igale juuniorile mentori, kes temaga individuaalselt töötab. Olenevalt mentorist ja kandidaadi hetketasemest võivad kohtumised toimuda 1-5 korda nädalas 1 tund. Mentorid on vabatahtlikud esiotsa arendajad, kes tahavad teha midagi enamat kui lihtsalt koodi kirjutada.

Osa mentorite koormusest võtavad maha meie stäki kursused – Dart, Angular. Kursused toimuvad regulaarselt väikestes 4-6-liikmelistes gruppides, kus õpilased õpivad ilma töö katkestamata.

3 kuu jooksul kogume perioodiliselt tagasisidet juunioritelt, nende mentoritelt ja juhtidelt ning kohandame protsessi individuaalselt. Ülespumbatud oskusi kontrollitakse kogu perioodi jooksul 1-2 korda, sama kontroll tehakse ka lõpus - nende põhjal koostatakse soovitused, mida täpselt parandada.

Järeldus

Ettevõtte jaoks: Kas juunioritesse tasub investeerida? Jah!

Juuniori jaoks: Otsige ettevõtteid, kes valivad hoolikalt kandidaate ja teavad, kuidas neid arendada

3 kuu jooksul vaatasime läbi 122 küsimustikku, 54 testülesannet ja viisime läbi 21 tehnilist intervjuud. See tõi meieni 3 suurepärast juuniorit, kes on nüüdseks täitnud pooled oma pardalemineku ja kiirenduse teekaartidest. Nad täidavad juba tegelikke tooteülesandeid meie projektis, kus ainuüksi esiotsas on rohkem kui 2 000 000 koodirida ja üle 400 hoidla.

Saime teada, et juunioride lehter võib ja peaks olema üsna keeruline, kuid lõpuks läbivad sealt ainult need tüübid, kes on tõesti valmis väga palju tööd tegema ja oma arengusse panustama.

Nüüd on meie peamiseks ülesandeks koostada iga juuniori jaoks kolmekuulised arenguteekaardid mentoriga individuaalse töö ja üldkursuste režiimis, koguda mõõdikuid, tagasisidet juhtidelt, mentoritelt ja meestelt endilt. Siinkohal võib lugeda esimese katse lõppenuks, teha järeldusi, protsessi täiustada ja alustada uuesti uute kandidaatide valimisega.

Allikas: www.habr.com

Lisa kommentaar