Hoe om 'n junior te tem?

Hoe om in 'n groot maatskappy te kom as jy 'n junior is? Hoe om 'n ordentlike junior aan te stel as jy 'n groot maatskappy is? Onder die snit vertel ek jou ons storie van die aanstelling van beginners aan die voorkant: hoe ons deur toetstake gewerk het, voorberei het om onderhoude te voer en 'n mentorprogram gebou het vir die ontwikkeling en inskakeling van nuwelinge, en ook hoekom standaard onderhoudvrae nie werk nie.

Hoe om 'n junior te tem?
Ek probeer Junior tem

Hallo! My naam is Pavel, ek doen front-end werk op die Wrike span. Ons skep 'n stelsel vir projekbestuur en samewerking. Ek werk al sedert 2010 op die web, het vir 3 jaar in die buiteland gewerk, aan verskeie startups deelgeneem en 'n kursus oor webtegnologie by die universiteit aangebied. By die maatskappy is ek betrokke by die ontwikkeling van tegniese kursusse en die Wrike-mentorprogram vir juniors, asook om hulle direk te werf.

Hoekom het ons selfs daaraan gedink om juniors aan te stel?

Tot onlangs het ons middel- of seniorvlak-ontwikkelaars vir die frontend gewerf - onafhanklik genoeg om produktake te doen na aan boord. Aan die begin van hierdie jaar het ons besef dat ons hierdie beleid wil verander: oor die jaar het die aantal van ons produkspanne byna verdubbel, die aantal front-end-ontwikkelaars het honderd benader, en in die nabye toekoms sal dit alles moet weer verdubbel. Daar is baie werk, min vrye hande, en daar is selfs minder van hulle op die mark, so ons het besluit om ons te wend tot die ouens wat net hul reis aan die voorkant begin en besef het dat ons gereed is om in hulle te belê. ontwikkeling.

Wie is 'n junior?

Dit is die heel eerste vraag wat ons onsself gevra het. Daar is verskillende kriteria, maar die eenvoudigste en mees verstaanbare beginsel is dit:

Junior moet verduidelik word watter kenmerk en hoe om dit te doen. Die middel moet verduidelik word watter kenmerk nodig is, en hy sal self die implementering uitvind. Die ondertekenaar sal self aan jou verduidelik hoekom hierdie funksie glad nie gedoen hoef te word nie.

Op een of ander manier is 'n junior 'n ontwikkelaar wat raad nodig het oor hoe om hierdie of daardie oplossing te implementeer. Waarop ons besluit het om voort te bou:

  1. Junior is iemand wat wil ontwikkel en gereed is om hard hiervoor te werk;
  2. Hy weet nie altyd in watter rigting hy wil ontwikkel nie;
  3. Benodig raad en soek hulp van buite – by sy hoof, mentor of in die gemeenskap.

Ons het ook verskeie hipoteses gehad:

  1. Daar sal 'n storm van reaksies op Junie se standpunt wees. Jy moet ewekansige antwoorde filter in die stadium van die stuur van jou CV;
  2. 'n Primêre filter sal nie help nie. — meer toetstake is nodig;
  3. Toetstake sal almal afskrik - hulle is nie nodig nie.

En natuurlik het ons 'n doelwit gehad: 4 juniors in 3 weke.

Met hierdie besef het ons begin eksperimenteer. Die plan was eenvoudig: begin met die wydste tregter moontlik en probeer om dit geleidelik te vernou sodat jy die vloei kan verwerk, maar dit nie tot 1 kandidaat per week verminder nie.

Ons plaas 'n vakature

Vir die maatskappy: Daar sal honderde antwoorde wees! Dink aan 'n filter.

Vir junior: Moenie bang wees vir die vraelys voordat jy jou CV en toetsopdrag stuur nie - dit is 'n teken dat die maatskappy vir jou gesorg het en die proses goed opgestel het.

Op die eerste dag het ons ongeveer 70 CV's ontvang van kandidate "met kennis van JavaScript." En dan weer. En verder. Ons kon fisies nie almal na die kantoor nooi vir 'n onderhoud nie en het uit hulle die ouens gekies met die coolste troeteldierprojekte, live Github, of ten minste ervaring.

Maar die belangrikste gevolgtrekking wat ons op die eerste dag vir onsself gemaak het, was dat die storm begin het. Dit is nou die tyd om 'n vraelysvorm by te voeg voordat jy jou CV indien. Haar doel was om kandidate wat nie bereid was om die minimum poging aan te wend om 'n CV in te dien nie, en diegene wat nie die kennis en konteks gehad het om ten minste die korrekte antwoorde te Google, uit te wis nie.

Dit het standaardvrae oor JS, uitleg, web, Rekenaarwetenskap bevat - almal wat hulle verbeel wat hulle by 'n voor-onderhoud vra, ken hulle. Wat is die verskil tussen let/var/const? Hoe kan ek style net toepas op skerms kleiner as 600px breed? Ons wou nie hierdie vrae tydens 'n tegniese onderhoud vra nie - die praktyk het getoon dat dit na 2-3 onderhoude beantwoord kan word sonder om die ontwikkeling enigsins te verstaan. Maar hulle kon aanvanklik vir ons wys of die kandidaat in beginsel die konteks verstaan.

In elke kategorie het ons 3-5 vrae voorberei en dag na dag het ons hul stel in die antwoordvorm verander totdat ons die mees aanvaarbare en die moeilikste uitgeskakel het. Dit het ons toegelaat om die vloei te verminder - in 3 weke wat ons ontvang het 122 kandidate, waarmee ons verder kon werk. Dit was IT-studente; ouens wat van die agterkant na voor wou skuif; werkers of ingenieurs, 25-35 jaar oud, wat hul beroep radikaal wou verander en wisselende hoeveelhede moeite gedoen het met selfopvoeding, kursusse en internskappe.

Om mekaar beter te leer ken

Vir die maatskappy: Die toetstaak skrik nie kandidate af nie, maar help om die tregter te verkort.

Vir junior: Moenie kopieer-plak toetse nie - dit is opvallend. En hou jou github in orde!

As ons almal roep vir 'n tegniese onderhoud, sou ons ongeveer 40 onderhoude per week net vir juniors en net aan die voorkant moes voer. Daarom het ons besluit om die tweede hipotese – oor die toetstaak – te toets.

Wat vir ons belangrik was in die toets:

  1. Bou 'n goeie skaalbare argitektuur, maar sonder ooringenieurswese;
  2. Dit is beter om langer te neem, maar dit goed te doen, as om 'n handwerk oornag saam te stel en dit te stuur met die opmerking "Ek sal dit beslis klaarmaak";
  3. Die geskiedenis van ontwikkeling in Git is die ingenieurskultuur, iteratiewe ontwikkeling en die feit dat die oplossing nie blatant gekopieer is nie.

Ons het saamgestem dat ons na een algoritmiese probleem en 'n klein webtoepassing wil kyk. Algoritmiese is voorberei op die vlak van elementêre-vlak laboratoriums - binêre soektog, sortering, kyk vir anagramme, werk met lyste en bome. Uiteindelik het ons op binêre soektog besluit as 'n eerste proefopsie. Die webtoepassing moes tik-tak-toe wees met enige raamwerk (of daarsonder).

Byna die helfte van die oorblywende ouens het die toetstaak voltooi – hulle het vir ons die oplossings gestuur 54 kandidate. Ongelooflike insig - hoeveel implementerings van tic-tac-toe, gereed vir copy-paste, dink jy is daar op die internet?

Hoeveel?Trouens, dit blyk dat daar net 3 is. En in die oorgrote meerderheid besluite was daar juis hierdie 3 opsies.
Wat nie gehou het nie:

  • kopieer-plak, of ontwikkeling gebaseer op dieselfde tutoriaal sonder jou eie argitektuur;
  • beide take is in dieselfde bewaarplek in verskillende vouers, natuurlik is daar geen commit geskiedenis nie;
  • vuil kode, DRY oortreding, gebrek aan formatering;
  • 'n mengsel van model, aansig en kontroleerder in een klas honderde reëls kode lank;
  • gebrek aan begrip van eenheidstoetsing;
  • 'n "kop-aan" oplossing is 'n hardekode van 'n 3x3-matriks van wenkombinasies, wat taamlik moeilik sal wees om uit te brei na byvoorbeeld 10x10.

Ons het ook aandag gegee aan naburige bewaarplekke - koel troeteldierprojekte was 'n pluspunt, en 'n klomp toetstake van ander maatskappye was meer 'n wekroep: hoekom kon die kandidaat nie daar kom nie?

Gevolglik het ons oulike opsies gevind in React, Angular, Vanilla JS - daar was 29. En ons het besluit om nog een kandidaat te nooi sonder om vir sy baie cool troeteldierprojekte te toets. Ons hipotese oor die voordele van toetstake is bevestig.

Tegniese onderhoud

Vir die maatskappy: Dit is nie middels/seniors wat na jou toe gekom het nie! Ons het 'n meer individuele benadering nodig.

Vir junior: Onthou dat dit nie 'n eksamen is nie - moenie probeer om stil te bly vir 'n C of die professor te bombardeer met 'n stroom van al jou moontlike kennis sodat hy deurmekaar raak en 'n “uitstekend” gee nie.

Wat wil ons in 'n tegniese onderhoud verstaan? 'n Eenvoudige ding - hoe die kandidaat dink. Hy het waarskynlik 'n paar harde vaardighede as hy die eerste fases van keuring geslaag het - dit moet nog gesien word of hy weet hoe om dit te gebruik. Ons het oor 3 take ooreengekom.

Die eerste handel oor algoritmes en datastrukture. Met 'n pen, op 'n stuk papier, in pseudo-taal en met behulp van tekeninge, het ons uitgevind hoe om 'n boom te kopieer of hoe om 'n element van 'n enkelgeskakelde lys te verwyder. Die onaangename ontdekking was dat nie almal rekursie verstaan ​​en hoe verwysings werk nie.

Die tweede is lewendige kodering. Ons was na codewars.com, het eenvoudige dinge gekies soos om 'n reeks woorde volgens die laaste letter te sorteer en vir 30-40 minute saam met die kandidaat probeer om al die toetse te laat slaag. Dit het gelyk of daar geen verrassings moes wees van die ouens wat tik-tak-toe bemeester het nie - maar in die praktyk kon almal nie besef dat die waarde in 'n veranderlike gestoor moet word nie, en die funksie moet iets via terugkeer terugstuur. Alhoewel ek van harte hoop dit was 'n jitters, en die ouens kon hierdie take in ligter toestande hanteer.

Ten slotte, die derde een is 'n bietjie oor argitektuur. Ons het bespreek hoe om 'n soekbalk te maak, hoe debounce werk, hoe om verskeie legstukke in soekwenke weer te gee, hoe die voorkant met die agterkant kan interaksie hê. Daar was baie interessante oplossings, insluitend bediener-kant-weergawe en websockets.

Ons het 21 onderhoude gevoer deur hierdie ontwerp te gebruik. Die gehoor was heeltemal uiteenlopend - kom ons kyk na strokiesprente:

  1. "Rocket". Hy raak nooit rustig nie, raak by alles betrokke, en tydens 'n onderhoud sal hy jou oorweldig met 'n stroom gedagtes wat nie eers direk verband hou met die vraag wat gevra word nie. As dit by 'n universiteit was, sou dit 'n bekende poging wees om te demonstreer, wel, al jou kennis, wanneer al wat jy onthou van die kaartjie wat jy teëgekom het, is dat jy gisteraand besluit het om dit nie te bestudeer nie - jy kan steeds nie kry nie dit uit.
  2. "Groot". Dis nogal moeilik om met hom in aanraking te kom, want hy is Groot. Tydens 'n onderhoud moet jy 'n lang tyd spandeer om antwoorde woord vir woord te kry. Dit is goed as dit net 'n stupor is - anders sal dit vir jou baie moeilik wees in jou daaglikse werk.
  3. "Drax". Ek het voorheen in vragvervoer gewerk, en in terme van programmering het ek net JS op Stackoverflow geleer, so ek verstaan ​​nie altyd wat tydens 'n onderhoud bespreek word nie. Terselfdertyd is hy 'n goeie mens, het die beste bedoelings en wil hy 'n wonderlike front-end ontwikkelaar word.
  4. Wel, waarskynlik "Star Lord". Oor die algemeen 'n goeie kandidaat met wie jy kan onderhandel en 'n dialoog kan bou.

Aan die einde van ons navorsing 7 kandidate die eindronde gehaal en hul harde vaardighede bevestig met 'n puik toetstaak en goeie antwoorde op die onderhoud.

Kulturele pas

Vir die maatskappy: Jy werk saam met hom! Is die kandidaat bereid om uiters hard te werk vir sy ontwikkeling? Sal hy werklik in die span inpas?

Vir junior: Jy werk saam met hulle! Is die maatskappy regtig gereed om in die groei van juniors te belê, of gaan hy bloot al die vuil werk op jou stort vir 'n lae salaris?

Elke junior, benewens die produkspan, wie se hoof moet instem om hom aan te neem, kry 'n mentor. Die mentor se taak is om hom te lei deur 'n drie maande lange proses van aanboord en opgradering van harde vaardighede. Daarom het ons as mentors na elke kulturele pas gekom en die vraag beantwoord: "Sal ek verantwoordelikheid aanvaar om 'n kandidaat oor 3 maande volgens ons plan te ontwikkel?"

Hierdie stadium het verbygegaan sonder enige spesiale kenmerke en het ons uiteindelik gebring 4 aanbiedings, waarvan 3 aanvaar is, en die ouens het die spanne ingeskryf.

Lewe na die aanbod

Vir die maatskappy: Sorg vir jou juniors of ander sal!

Vir junior: AAAAAAAAAAAA!!!

Wanneer 'n nuwe werknemer uitkom, moet hy aan boord gebring word - op hoogte gebring word met die prosesse, vertel hoe alles in die maatskappy en in die span werk, en hoe hy in die algemeen moet werk. Wanneer 'n junior uitkom, moet jy verstaan ​​hoe om hom te ontwikkel.

Toe ons daaroor nagedink het, het ons 'n lys van 26 vaardighede gekry wat, na ons mening, 'n junior teen die einde van die drie maande lange instapperiode behoort te hê. Dit het harde vaardighede (volgens ons stapel), kennis van ons prosesse, Skrum, infrastruktuur en projekargitektuur ingesluit. Ons het dit gekombineer in 'n padkaart, versprei oor 3 maande.

Hoe om 'n junior te tem?

Hier is byvoorbeeld die padkaart van my junior

Ons wys 'n mentor aan elke junior toe wat individueel met hom werk. Afhangende van die mentor en die huidige vlak van die kandidaat, kan vergaderings van 1 tot 5 keer per week vir 1 uur plaasvind. Mentors is vrywillige front-end ontwikkelaars wat iets meer wil doen as om net kode te skryf.

Van die las op mentors word afgeneem deur kursusse op ons stapel – Dart, Angular. Kursusse word gereeld vir klein groepies van 4-6 mense gehou, waar studente sonder onderbreking van die werk af studeer.

Oor die loop van 3 maande versamel ons periodiek terugvoer van juniors, hul mentors en leiers en pas die proses individueel aan. Die opgepompte vaardighede word 1-2 keer oor die hele tydperk nagegaan, dieselfde kontrole word aan die einde uitgevoer - op grond daarvan word aanbevelings gevorm oor wat presies verbeter moet word.

Gevolgtrekking

Vir die maatskappy: Is dit die moeite werd om in juniors te belê? Ja!

Vir junior: Soek maatskappye wat kandidate versigtig kies en weet hoe om hulle te ontwikkel

Oor 3 maande het ons 122 vraelyste, 54 toetstake hersien en 21 tegniese onderhoude gevoer. Dit het vir ons 3 puik juniors gebring wat nou die helfte van hul aanboord- en versnellingspadkaarte voltooi het. Hulle voltooi reeds werklike produktake in ons projek, waar daar meer as 2 000 000 reëls kode en meer as 400 bewaarplekke alleen aan die voorkant is.

Ons het uitgevind dat die tregter vir juniors redelik kompleks kan en moet wees, maar op die ou end gaan net daardie ouens wat regtig gereed is om baie hard te werk en in hul ontwikkeling te belê daardeur.

Nou is ons hooftaak om drie maande ontwikkelingspadkaarte vir elke junior in die modus van individuele werk met 'n mentor en algemene kursusse te voltooi, statistieke, terugvoer van leiers, mentors en die ouens self in te samel. Op hierdie stadium kan die eerste eksperiment as voltooi beskou word, gevolgtrekkings kan gemaak word, die proses kan verbeter word en dit kan weer begin word om nuwe kandidate te kies.

Bron: will.com

Voeg 'n opmerking