{"id":36985,"date":"2019-10-31T22:15:09","date_gmt":"2019-10-31T19:15:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-priruchit-dzhuniora\/"},"modified":"2019-10-31T22:15:09","modified_gmt":"2019-10-31T19:15:09","slug":"kak-priruchit-dzhuniora","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/kak-priruchit-dzhuniora","title":{"rendered":"Cum s\u0103 \u00eembl\u00e2nze\u0219ti un junior?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cum s\u0103 ajungi \u00eentr-o companie mare dac\u0103 e\u0219ti junior? Cum s\u0103 angajezi un junior decent dac\u0103 e\u0219ti o companie mare? \u00cen continuare, voi povesti despre experien\u021ba noastr\u0103 de angajare a tinerelor talente \u00een frontend: despre cum am elaborat teste, ne-am preg\u0103tit pentru interviuri \u0219i am structurat un program de mentorat pentru dezvoltarea \u0219i integrarea noilor veni\u021bi, dar \u0219i de ce \u00eentreb\u0103rile standard pentru interviuri nu func\u021bioneaz\u0103.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eembl\u00e2nze\u0219ti un junior?\" src=\"\/wp-content\/uploads\/2019\/08\/7d25796ac2b47f408d68abe202332b40.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>\u00cencerc s\u0103 \u00eembl\u00e2nzesc un junior<\/i><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nSalut! Numele meu este Pavel, fac frontend \u00een echipa Wrike. Cre\u0103m un sistem pentru gestionarea proiectelor \u0219i colaborare. Lucrez \u00een web din 2010, am lucrat 3 ani la remote \u00een str\u0103in\u0103tate, am participat la c\u00e2teva startup-uri \u0219i am predat un curs de tehnologii web la universitate. \u00cen companie, contribuiesc la dezvoltarea cursurilor tehnice \u0219i a programului de mentorat Wrike pentru juniori, precum \u0219i la recrutarea acestora.<\/p>\n<h3>De ce ne-am g\u00e2ndit la angajarea juniorilor<\/h3>\n<p>\nP\u00e2n\u0103 de cur\u00e2nd, angajam dezvoltatori frontend de nivel middle sau senior \u2014 suficient de independen\u021bi pentru a putea \u00eendeplini sarcini de produs dup\u0103 integrare. La \u00eenceputul acestui an, am realizat c\u0103 dorim s\u0103 schimb\u0103m aceast\u0103 politic\u0103: \u00een ultima an, num\u0103rul echipelor noastre de produs a crescut aproape de dou\u0103 ori, num\u0103rul dezvoltatorilor frontend s-a apropiat de o sut\u0103, iar \u00een perspectiva apropiat\u0103, acest num\u0103r ar trebui s\u0103 se dubleze din nou. Munca este mult\u0103, m\u00e2inile libere sunt pu\u021bine, iar pe pia\u021b\u0103 sunt chiar mai pu\u021bine, a\u0219a c\u0103 am decis s\u0103 ne \u00eendrept\u0103m spre cei care abia \u00eencep \u00een frontend \u0219i am realizat c\u0103 suntem preg\u0103ti\u021bi s\u0103 investim \u00een dezvoltarea lor.<\/p>\n<h3>Cine este un junior?<\/h3>\n<p>\nAceasta este prima \u00eentrebare pe care ne-am pus-o. Exist\u0103 diferite criterii, dar cel mai simplu \u0219i clar principiu este urm\u0103torul:<\/p>\n<blockquote><p>Unui junior trebuie s\u0103-i explici ce caracteristic\u0103 \u0219i cum s\u0103 o implementeze. Unui middle trebuie s\u0103-i explici ce caracteristic\u0103 este necesar\u0103, iar el se va descurca singur cu implementarea. Un senior \u00eens\u0103 \u00ee\u021bi va explica de ce aceast\u0103 caracteristic\u0103 nu trebuie realizat\u0103 deloc.<\/p><\/blockquote>\n<p>A\u0219a sau altfel, un junior este acel dezvoltator care are nevoie de sfaturi despre cum s\u0103 implementeze o solu\u021bie sau alta. De la ce am decis s\u0103 ne ghid\u0103m:<\/p>\n<ol>\n<li>Un junior este cineva care vrea s\u0103 se dezvolte \u0219i este preg\u0103tit s\u0103 munceasc\u0103 mult pentru aceasta;<\/li>\n<li>Nu \u0219tie \u00eentotdeauna \u00een ce direc\u021bie vrea s\u0103 se dezvolte;<\/li>\n<li>Are nevoie de sfaturi \u0219i caut\u0103 ajutor extern \u2014 de la liderul s\u0103u, mentor sau \u00een comunitate.<\/li>\n<\/ol>\n<p>\nAm avut \u0219i mai multe ipoteze:<\/p>\n<ol>\n<li><i>Pe pozi\u021bia de junior va fi o furtun\u0103 de r\u0103spunsuri<\/i>. Trebuie s\u0103 filtr\u0103m r\u0103spunsurile aleatorii \u00eenc\u0103 din etapa de trimitere a CV-urilor;<\/li>\n<li><i>Filtrul ini\u021bial nu va ajuta<\/i> \u2014 avem nevoie de sarcini de testare suplimentare;<\/li>\n<li><i>Sarcinile de testare \u00eei vor speria pe to\u021bi<\/i> \u2014 nu sunt necesare.<\/li>\n<\/ol>\n<p>\nEi bine, desigur, noi am avut un obiectiv: <b>4 juniori \u00een 3 s\u0103pt\u0103m\u00e2ni<\/b>.<\/p>\n<p>Cu aceast\u0103 realizare, am \u00eenceput s\u0103 experiment\u0103m. Planul a fost simplu: s\u0103 \u00eencepem cu un funnel c\u00e2t mai larg \u0219i s\u0103 \u00eencerc\u0103m s\u0103-l \u00eengust\u0103m treptat, astfel \u00eenc\u00e2t s\u0103 putem gestiona fluxul, dar s\u0103 nu ajungem la un singur candidat pe s\u0103pt\u0103m\u00e2n\u0103.<\/p>\n<h3>Public\u0103m anun\u021bul de angajare<\/h3>\n<p><\/p>\n<blockquote><p><b>Pentru companie<\/b>: Vor fi sute de r\u0103spunsuri! G\u00e2ndi\u021bi-v\u0103 la un filtru.<\/p>\n<p><b>Pentru junior<\/b>: Nu v\u0103 fie team\u0103 de chestionar \u00eenainte de a trimite CV-ul \u0219i sarcina de testare \u2014 este un semn c\u0103 compania se \u00eengrijoreaz\u0103 de voi \u0219i a preg\u0103tit bine procesul.\n<\/p><\/blockquote>\n<p>\n\u00cen prima zi, am primit aproximativ 70 de CV-uri de la candida\u021bi \"cu cuno\u0219tin\u021be de JavaScript\". \u0218i apoi \u00eenc\u0103. \u0218i \u00eenc\u0103. Nu am putut fizic s\u0103 chem\u0103m pe to\u021bi la interviuri \u00een birou \u0219i am ales dintre ei b\u0103ie\u021bi cu cele mai interesante pet-proiecte, un GitHub activ sau m\u0103car un pic de experien\u021b\u0103. <\/p>\n<p>Dar concluzia principal\u0103 pe care am tras-o \u00een prima zi este c\u0103 furtuna a \u00eenceput. A venit momentul s\u0103 ad\u0103ug\u0103m un formular de chestionar \u00eenainte de trimiterea CV-ului. Scopul s\u0103u era s\u0103 \u00eei exclud\u0103 pe candida\u021bii care nu erau dispu\u0219i s\u0103 fac\u0103 un minim efort pentru a trimite CV-ul, \u0219i pe cei care nu aveau cuno\u0219tin\u021be \u0219i context suficient pentru a c\u0103uta r\u0103spunsuri corecte. <\/p>\n<p>\u00cen el erau \u00eentreb\u0103ri standard despre JS, markup, web, Computer Science \u2014 le \u0219tie toat\u0103 lumea care \u00ee\u0219i d\u0103 seama ce se \u00eentreab\u0103 la un interviu de front-end. Care este diferen\u021ba dintre let\/var\/const? Cum aplici stiluri doar pentru ecrane cu o l\u0103\u021bime mai mic\u0103 de 600px? Nu voiam s\u0103 punem aceste \u00eentreb\u0103ri la interviul tehnic \u2014 practic, am observat c\u0103 la ele se poate r\u0103spunde dup\u0103 2-3 interviuri, f\u0103r\u0103 s\u0103 se \u00een\u021beleag\u0103 deloc dezvoltarea. Dar acestea ne-au putut ar\u0103ta, ini\u021bial, dac\u0103 candidatul \u00een\u021belege \u00een principiu contextul.<\/p>\n<p>\u00cen fiecare categorie am preg\u0103tit 3-5 \u00eentreb\u0103ri \u0219i zi de zi am schimbat setul acestora \u00een formularul de r\u0103spuns, p\u00e2n\u0103 c\u00e2nd am exclus cele mai simple \u0219i cele mai dificile. Acest lucru ne-a permis s\u0103 reducem fluxul \u2014 \u00een 3 s\u0103pt\u0103m\u00e2ni am primit <b>122 candida\u021bi<\/b>, cu care am putut lucra mai departe. Ace\u0219tia erau studen\u021bi IT; tineri care au dorit s\u0103 treac\u0103 de la backend la frontend; muncitori sau ingineri cu v\u00e2rste \u00eentre 25 \u0219i 35 de ani, care au dorit s\u0103 schimbe radical domeniul de activitate \u0219i au depus diferite eforturi \u00een auto-educare, cursuri \u0219i stagii.<\/p>\n<h3>Hai s\u0103 ne cunoa\u0219tem mai bine<\/h3>\n<p><\/p>\n<blockquote><p><b>Pentru companie<\/b>: Proba de lucru nu \u00eei sperie pe candida\u021bi, ci ajut\u0103 la reducerea num\u0103rului de interviuri.<\/p>\n<p><b>Pentru junior<\/b>: Nu copia\u021bi teste \u2014 se observ\u0103. \u0218i men\u021bine\u021bi-v\u0103 GitHub-ul \u00een ordine!\n<\/p><\/blockquote>\n<p>Dac\u0103 am fi invitat pe toat\u0103 lumea la interviuri tehnice, ar fi trebuit s\u0103 avem aproximativ 40 de interviuri pe s\u0103pt\u0103m\u00e2n\u0103 doar pentru juniori \u0219i doar pentru frontend. Prin urmare, am decis s\u0103 verific\u0103m a doua ipotez\u0103 \u2014 despre proba de lucru.<\/p>\n<p>Ce era important pentru noi \u00een proba de lucru:<\/p>\n<ol>\n<li>S\u0103 construim o arhitectur\u0103 bun\u0103 \u0219i scalabil\u0103, dar f\u0103r\u0103 supra-inginerie;<\/li>\n<li>Mai bine s\u0103 dureze mai mult, dar s\u0103 se fac\u0103 bine, dec\u00e2t s\u0103 creezi ceva peste noapte \u0219i s\u0103 trimiti cu comentariul \u201ecu siguran\u021b\u0103 voi termina\u201d;<\/li>\n<li>Istoricul dezvolt\u0103rii \u00een Git \u2014 cultura ingineriei, iterativitatea dezvolt\u0103rii \u0219i faptul c\u0103 solu\u021bia nu a fost copiat\u0103 \u00een mod flagrant.<\/li>\n<\/ol>\n<p>\nNe-am pus de acord c\u0103 vrem s\u0103 vedem o problem\u0103 algoritmic\u0103 \u0219i o aplica\u021bie web mic\u0103. Problemele algoritmice au fost preg\u0103tite la nivel de laborator pentru cursuri introductorii \u2014 c\u0103utare binar\u0103, sortare, verificare de anagrame, lucru cu liste \u0219i arbori. \u00cen final, ne-am oprit la c\u0103utarea binar\u0103 ca prim variant\u0103 de prob\u0103. Aplica\u021bia web ar fi trebuit s\u0103 fie X \u0219i 0 folosind orice framework (sau f\u0103r\u0103).<\/p>\n<p>Proba de lucru a fost finalizat\u0103 de aproape jum\u0103tate din ceilal\u021bi \u2014 am primit solu\u021bii <b>54 candida\u021bi<\/b>. O descoperire incredibil\u0103 \u2014 c\u00e2t crede\u021bi c\u0103 sunt de fapt implement\u0103ri de X \u0219i 0, preg\u0103tite pentru copiat, disponibile pe internet? <\/p>\n<p><b class=\"spoiler_title\">C\u00e2te?<\/b>De fapt, pare c\u0103 exist\u0103 doar 3. \u0218i \u00een majoritatea solu\u021biilor erau exact aceste 3 variante.<br \/>\nCe nu mi-a pl\u0103cut:<\/p>\n<ul>\n<li>copiere, sau dezvoltare dup\u0103 acela\u0219i tutorial f\u0103r\u0103 o arhitectur\u0103 proprie;<\/li>\n<li>ambele probleme \u00een acela\u0219i depozit \u00een foldere diferite, f\u0103r\u0103 istoricul commit-urilor, bine\u00een\u021beles;<\/li>\n<li>cod murdar, \u00eenc\u0103lcarea principiului DRY, lipsa de formatare;<\/li>\n<li>amestec de model, vizualizare \u0219i controller \u00eentr-o singur\u0103 clas\u0103 lung\u0103 de sute de linii;<\/li>\n<li>lipsa de \u00een\u021belegere a test\u0103rii unitare;<\/li>\n<li>solu\u021bia \u00ab\u00een fa\u021b\u0103\u00bb \u2014 hardcodarea matricei combina\u021biilor c\u00e2\u0219tig\u0103toare 3x3, ceea ce va fi destul de greu de extins la 10x10, de exemplu.<\/li>\n<\/ul>\n<p>\nDe asemenea, am observat atenta la repozitoriile vecine \u2014 proiectele personale grozave erau \u00een cre\u0219tere, iar o mul\u021bime de teste de la alte companii p\u0103reau mai degrab\u0103 un semnal: de ce nu a reu\u0219it candidatul s\u0103 treac\u0103 acolo?<\/p>\n<p>\u00cen final, am g\u0103sit op\u021biuni grozave pe React, Angular, Vanilla JS \u2014 s-au str\u00e2ns 29. \u0218i am decis s\u0103 invit\u0103m un alt candidat f\u0103r\u0103 test pentru proiectele sale personale foarte interesante. Ipoteza noastr\u0103 despre utilitatea testelor a fost confirmat\u0103.<\/p>\n<h3>Interviu tehnic<\/h3>\n<blockquote><p><b>Pentru companie<\/b>: La voi au venit nu medii\/superiori! Este nevoie de mai mult\u0103 abordare individualizat\u0103.<\/p>\n<p><b>Pentru junior<\/b>: Aminti\u021bi-v\u0103 c\u0103 acesta nu este un examen \u2014 nu \u00eencerca\u021bi s\u0103 t\u0103ce\u021bi pentru a ob\u021bine o not\u0103 de trecere sau s\u0103 cople\u0219i\u021bi profesorul cu toate cuno\u0219tin\u021bele voastre, astfel \u00eenc\u00e2t s\u0103 se confunde \u0219i s\u0103 v\u0103 pun\u0103 \u201eexcelent\u201d.\n<\/p><\/blockquote>\n<p>Ce vrem s\u0103 \u00een\u021belegem la interviul tehnic? Un lucru simplu \u2014 cum ra\u021bioneaz\u0103 candidatul. Probabil c\u0103 de\u021bine anumite abilit\u0103\u021bi tehnice, dac\u0103 a trecut etapele ini\u021biale de selec\u021bie \u2014 r\u0103m\u00e2ne s\u0103 vedem dac\u0103 le poate aplica. Am convenit asupra a 3 sarcini.<\/p>\n<p>Prima \u2014 despre algoritmi \u0219i structuri de date. Cu un pix, pe o foaie, \u00een pseudocod \u0219i cu ajutorul desenelor, am discutat cum s\u0103 copiem un arbore sau cum s\u0103 \u0219tergem un element dintr-o list\u0103 simplu legat\u0103. O descoperire nepl\u0103cut\u0103 a fost c\u0103 nu to\u021bi \u00een\u021beleg recursivitatea \u0219i modul \u00een care func\u021bioneaz\u0103 referin\u021bele.<\/p>\n<p>A doua \u2014 live coding. Am intrat pe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.codewars.com\/\">codewars.com<\/a><\/noindex>, am ales lucruri simple, cum ar fi sortarea unui array de cuvinte dup\u0103 ultima liter\u0103 \u0219i, timp de 30-40 de minute, \u00eempreun\u0103 cu candidatul, am \u00eencercat s\u0103 facem toate testele s\u0103 treac\u0103. P\u0103rea c\u0103 nu ar fi trebuit s\u0103 fie surprize de la b\u0103ie\u021bii care au reu\u0219it s\u0103 termine X \u0219i 0 \u2014 dar, \u00een practic\u0103, nu to\u021bi au putut \u00een\u021belege c\u0103 valoarea trebuie p\u0103strat\u0103 \u00eentr-o variabil\u0103, iar func\u021bia trebuie s\u0103 returneze ceva prin return. De\u0219i sper sincer c\u0103 a fost doar un moment de stres \u0219i b\u0103ie\u021bii au reu\u0219it s\u0103 rezolve aceste sarcini \u00een condi\u021bii mai relaxate.<\/p>\n<p>\u00cen final, a treia \u2014 pu\u021bin despre arhitectur\u0103. Am discutat despre cum ar putea fi realizat\u0103 o bar\u0103 de c\u0103utare, cum func\u021bioneaz\u0103 debounce, cum s\u0103 redimension\u0103m diferite widget-uri \u00een sugestiile de c\u0103utare, cum frontend-ul poate interac\u021biona cu backend-ul. Au fost multe solu\u021bii interesante, inclusiv despre redimensionarea pe server \u0219i websocket-uri.<\/p>\n<p>Am desf\u0103\u0219urat 21 de interviuri dup\u0103 acest model. Publicul a fost complet divers \u2014 s\u0103 lu\u0103m un exemplu din benzi desenate:<\/p>\n<ol>\n<li><b>\u201eRacheta\u201d<\/b>. Nu se lini\u0219te\u0219te niciodat\u0103, se bag\u0103 peste tot, iar la interviu te va cople\u0219i cu un flux de g\u00e2nduri, care chiar nu au leg\u0103tur\u0103 cu \u00eentrebarea adresat\u0103. Dac\u0103 ar fi fost la universitate, aceasta ar fi fost o \u00eencercare bine cunoscut\u0103 de a demonstra toate cuno\u0219tin\u021bele tale, c\u00e2nd de fapt, despre subiectul de examen \u00ee\u021bi aminte\u0219ti doar c\u0103 asear\u0103 ai decis s\u0103 nu-l \u00eenve\u021bi \u2014 oricum nu o vei face.<\/li>\n<li><b>\u201eGroot\u201d<\/b>. Este destul de greu s\u0103 intri \u00een contact cu el, pentru c\u0103 el este Groot. La interviu trebuie s\u0103 te \u00eenv\u00e2r\u021bi mult, extr\u0103g\u00e2nd r\u0103spunsuri cu cuv\u00e2ntul, c\u00e2te unul. Este bine dac\u0103 este doar o ezitare \u2014 altfel, \u00een munca de zi cu zi \u00ee\u021bi va fi foarte greu.<\/li>\n<li><b>\u201eDrax\u201d<\/b>. A lucrat \u00eenainte \u00een transporturi, iar din programare a \u00eenv\u0103\u021bat doar JS pe Stackoverflow, a\u0219a c\u0103 nu \u00een\u021belege mereu despre ce se discut\u0103 la interviu. Cu toate acestea, este o persoan\u0103 bun\u0103, are cele mai bune inten\u021bii \u0219i vrea s\u0103 devin\u0103 un frontend-er grozav.<\/li>\n<li>\u0218i probabil, <b>\u201eStar-Lord\u201d<\/b>. \u00cen general, un candidat decent, cu care se poate ajunge la un acord \u0219i se poate construi un dialog.<\/li>\n<\/ol>\n<p>\nLa finalul cercet\u0103rilor noastre <b>7 candida\u021bi<\/b> au ajuns \u00een final\u0103, confirm\u00e2ndu-\u0219i abilit\u0103\u021bile tehnice printr-o sarcin\u0103 de testare grozav\u0103 \u0219i r\u0103spunsuri bune la interviu.<\/p>\n<h3>Coresponden\u021b\u0103 cultural\u0103<\/h3>\n<blockquote><p><b>Pentru companie<\/b>: Vei lucra cu el! Este candidatul preg\u0103tit s\u0103 lucreze extrem de mult pentru dezvoltarea sa? Va \u00eencadra el \u00een echip\u0103?<\/p>\n<p><b>Pentru junior<\/b>: Vei lucra cu ei! Este compania preg\u0103tit\u0103 s\u0103 investeasc\u0103 \u00een dezvoltarea juniorilor, sau pur \u0219i simplu va l\u0103sa toat\u0103 munca murdar\u0103 pe umerii t\u0103i pentru un salariu mic?\n<\/p><\/blockquote>\n<p>Fiecare junior, pe l\u00e2ng\u0103 echipa de produs, al c\u0103rei lider trebuie s\u0103 fie de acord s\u0103-l ia, ajunge la un mentor. Sarcina mentorului este s\u0103-l ghideze printr-un proces de onboardare de trei luni \u0219i s\u0103-i dezvolte abilit\u0103\u021bile tehnice. De aceea, la fiecare coresponden\u021b\u0103 cultural\u0103 veneam \u00een calitate de mentori \u0219i ne puneam \u00eentrebarea: \u201e\u00cemi asum responsabilitatea de a dezvolta candidatul \u00een 3 luni conform planului nostru?\u201d<\/p>\n<p>Aceast\u0103 etap\u0103 a decurs f\u0103r\u0103 probleme \u0219i, \u00een cele din urm\u0103, ne-a adus <b>4 oferte<\/b>, 3 dintre care au fost acceptate, iar b\u0103ie\u021bii au intrat \u00een echipe.<\/p>\n<h3>Via\u021ba dup\u0103 ofert\u0103<\/h3>\n<blockquote><p><b>Pentru companie<\/b>: Ai grij\u0103 de juniorii t\u0103i sau o vor face al\u021bii!<\/p>\n<p><b>Pentru junior<\/b>: AAAAAAA!!!\n<\/p><\/blockquote>\n<p>\nC\u00e2nd un nou angajat se al\u0103tur\u0103 echipei, acesta trebuie s\u0103 fie introdus \u00een procesele interne, s\u0103 i se explice cum func\u021bioneaz\u0103 totul \u00een companie \u0219i \u00een echip\u0103, precum \u0219i cum s\u0103 abordeze munca. \u00cen cazul unui junior, este important s\u0103 \u00een\u021belegem cum s\u0103 \u00eel dezvolt\u0103m. <\/p>\n<p>C\u00e2nd ne-am g\u00e2ndit la acest lucru, am alc\u0103tuit o list\u0103 cu 26 de abilit\u0103\u021bi pe care, dup\u0103 p\u0103rerea noastr\u0103, un junior ar trebui s\u0103 le aib\u0103 la finalul celor trei luni de onboardare. Acestea includ abilit\u0103\u021bi tehnice (\u00een func\u021bie de tehnologiile noastre), cuno\u0219tin\u021be despre procesele noastre, scrum, infrastructur\u0103 \u0219i arhitectura proiectului. Le-am organizat \u00eentr-un roadmap, distribuit pe o perioad\u0103 de 3 luni.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eembl\u00e2nze\u0219ti un junior?\" src=\"\/wp-content\/uploads\/2019\/08\/ba26eeefd9d19ab404e33bf2239d4392.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>De exemplu, acesta este roadmap-ul juniorului meu<\/i><\/p>\n<p>Fiecare junior beneficiaz\u0103 de un mentor care colaboreaz\u0103 cu el \u00een mod individual. \u00cen func\u021bie de mentor \u0219i de nivelul actual al candida\u021bilor, \u00eent\u00e2lnirile pot avea loc \u00eentre 1 \u0219i 5 ori pe s\u0103pt\u0103m\u00e2n\u0103, c\u00e2te 1 or\u0103. Mentorii sunt frontend-i\u0219ti proactivi care doresc s\u0103 fac\u0103 mai mult dec\u00e2t s\u0103 scrie cod. <\/p>\n<p>O parte din sarcinile mentorilor sunt preluate de cursurile despre tehnologiile noastre \u2014 Dart, Angular. Cursurile se desf\u0103\u0219oar\u0103 regulat pentru grupuri mici de 4-6 persoane, unde participan\u021bii lucreaz\u0103 f\u0103r\u0103 a fi \u00eentrerup\u021bi de la activitatea lor.<\/p>\n<p>Pe parcursul celor 3 luni, colect\u0103m periodic feedback de la juniori, mentori \u0219i lideri, ajust\u00e2nd procesul individual. Odat\u0103 sau de dou\u0103 ori \u00een aceast\u0103 perioad\u0103 se realizeaz\u0103 evalu\u0103ri ale abilit\u0103\u021bilor dezvoltate, iar o evaluare similar\u0103 se face la final \u2014 pe baza acestora se formuleaz\u0103 recomand\u0103ri pentru aspectele care necesit\u0103 \u00eembun\u0103t\u0103\u021biri.<\/p>\n<h3>Concluzie<\/h3>\n<blockquote><p><b>Pentru companie<\/b>: Merit\u0103 s\u0103 investim \u00een juniori? Da!<\/p>\n<p><b>Pentru junior<\/b>: C\u0103uta\u021bi companii care selecteaz\u0103 cu aten\u021bie candida\u021bii \u0219i \u0219tiu cum s\u0103 \u00eei dezvolte.\n<\/p><\/blockquote>\n<p>\u00cen cele 3 luni, am analizat 122 de chestionare, 54 de teste \u0219i am realizat 21 de interviuri tehnice. Acestea ne-au adus 3 juniori valoro\u0219i, care acum au parcurs jum\u0103tate din roadmap-urile lor pentru onboardare \u0219i accelerare. Ei rezolv\u0103 deja sarcini reale \u00een proiectul nostru, unde doar pe frontend exist\u0103 mai mult de 2.000.000 de linii de cod \u0219i peste 400 de repozitorii.<\/p>\n<p>Am constatat c\u0103 procesul de selec\u021bie pentru juniori poate fi \u0219i trebuie s\u0103 fie suficient de complex, dar \u00een final prin el trec doar acei tineri care sunt cu adev\u0103rat preg\u0103ti\u021bi s\u0103 munceasc\u0103 din greu \u0219i s\u0103 investeasc\u0103 \u00een dezvoltarea lor. <\/p>\n<p>\u00cen prezent, principala noastr\u0103 sarcin\u0103 este s\u0103 finaliz\u0103m planurile de dezvoltare pe trei luni pentru fiecare junior, \u00een cadrul unei colabor\u0103ri individuale cu un mentor \u0219i a cursurilor generale, s\u0103 str\u00e2ngem metrici, feedback de la lideri, mentori \u0219i de la juniorii \u00een\u0219i\u0219i. Acest prim experiment va putea fi considerat \u00eencheiat, putem trasa concluzii, \u00eembun\u0103t\u0103\u021bi procesul \u0219i reporni selec\u021bia pentru noi candida\u021bi.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/wrike\/blog\/462787\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u0442\u044b \u0434\u0436\u0443\u043d\u0438\u043e\u0440? \u041a\u0430\u043a \u043d\u0430\u043d\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0433\u043e \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430, \u0435\u0441\u043b\u0438 \u0442\u044b \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f? \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043d\u0430\u0448\u0443 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043d\u0430\u0439\u043c\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0440\u0435\u0431\u044f\u0442 \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434: \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043f\u0440\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u043c\u0435\u043d\u0442\u043e\u0440\u0441\u043a\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0438 \u043e\u043d\u0431\u043e\u0440\u0434\u0438\u043d\u0433\u0430 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27718,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36985","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u0442\u044b \u0434\u0436\u0443\u043d\u0438\u043e\u0440? \u041a\u0430\u043a \u043d\u0430\u043d\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0433\u043e \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430, \u0435\u0441\u043b\u0438 \u0442\u044b \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/kak-priruchit-dzhuniora\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u0438\u0440\u0443\u0447\u0438\u0442\u044c \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u0442\u044b \u0434\u0436\u0443\u043d\u0438\u043e\u0440? \u041a\u0430\u043a \u043d\u0430\u043d\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0433\u043e \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430, \u0435\u0441\u043b\u0438 \u0442\u044b \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/kak-priruchit-dzhuniora\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:09+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cum s\u0103 \u00eembl\u00e2nze\u0219ti un junior? | ProHoster","description":"Cum s\u0103 ajungi \u00eentr-o companie mare dac\u0103 e\u0219ti junior? Cum s\u0103 angajezi un junior de valoare dac\u0103 e\u0219ti o companie mare?","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/kak-priruchit-dzhuniora","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u0438\u0440\u0443\u0447\u0438\u0442\u044c \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430? | ProHoster","og:description":"\u041a\u0430\u043a \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u0442\u044b \u0434\u0436\u0443\u043d\u0438\u043e\u0440? \u041a\u0430\u043a \u043d\u0430\u043d\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e\u0433\u043e \u0434\u0436\u0443\u043d\u0438\u043e\u0440\u0430, \u0435\u0441\u043b\u0438 \u0442\u044b \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f?","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/kak-priruchit-dzhuniora","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:09+00:00","article:modified_time":"2019-10-31T19:15:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36985","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:38:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:27","updated":"2026-01-22 05:38:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=36985"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36985\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/27718"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=36985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=36985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=36985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}