Si të hyni në një kompani të madhe, nëse jeni junior? Si të punësoni një junior të denjë, nëse jeni një kompani e madhe? Nën kat do të tregoj historinë tonë të punësimit të fillestarëve në frontend: për atë si punuam mbi detyrat testuese, u përgatitëm për të zhvilluar intervista dhe ndërtuam një program mentorimi për të zhvilluar dhe përfshirë fillestarët, si dhe pse pyetjet standarde për intervista nuk funksionojnë.

Po përpiqem të tame një junior.
Përshëndetje! Unë quhem Pavel, po punoj në frontend në ekipin Wrike. Po krijojmë një sistem për menaxhimin e projekteve dhe bashkëpunimin. Kam punuar në web që nga viti 2010, kam punuar për 3 vjet në një kompani ndërkombëtare nga distanca, kam marrë pjesë në disa startup-e dhe kam dhënë një kurs mbi teknologjitë web në universitet. Në kompaninë tonë marrë pjesë në zhvillimin e kurseve teknike dhe programit të mentorimit Wrike për juniorët, si dhe rekrutimin e tyre.
Përse menduam ndonjëherë për punësimin e juniorëve?
Derisa kohĂ«t e fundit kemi punĂ«suar zhvillues frontend nga niveli middle ose senior â mjaft tĂ« pavarur pĂ«r tĂ« kryer detyrat e produktit pas pĂ«rfshirjes. NĂ« fillim tĂ« kĂ«tij viti kuptuam se donim tĂ« ndryshonim kĂ«tĂ« politikĂ«: gjatĂ« njĂ« viti numri i grupeve tona tĂ« produkteve ka rritur gati dy herĂ«, numri i frontend-Ă«ve ka arritur nĂ« njĂ« qind, dhe nĂ« njĂ« tĂ« ardhme tĂ« afĂ«rt gjithçka duhet tĂ« dyfishohet sĂ«rish. Ka shumĂ« punĂ«, pak duar tĂ« lira, dhe nĂ« treg ka edhe mĂ« pak, prandaj vendosĂ«m tĂ« drejtohemi te ata qĂ« sapo kanĂ« filluar rrugĂ«n e tyre nĂ« frontend dhe kuptuam se ishim tĂ« gatshĂ«m tĂ« investonim nĂ« zhvillimin e tyre.
Kush është një junior?
Ky është pyetja e parë që na bëmë. Ka kritere të ndryshme, por principi më i thjeshtë dhe i kuptueshëm është ky:
Njohuritë e një juniori duhet të shpjegohen se cilën funksionalitet duhet të realizojë dhe si. Një mid-level duhet të kuptojë se cila është funksionaliteti që nevojitet dhe do e menaxhojë vetë realizimin. Një senior do t'ju shpjegojë pse ky funksionalitet nuk duhet bërë fare.
Në një mënyrë ose një tjetër, një junior është ai zhvillues që ka nevojë për këshilla se si të realizojë zgjidhjen përkatëse. Nga çfarë kemi vendosur të fillojmë:
- Një junior është ai që dëshiron të zhvillohet dhe është i gatshëm të punojë shumë për këtë;
- Ai nuk di gjithmonë se në cilën drejtim dëshiron të zhvillohet;
- Ka nevojĂ« pĂ«r kĂ«shillĂ« dhe kĂ«rkon ndihmĂ« nga jashtĂ« â nga udhĂ«heqĂ«si i tij, mentori ose nga komuniteti.
Po gjithashtu kishim disa hipoteza:
- Për poziten e juniorëve do të ketë një stuhi të reagimeve. Duhet të filtrojmë reagimet rastësore që në fazën e dërgimit të CV-ve;
- Filtri fillestar nuk do tĂ« ndihmojĂ« â na duhen edhe disa teste;
- Testet do tâi trembin tĂ« gjithĂ« â ato nuk janĂ« tĂ« nevojshme.
Natyrisht, ne patëm një qëllim: 4 juniorë në 3 javë.
Me këtë ndërgjegje filluam të eksperimentojmë. Plani ishte i thjeshtë: të fillonim me një gyp sa më të gjerë dhe të provonim ta ngushtonim gradualisht në mënyrë që të mund të përballonim fluksin, por pa e zvogëluar atë në 1 kandidat në javë.
Vendosim shpalljen e punës
Për kompaninë: Do të ketë qindra reagime! Mendoni për filtrin.
PĂ«r juniorin: Mos kini frikĂ« nga anketa para dĂ«rgimit tĂ« CV-sĂ« dhe testeve â kjo Ă«shtĂ« njĂ« shenjĂ« qĂ« kompania kujdeset pĂ«r ju dhe ka organizuar mirĂ« procesin.
Në ditën e parë, morëm rreth 70 CV nga kandidatët "me njohuri në JavaScript". Pastaj edhe më shumë. E kemi fizikisht të pamundur të thërrasim të gjithë për intervistë në zyrë dhe zgjodhëm nga ata djemtë me projektet më interesante, një GitHub aktiv ose të paktën përvojë.
Por pĂ«rfundimi kryesor qĂ« ne bĂ«mĂ« nĂ« ditĂ«n e parĂ« â stuhi ka filluar. Koha ka ardhur pĂ«r tĂ« shtuar njĂ« formĂ« ankete para dĂ«rgimit tĂ« CV-ve. QĂ«llimi i saj ishte tĂ« pĂ«rjashtonte kandidatĂ«t qĂ« nuk ishin tĂ« gatshĂ«m tĂ« bĂ«nin pĂ«rpjekje minimale pĂ«r dĂ«rgimin e CV-sĂ«, dhe ata qĂ« nuk kishin njohuri dhe kontekst tĂ« paktĂ«n nĂ« atĂ« masĂ« pĂ«r tĂ« kĂ«rkuar pĂ«rgjigjet e sakta.
NĂ« tĂ« kishte pyetje standarde mbi JS, kodimin, webin, InformatikĂ«n â i di çdo kush qĂ« e di se çfarĂ« pyetet nĂ« njĂ« intervistĂ« nĂ« frontend. ĂfarĂ« Ă«shtĂ« ndarja let/var/const? Si tĂ« aplikoni stilet vetĂ«m pĂ«r ekranet mĂ« tĂ« vogla se 600px nĂ« gjerĂ«si? Nuk doja t'i bĂ«ja kĂ«to pyetje gjatĂ« intervistĂ«s teknike â praktika tregoi se mund tĂ« pĂ«rgjigjesh nĂ« to pas 2-3 intervistash, pa kuptuar plotĂ«sisht zhvillimin. Por, ato ishin nĂ« gjendje tĂ« na tregojnĂ« fillimisht nĂ«se kandidati kupton pĂ«rgjithĂ«sisht kontekstin.
NĂ« çdo kategori, kemi pĂ«rgatitur 3-5 pyetje dhe ditĂ« pas dite ndĂ«rronim setin e tyre nĂ« formĂ«n e pĂ«rgjigjes, derisa pĂ«rjashtuam ato mĂ« tĂ« lehtat dhe mĂ« tĂ« vĂ«shtirat. Kjo na lejoi tĂ« pakĂ«sojmĂ« fluksin â brenda 3 javĂ«ve morĂ«m 122 kandidatĂ«, me tĂ« cilĂ«t mund tĂ« punonim mĂ« tej. Ishin studentĂ« IT; djem qĂ« dĂ«shironin tĂ« kalonin nga backend nĂ« frontend; punĂ«torĂ« ose inxhinerĂ« tĂ« moshĂ«s 25â35 vjeçare qĂ« kishin dĂ«shiruar tĂ« ndryshonin radikalisht drejtimin e veprimtarisĂ« dhe kishin bĂ«rĂ« pĂ«rpjekje tĂ« ndryshme pĂ«r vetĂ«arsim, kurse dhe praktikĂ«.
Ta njohim më mirë
Për kompaninë: Detyra testuese nuk i frikëson kandidatët, por ndihmon të shkurtohet procesi.
PĂ«r juniorin: Mos kopjoni detyrat testuese â kjo Ă«shtĂ« e dukshme. Dhe mbani rregull tĂ« mjaftueshĂ«m nĂ« GitHub-in tuaj!
NĂ«se do tĂ« kishim thirrur tĂ« gjithĂ« pĂ«r njĂ« intervistĂ« teknike, do tĂ« na duhej tĂ« zhvillonim afĂ«rsisht 40 intervista nĂ« javĂ« vetĂ«m pĂ«r juniorĂ«t dhe vetĂ«m nĂ« frontend. Prandaj vendosĂ«m tĂ« kontrollonim hipotezĂ«n e dytĂ« â pĂ«r detyrĂ«n testuese.
ĂfarĂ« ishte e rĂ«ndĂ«sishme pĂ«r ne nĂ« teste:
- Të ndërtojmë një arkitekturë të mirë dhe të shkallëzuar, por pa e tepruar;
- Më mirë të punosh më shumë, por të bësh mirë, sesa të bësh një punë të shpejtë e të dërgosh me komentarin «do ta përfundoj patjetër»;
- Historia e zhvillimit nĂ« git â kultura inxhinierike, iterativiteti i zhvillimit dhe fakti qĂ« zgjidhja nuk Ă«shtĂ« kopjuar nĂ« mĂ«nyrĂ« tĂ« turpshme.
Ne u pajtuam qĂ« dĂ«shironim tĂ« shihnim njĂ« detyrĂ« algoritmike dhe njĂ« aplikacion tĂ« vogĂ«l web. Detyrat algoritmike ishin pĂ«rgatitur nĂ« nivelin e laboratorĂ«ve tĂ« kurseve fillestare â kĂ«rkimi binar, renditja, kontrolli i anagramĂ«ve, puna me lista dhe pemĂ«. NĂ« fund, u ndaluam te kĂ«rkimi binar si opsioni i parĂ« pĂ«r provĂ«. Aplikacioni web duhej tĂ« ishte tic-tac-toe duke pĂ«rdorur ndonjĂ« framework (ose pa tĂ«).
Gati gjysma e djemve tĂ« mbetur e pĂ«rfunduan detyrĂ«n testuese â na dĂ«rguan zgjidhjet 54 kandidatĂ«. NjĂ« insight i pabesueshĂ«m â sipas jush, sa realizime tĂ« tic-tac-toe, tĂ« gatshme pĂ«r kopjim, ka nĂ« internet?
Sa?Në të vërtetë, duket se ka vetëm 3. Dhe në shumicën dërrmuese të zgjidhjeve ishin pikërisht këto 3 variante.
ĂfarĂ« nuk mĂ« pĂ«lqeu:
- kopjim, ose zhvillim nga i njëjti tutorial pa një arkitekturë të vetme;
- të dy detyrat në të njëjtin repository në dosje të ndryshme, me histori commitësh që sigurisht nuk ka;
- kod i papastër, shkelje e DRY, mungesë formatimi;
- përzierje e modelit, pamjeve dhe kontrolluesit në një klasë me gjatësi qindra linjash kodi;
- mungesë e kuptimit të testeve të njësi;
- zgjidhja "nĂ« njĂ« goditje" â hardkodi i matricĂ«s sĂ« kombinimeve fituese 3x3, qĂ« do tĂ« jetĂ« mjaft e vĂ«shtirĂ« pĂ«r t'u zgjeruar nĂ« 10x10, pĂ«r shembull.
Po ashtu, ne kemi vĂ«nĂ« re repo tĂ« tjera â projektet e bukura tĂ« pĂ«rkushtimit po ecnin pĂ«rpara, ndĂ«rsa njĂ« mori detyrash testuese nga kompani tĂ« tjera ishin mĂ« shumĂ« njĂ« sinjal: pse kandidati nuk arriti tĂ« kalojĂ« atje?
Si rezultat gjetĂ«m disa mundĂ«si tĂ« shkĂ«lqyera nĂ« React, Angular, Vanilla JS â u grumbulluan 29 tĂ« tilla. Dhe njĂ« kandidatĂ« tjetĂ«r vendosĂ«m ta ftojmĂ« pa test se projektet e tij tĂ« pĂ«rkushtimit ishin shumĂ« tĂ« mira. Hipoteza jonĂ« pĂ«r pĂ«rfitimin nga detyrat testuese u konfirmua.
Intervista teknike
Për kompaninë: Nuk erdhën midhla / të moshenjësit! Duhet më shumë qasje individuale.
PĂ«r juniorin: Mos harroni, qĂ« kjo nuk Ă«shtĂ« njĂ« provim â mos u pĂ«rpiqni tĂ« heshtni pĂ«r njĂ« notĂ« mesatare ose tĂ« shkurtoni profesorin me gjithçka qĂ« dini, nĂ« mĂ«nyrĂ« qĂ« ai tĂ« ngatĂ«rohet dhe tĂ« japĂ« "shkĂ«lqyer".
ĂfarĂ« dĂ«shirojmĂ« tĂ« kuptojmĂ« nĂ« intervistĂ«n teknike? NjĂ« gjĂ« tĂ« thjeshtĂ« â si mendon kandidati. Probabil u ka ndonjĂ« aftĂ«si tĂ« fortĂ«, nĂ«se kaloi fazat e para tĂ« pĂ«rzgjedhjes â mbetet tĂ« zbulojmĂ« nĂ«se di t'i aplikojĂ« ato. U vendosĂ«m pĂ«r 3 detyra.
E para â pĂ«r algoritmet dhe strukturat e tĂ« dhĂ«nave. Me stilolaps, nĂ« njĂ« letĂ«r, nĂ« njĂ« pseudogjuhĂ« dhe me ndihmĂ«n e vizatimeve ne shikuam se si tĂ« kopjojmĂ« njĂ« pemĂ« ose si tĂ« heqim njĂ« element nga njĂ« listĂ« e lidhur. NjĂ« zbulim i pakĂ«ndshĂ«m ishte qĂ« nuk tĂ« gjithĂ« kuptojnĂ« rekurzionin dhe se si funksionojnĂ« lidhjet.
E dyta â kodim i drejtpĂ«rdrejtĂ«. Ne hynim nĂ« , zgjidhnim gjĂ«ra tĂ« thjeshta si renditja e njĂ« varg fjalĂ«sh sipas shkronjĂ«s sĂ« fundit dhe pĂ«r 30-40 minuta bashkĂ« me kandidatin, pĂ«rpiqeshim t'i kalonim tĂ« gjitha provat. Dukej se nuk duhet tĂ« kishte surpriza nga djemtĂ« qĂ« kishin pĂ«rfunduar xhdo-nuk â por nĂ« praktikĂ«, jo tĂ« gjithĂ« kuptuan se vlera duhet tĂ« ruhej nĂ« njĂ« ndryshore dhe funksioni duhet tĂ« kthejĂ« diçka pĂ«rmes return. MegjithatĂ«, shpresoj se ishte nervozizĂ«m, dhe djemtĂ« kanĂ« mundĂ«sinĂ« tĂ« zgjidhin kĂ«to detyra nĂ« kushte mĂ« tĂ« lehta.
MĂ« nĂ« fund, e treta â pak pĂ«r arkitekturĂ«n. Diskutuam se si mund tĂ« bĂ«het njĂ« kat pĂ«r kĂ«rkimin, si funksionon debounce, si tĂ« renditen ndryshmet nĂ« rekomandimet e kĂ«rkimit, si frontend mund tĂ« bashkĂ«veprojĂ« me backend-in. U gjetĂ«n zgjidhje tĂ« shumta interesante, pĂ«rfshirĂ« renderimin nĂ« server dhe websockets.
Ne kemi zhvilluar 21 intervista nĂ« kĂ«tĂ« format. Publiku ishte absolutisht i larmishĂ«m â le tĂ« flasim pĂ«r komikĂ«t:
- «Raketa». KurrĂ« nuk qetĂ«sohet, ngacmon kudo, dhe gjatĂ« intervistĂ«s do t'ju mbushĂ« me njĂ« rrjedhĂ« mendimesh qĂ« as nuk lidhen drejtpĂ«rdrejt me pyetjen e parashtruar. Po tĂ« shkonte nĂ« universitet, kjo do tĂ« ishte njĂ« pĂ«rpjekje e njohur pĂ«r tĂ« demonstruar tĂ« gjitha njohuritĂ« e tij, kur nĂ« fakt nuk e mban mend mĂ« shumĂ« se sa vendoset tĂ« mos e studiojĂ« â prapĂ« se prapĂ«, nuk do tĂ« arrijĂ« dot.
- «Groot». ĂshtĂ« mjaft e vĂ«shtirĂ« tĂ« krijosh kontakt, sepse ai Ă«shtĂ« Groot. GjatĂ« intervistĂ«s, duhet shumĂ« kohĂ« pĂ«r ta bĂ«rĂ« tĂ« flasĂ«, duke nxjerrĂ« pĂ«rgjigje fjalĂ« pĂ«r fjalĂ«. MirĂ« Ă«shtĂ« nĂ«se Ă«shtĂ« thjesht njĂ« ngĂ«rç â ndryshe, mĂ« pas do t'ju jetĂ« shumĂ« e vĂ«shtirĂ« nĂ« punĂ« tĂ« pĂ«rditshme.
- «Drax». Disa herë merrej me transportin, dhe nga programimi kishte mësuar vetëm JS nga Stackoverflow, prandaj nuk e kupton gjithmonë se për çfarë po flitet në intervistë. Megjithatë, është një person i mirë, ka qëllime të mira dhe dëshiron të bëhet një frontender i shkëlqyer.
- Ndoshta dhe «Lord Star». Në përgjithësi, një kandidat i mirë, me të cilin mund të arrijmë një marrëveshje dhe të ndërtojmë dialog.
Në fund të hulumtimeve tona 7 kandidatë arritën në finale, duke konfirmuar aftësitë e tyre të forta me një detyrë testuese të shkëlqyer dhe përgjigje të mira gjatë intervistës.
Përshtatja kulturore
Për kompaninë: Ka për të punuar me ty! A është kandidati gati të punojë ekstremisht shumë për zhvillimin e tij? A është i sigurt se do të përfshihet në ekip?
Për juniorin: Do të punoni me ata! A është kompania gati të investojë në rritjen e juniorëve, apo thjesht do t'ju hedhë gjithë punën e ndyrë me një pagë të ulët?
Ădo junior pĂ«rveç ekipit tĂ« produktit, tĂ« cilit lideri duhet ta pranojĂ«, kalon te njĂ« mentor. Detyra e mentorit Ă«shtĂ« ta kalojĂ« atĂ« pĂ«rmes njĂ« processi tre mujor onboarding dhe zhvillimi i aftĂ«sive tĂ« forta. Prandaj, pĂ«r çdo pĂ«rshtatje kulturore vinin si mentorĂ« dhe pyetnim veten: «A do tĂ« marrĂ« mbi vete pĂ«rgjegjĂ«sinĂ« pĂ«r tĂ« zhvilluar kandidatin pĂ«r tre muaj nĂ« planin tonĂ«?»
Ky fazë kaloi pa ndonjë veçanti dhe në fund na solli 4 oferta, 3 prej të cilave u pranuan, dhe djemtë u bënë pjesë e ekipeve.
Jeta pas ofrimit
Për kompaninë: Kujdesuni për juniorët tuaj ose do t'i bëjnë tjerë!
Për juniorin: AAAA! AAAA! AAAA!
Kur tĂ« dalĂ« njĂ« punonjĂ«s i ri, Ă«shtĂ« e nevojshme tĂ« bĂ«het onboarding â tĂ« njihet me proceset, tĂ« tregohet si funksionon gjithçka nĂ« kompani dhe nĂ« ekip dhe si duhet tĂ« punojĂ« ai nĂ« pĂ«rgjithĂ«si. Kur del njĂ« junior, Ă«shtĂ« e rĂ«ndĂ«sishme tĂ« kuptohet si mund tĂ« zhvillohet ai.
Kur mendojmë për këtë, kemi formuar një listë prej 26 aftësish që, sipas mendimit tonë, një junior duhet të ketë deri në fund të periudhës tri mujore të onboarding-ut. Këtu përfshihen hard-skills (sipër bazës sonë), njohuritë mbi proceset tona, Scrum-in, infrastrukturën, arkitekturën e projektit. Kemi bashkuar këto në një roadmap, të shpërndarë gjatë 3 muajve.

Për shembull, ja roadmap-i i juniorit tim.
Ădo junior ka njĂ« mentor tĂ« caktuar, i cili punon me tĂ« nĂ« mĂ«nyrĂ« individuale. NĂ« varĂ«si tĂ« mentorit dhe nivelit aktual tĂ« kandidatit, takimet mund tĂ« ndodhin nga 1 deri nĂ« 5 herĂ« nĂ« javĂ« pĂ«r 1 orĂ«. MentorĂ«t bĂ«hen me vullnet tĂ« plotĂ« frontend-istĂ« qĂ« duan tĂ« bĂ«jnĂ« diçka mĂ« shumĂ« se thjesht tĂ« shkruajnĂ« kod.
Disa nga ngarkesat e mentorĂ«ve lehtĂ«sohen nga kurset pĂ«r bazĂ«n tonĂ« tĂ« teknologjive â Dart, Angular. Kurset organizohen rregullisht pĂ«r grupe tĂ« vogla prej 4-6 njerĂ«zish, ku nxĂ«nĂ«sit punojnĂ« pa ndĂ«rprerĂ« nga puna.
GjatĂ« 3 muajve, ne periodikisht mbledhim feedback nga juniorĂ«t, mentorĂ«t e tyre dhe liderĂ«t dhe rregullojmĂ« procesin nĂ« mĂ«nyrĂ« individuale. 1-2 herĂ« gjatĂ« gjithĂ« periudhĂ«s bĂ«het njĂ« kontroll i aftĂ«sive tĂ« pĂ«rmirĂ«suara, njĂ« kontroll i tillĂ« bĂ«het nĂ« fund â mbi tĂ« cilin formohen rekomandimet pĂ«r atĂ« qĂ« duhet pĂ«rmirĂ«suar.
Përfundim
Për kompaninë: A duhet të investohet në juniorë? Po!
Për juniorin: Kërkoni kompani që përzgjedhin me kujdes kandidatët dhe dinë si t'i zhvillojnë ata.
Në tre muaj kemi shqyrtuar 122 pyetësorë, 54 detyra testuese dhe kemi zhvilluar 21 intervista teknike. Kjo na ka sjellë 3 juniorë të shkëlqyer që tashmë kanë kaluar gjysmën e roadmap-eve të tyre për onboarding dhe akselerim. Ata tashmë po zgjidhin detyra reale produkti në projektin tonë, ku vetëm në frontend janë më shumë se 2,000,000 rreshta kodi dhe më shumë se 400 depo.
Kemi zbuluar se kanali për juniorët mund dhe duhet të jetë mjaft i komplikuar, por në fund vetëm ata djem që janë vërtet gati të punojnë shumë dhe të investojnë në zhvillimin e tyre kalojnë përmes tij.
Aktualisht, objekti ynë kryesor është përfundimi i planit të zhvillimit për çdo junior në një periudhë tre mujore, duke punuar individualisht me një mentor dhe përmes kurseve të përbashkëta, mbledhja e metrikeve, feedback-ut nga liderët, mentorët dhe vetë studentët. Në këtë pikë, eksperimentin e parë mund ta quajmë të përfunduar, për të nxjerrë përfundime, për të përmirësuar procesin dhe për ta nisur atë përsëri për përzgjedhjen e kandidatëve të rinj.
Burimi: habr.com
