Stáž v IT: pohľad manažéra

Stáž v IT: pohľad manažéra

Nábor pre letná stáž v Yandex pokračuje. Ide v piatich smeroch: backend, ML, mobilný vývoj, frontend a analytika. V tomto blogu, ako aj v iných blogoch o Habré a mimo nej, môžete nájsť veľa informácií o tom, ako stáž funguje. Veľa z tohto procesu však zostáva záhadou pre tých, ktorí v spoločnosti nepracujú. A ak sa pozriete z pohľadu vývojových manažérov, vyvstáva ešte viac otázok. Ako správne viesť stáž, ako maximalizovať vzájomnú užitočnosť so stážistom, ako ho za tri mesiace spoznať a naučiť ho všetko, čo potrebuje k ďalšej práci?

Tento článok pripravilo päť z nás. Predstavme sa: Ignat Kolesnichenko zo služby distribuovanej výpočtovej techniky, Misha Levin zo služby Market machine intelligence, Denis Malykh zo služby vývoja aplikácií, Seryozha Berezhnoy z oddelenia vývoja vyhľadávacieho rozhrania a Dima Cherkasov z vývojovej skupiny pre boj proti podvodom. Každý z nás predstavuje svoju vlastnú oblasť stáže. Všetci sme manažéri, potrebujeme stážistov a máme s nimi nejaké skúsenosti. Povedzme si niečo z tejto skúsenosti.

Pohovor pred stážou

Na kandidátov čaká niekoľko technických pohovorov. Úspech na pohovore závisí menej od mäkkých zručností (schopnosť efektívne komunikovať) a viac od tvrdých zručností (zručnosti v matematike a programovaní). Manažéri však hodnotia oboje.

Ignat:

Aj keď je človek veľmi cool, no absolútne nekomunikatívny, nedokáže uplatniť všetky svoje schopnosti. Samozrejme, že na to dbáme, ale to nie je dôvod, prečo niekoho neprijať na stáž. Za tri mesiace sa môže všetko zmeniť a okrem toho sa váš prvý dojem môže ukázať ako nesprávny. A ak je všetko správne, budete musieť osobe vysvetliť, hľadať ďalšie príkazy. Pre stážistov nie sú komunikačné schopnosti rozhodne kľúčovým faktorom. Profesionálne zručnosti sú však oveľa dôležitejšie.

Denis:

Mám rád ľudí, ktorí rozprávajú príbehy – v dobrom slova zmysle. Zaujímavý je človek, ktorý vie povedať, ako sa on a jeho tím hrdinsky vysporiadali s nejakým fakapom. Keď sa objaví takýto príbeh, začnem klásť doplňujúce otázky. To sa však zriedka stáva, ak sa jednoducho spýtate „povedzte o niečom zaujímavom vo vašich projektoch“.

Jeden kandidát raz povedal úžasnú frázu, ktorú som si dokonca zapísal: „Úspešne som sa vyhol riešeniu únavných problémov.“

Stáž v IT: pohľad manažéra

Keďže času na komunikáciu je málo, anketár sa každú minútu stretnutia snaží získať užitočné informácie o kandidátovi. Je skvelé, ak stážista vopred zistil, aké podrobnosti o svojej skúsenosti (nie zo svojho životopisu) môže zdieľať. Toto by mal byť krátky príbeh striktne k veci.

Denis:

Venujem pozornosť, ak niekto povie, že vyskúšal veľa jazykov a prístupov. Ľudia so širším rozhľadom prichádzajú s elegantnejšími riešeniami v bojovom režime. Ale to je nejednoznačné plus. Môžete to pochopiť, ale v skutočnosti sa nič nenaučíte.

Čas na príbehy, ktoré Denis opisuje, zvyčajne zostáva až pri záverečnom rozhovore. Dovtedy je potrebné preukázať základné a praktické znalosti, ktoré budú tvoriť základ budúcej práce. A, samozrejme, budete musieť napísať kód na dosku alebo na kus papiera.

Misha:

Testujeme znalosti z teórie pravdepodobnosti a matematickej štatistiky. Pozeráme sa na to, či má daná osoba skúsenosti s prácou s metrikami, s algoritmami strojového učenia, s nastavovaním ich parametrov, s preškoľovaním atď. Očakávame, že osoba dokáže napísať kód dostatočne na to, aby bola analytikom.

Denis:

Tí, ktorí prídu na pohovor, väčšinou vedia jazyky: v Jekaterinburgu máme dobrú školu základných jazykov, dobré inštitúty. Ale aby som bol úprimný, kandidát na stáž s dobrými hard skills je vzácny prípad, aspoň v našom epsilonovom susedstve. Napríklad Swift. Ide o veľmi zložitú prácu so strunami a málokto s nimi dokáže pracovať z hlavy. Oko okamžite upúta vašu pozornosť. Pri pohovoroch často zadávam úlohu, ktorá súvisí so spracovaním reťazcov. A za celý ten čas bol len jeden človek, ktorý dokázal napísať takýto Swift kód hneď, na kúsok papiera. Potom som chodil a hovoril som všetkým, že niekto konečne dokázal vyriešiť tento problém vo Swifte na papieri.

Testovanie algoritmov počas rozhovoru

Toto je samostatná téma, pretože kandidáti majú stále otázku – prečo vždy posudzujeme znalosti algoritmov a dátových štruktúr? Dokonca aj budúci mobilní vývojári a front-end vývojári podstupujú takéto testovanie.

Misha:

Počas rozhovoru určite zadáme nejaký algoritmický problém. Kandidát musí prísť na to, ako to implementovať v Pythone, najlepšie bez chýb. Musíte pochopiť, ako skontrolovať svoj program a opraviť ho sami.

Stáž v IT: pohľad manažéra

Skúsenosti s algoritmami sú užitočné z troch dôvodov. Po prvé, bude to samozrejme potrebné v algoritmických úlohách - ktoré sa nestávajú často, ale stávajú sa. Po druhé, vývojár bude môcť efektívnejšie riešiť problémy súvisiace s algoritmami, aj keď nevyžadujú ponorenie sa do samotných algoritmov (a je ich už dosť). Po tretie, ak ste sa na univerzite neučili algoritmy, ale stále viete, ako s nimi pracovať, charakterizuje vás to ako zvedavého človeka a zvýši to vašu autoritu v očiach opýtaného.

Denis:

Veľkou súčasťou mobilného vývoja je miešanie JSON. Ale raz za šesť mesiacov existujú prípady, keď sú potrebné algoritmy. Momentálne kreslím krásne mapy pre Yandex.Weather. A za týždeň som musel implementovať vyhladzovací algoritmus, Sutherland-Hodgmanov algoritmus a Martinezov algoritmus. Ak by človek nevedel, čo je to hashmap alebo prioritný rad, bol by s tým uviaznutý na dlhú dobu a nebolo by jasné, či by to zvládol alebo nie bez vonkajšej pomoci.

Základom vývoja sú algoritmy. Práve to pomáha vývojárovi stať sa vývojárom. Nezáleží na tom, čo robíte. Sú tiež potrebné v jednoduchých projektoch, kde hlavná práca spočíva v „preklade JSON“. Aj keď nepíšete samotné algoritmy, ale implicitne používate nejaké dátové štruktúry, je lepšie im porozumieť. V opačnom prípade skončíte s aplikáciami, ktoré sú pomalé alebo nesprávne.

Existujú programátori, ktorí vstúpili do vývoja akademicky: vstúpili na univerzitu, študovali päť rokov a získali špecializáciu. Poznajú algoritmy, pretože ich to naučili. A potom samotná znalosť algoritmov nijako necharakterizuje horizonty človeka, tento horizont treba testovať iným spôsobom.

A sú tu samoukovia, ku ktorým sa rátam. Áno, formálne mám IT vzdelanie, diplom v softvérovom inžinierstve. Ale samoukovia sa naučili programovať „napriek tomu“. Nemali univerzitný program. Zvyčajne nie sú oboznámení s algoritmami - pretože nikdy nečelili potrebe ich študovať. A keď takýto človek rozumie algoritmom, znamená to, že strávil čas a pochopil ich. Po ukončení univerzity som si uvedomil, že mám slepé miesta, pokiaľ ide o základné algoritmy - faktom je, že moja špecializácia bola aplikovaná. Išiel som a študoval online kurzy z Princetonskej univerzity, dobre známeho Roberta Sedgwicka. Prišiel som na to a urobil som si všetky domáce úlohy. A keď človek na pohovore rozpráva podobný príbeh, okamžite ma to zaujme, mám chuť s ním spolupracovať alebo aspoň pokračovať v rozhovore.

Stáž v IT: pohľad manažéra

Ignat:

Keď robíte pohovor so stážistom, v niektorých smeroch očakávate ešte viac ako od skúseného vývojára. Hovoríme o schopnosti riešiť algoritmické problémy, rýchlo napísať aspoň nejaký správny kód. Kandidát na prax je stále na univerzite. Len pred rokom mu bolo podrobne povedané všetko o algoritmoch. Očakáva sa, že ich dokáže rozmnožovať. Ak je človek adekvátny a pozorne počúva prednášky, jednoducho bude vedieť všetko, dostane to z kešky.

Aké úlohy rieši stážista?

Program stáže môže byť zvyčajne načrtnutý a prediskutovaný počas záverečných pohovorov. Len na samom začiatku práce môžu byť stážistovi pridelené školiace úlohy, ktorých výsledky sa nepoužijú vo výrobe. Okrem toho je pravdepodobnosť prijatia takýchto úloh malá. Bojové projekty sa najčastejšie poskytujú z nevybavených projektov, to znamená tých, ktoré sa považujú za hodné pozornosti, ale nie sú prioritné a „oddeliteľné“ - takže ostatné zložky nezávisia od ich implementácie. Manažéri sa ich snažia distribuovať tak, aby stážista spoznal rôzne časti služby a pracoval v rovnakom prostredí s ostatnými členmi tímu.

Ignat:

Sú to mimoriadne užitočné úlohy. Možno nezvýšia využitie klastrov o 10 %, ani firme ušetria milión dolárov, ale urobia radosť stovkám ľudí. V súčasnosti máme napríklad stážistu, ktorý spolupracuje s naším klientom na prevádzke operácií na našich klastroch. Pred spustením musí operácia načítať nejaké údaje do klastra. Zvyčajne to trvá 20 až 40 sekúnd a predtým, ako sa to stalo potichu: spustili ste to v konzole a sedeli ste tam a pozerali sa na čiernu obrazovku. Stážista prišiel a vytvoril funkciu za dva týždne: teraz môžete vidieť, ako sa súbory nahrávajú a čo sa deje. Úloha na jednej strane nie je náročná na opísanie, no na druhej strane je do čoho rýpať, do akých knižníc sa pozerať. Najlepšie na tom je, že ste to urobili, prešiel týždeň, ukázalo sa, že je to na klastroch, ľudia to už používajú. Keď napíšete príspevok na internú sieť, ďakujú.

Stáž v IT: pohľad manažéra

Misha:

Školenci pripravujú modely, zbierajú pre ne údaje, vymýšľajú metriky a vykonávajú experimenty. Postupne mu jednoducho začneme dávať viac slobody a zodpovednosti – kontrolujeme, či to zvládne. Ak áno, posunie sa na ďalšiu úroveň. Nepredpokladáme, že keď príde stážista, vie, ako na to všetko. Manažér mu pomôže prísť na to, dá mu odkaz na interný zdroj alebo online kurz.

Ak sa stážista prejaví ako najlepšie, môže dostať niečo prioritné, dôležité pre oddelenie alebo iné služby.

Dima:

Náš stážista teraz robí tvrdé úpravy boja proti podvodom. Toto je systém, ktorý bojuje proti širokému spektru zneužívania a podvodov v službách Yandex. Najprv sme uvažovali o tom, že by sme dali veci, ktoré neboli príliš zložité a nie veľmi dôležité pre výrobu. Snažíme sa vopred premyslieť úlohy stážistu, ale potom sme videli, že ten človek „horel“ a problémy riešil rýchlo a dobre. V dôsledku toho sme ho začali poverovať spustením boja proti podvodom pri nových službách.

Navyše je tu malá šanca na prijatie úlohy, ku ktorej kolegovia predtým nepristúpili kvôli jej objemu.

Dima:

Existuje jeden starý systém a je tu nový, ktorý ešte nie je dokončený. Je potrebné prejsť z jedného do druhého. V budúcnosti ide o dôležitý projekt, aj keď s vysokou neistotou: musíte veľa komunikovať, čítať nezrozumiteľný starý kód. Na záverečnom pohovore sme stážistovi úprimne povedali, že úloha je náročná. Odpovedal, že je pripravený, prišiel do nášho tímu a všetko mu vyšlo. Ukázalo sa, že má kvality nielen developera, ale aj manažéra. Bol pripravený prejsť sa, zistiť, pingnúť.

Mentoring stážistu

Stážista potrebuje mentora, aby sa ponoril do procesov. Ide o človeka, ktorý si uvedomuje nielen svoje úlohy, ale aj úlohy stážistu. S mentorom je nadviazaná pravidelná komunikácia, vždy sa naňho môžete obrátiť so žiadosťou o radu. Mentorom môže byť buď vedúci skupiny (ak ide o malú skupinu), alebo niektorý z kolegov, riadnych členov tímu.

Ignat:

Snažím sa prísť aspoň každý druhý deň a opýtať sa, ako sa má stážista. Ak vidím, že som uviaznutý, snažím sa mu pomôcť, spýtam sa ho, v čom je problém, a vyriešim to s ním. Je jasné, že mi to uberá energiu a práca stážistu nie je tak integrálne efektívna - tiež strácam čas. To mu však umožňuje nezapadnúť do ničoho a dosiahnuť výsledky. A stále je to rýchlejšie, ako keby som to robil sám. Ja sám potrebujem na úlohu asi 5 hodín. Stážista to urobí za 5 dní. A áno, počas týchto 2 dní strávim 5 hodiny rozhovorom so stážistom a pomocou. Ale ušetrím aspoň 3 hodiny a stážistu poteší, že dostal nejakú radu a pomoc. Vo všeobecnosti stačí úzko komunikovať, sledovať, čo ten človek robí, a nestratiť kontakt.

Stáž v IT: pohľad manažéra

Seryozha:

Stážista je neustále v kontakte so svojím mentorom a komunikuje s ním niekoľkokrát denne. Mentor skontroluje kód, vykoná párové programovanie so stážistom a pomôže, keď sa objavia nejaké problémové oblasti. Práve týmto spôsobom, spojením pomoci mentora a skutočných bojových úloh, školíme front-endových vývojárov.

Dima:

Aby sme zabránili opusteniu stážistu, pred prijatím do zamestnania diskutujeme o tom, kto ho bude mentorom. Toto je tiež veľký upgrade pre samotného mentora: príprava na úlohu vedúceho tímu, testovanie schopnosti mať na pamäti svoju vlastnú úlohu aj úlohu stážistu. Sú tam pravidelné stretnutia, na ktoré občas chodím, aby som bol informovaný. Ale práve mentor komunikuje so stážistom pomerne pravidelne. Spočiatku trávi veľa času, ale oplatí sa.

Mať mentora však neznamená, že všetky problémy, ktoré vzniknú, sa riešia cez neho.

Misha:

Je u nás zvykom, že ľudia, ktorí čelia problémom, požiadajú o radu susedov a kolegov a rýchlo nájdu pomoc. Čím rýchlejšie človek rastie, tým častejšie potrebuje chodiť za kolegami, aby sa niečo naučil. Dokonca je užitočné jednoducho sa dozvedieť o úlohách iných ľudí, aby ste mohli prísť s novými. Keď sa stážista dokáže dohodnúť, pochopiť, čo je pre druhú stranu dôležité, a dospieť k výsledkom v tíme, porastie oveľa rýchlejšie ako niekto, pre koho toto všetko musí robiť manažér.

Seryozha:

Existuje dokumentácia, ale väčšina informácií sa stráca vo vzduchu. Ak to absorbujete na začiatku svojej kariéry, je to ďalšia výhoda a môžeme človeka zamerať na to, čo sa potrebuje naučiť.

Ideálny stážista je ten, kto trénuje niekoľko mesiacov, stane sa junior developerom, potom len vývojárom, potom teamleaderom atď.. To si vyžaduje archetyp študenta, ktorý sa nehanbí opýtať sa, ak mu niečo nie je jasné, ale je schopný aj samostatnej práce. Keby mu povedali, že si o tom môže niekde prečítať, išiel by si to prečítať a skutočne sa vrátil s novými poznatkami. Môže robiť chyby, ale nemal by sa mýliť viackrát, maximálne dvakrát, na tom istom mieste. Ideálny stážista by sa mal rozvíjať, absorbovať všetko ako špongia, učiť sa a rásť. Ten, kto sedí a snaží sa na všetko prísť sám, trávi dlhý čas hrabaním sa a nepýta sa na nič, si pravdepodobne nezvykne.

Koniec stáže

Pred nástupom do práce podpisujeme s každým stážistom zmluvu na dobu určitú. Stáž je samozrejme platená, formalizovaná v súlade so Zákonníkom práce Ruskej federácie a stážista má rovnaké výhody ako ktorýkoľvek iný zamestnanec Yandexu. Po troch mesiacoch program končí – potom mnohých stážistov presunieme medzi zamestnancov (na zmluvu na dobu neurčitú).

Stáž v IT: pohľad manažéra

Na jednej strane je pre manažéra dôležité, aby developer plnil svoje interné minimum. Toto je miesto, kde je stážista vedený, počnúc rozhovorom. Toto je však len začiatok príbehu. Pre nás je stážista vždy potenciálnym kandidátom na personál. Minimálnym programom pre manažéra je hneď na začiatku identifikovať človeka, ktorého sa po troch mesiacoch nebude hanbiť odporučiť na ďalšie oddelenia. Maximálny program je udržať ho v rovnakom tíme a zamestnať ho ako zamestnanca. Zároveň berieme do úvahy, že študent druhého alebo tretieho ročníka – aj keď sa stal praktikantom – bude musieť s nástupom akademického roka pokračovať v štúdiu na vysokej škole.

Seryozha:

V prvom rade sú pre nás stážisti potenciálom ľudských zdrojov. Snažíme sa pestovať ľudí v rámci Yandexu tak, aby sa ideálne hodili na naše úlohy. Dáme im všetko, od kultúry komunikácie a interakcie v tímoch až po encyklopedické znalosti o všetkých našich systémoch.

Ignat:

Keď prijmeme stážistu, okamžite ho vyskúšame, aby sa pridal k nášmu tímu. A spravidla jedinou prekážkou je nedostatok voľného miesta. Snažíme sa zamestnať dostatok mladých chalanov ako stážistov. Ak má človek päťročné skúsenosti s vývojom, príde do Yandexu a je stážistom na úrovni, tak to, žiaľ, pre nás znamená, že aj keď je to skvelý chlap, keďže prácu v Yandexe dostane s piatimi rokmi skúsenosti, nebude môcť vyrásť na senior vývojára . Zvyčajne ide o rýchlosť: pomalý rast v minulosti tu bude znamenať pomalý rast. Áno, niekedy až po troch mesiacoch príde pochopenie, že človek na to nemá. Ale to je dosť zriedkavé. Vo viac ako polovici prípadov sme pripravení zamestnať ľudí. V mojej pamäti sa nikdy nevyskytla situácia, že by človek úspešne absolvoval prax, no nedokázal prejsť pohovorom na plný úväzok.

Misha:

Všetkým úspešným stážistom ponúkame zotrvanie v spoločnosti. Po stáži väčšinou preberáme viac ako polovicu na plný úväzok. Letné stáže sú náročnejšie, pretože k nám často chodia študenti tretieho ročníka a je pre nich ťažké skĺbiť prácu a štúdium.

Dima:

Povedzme, že stážista odvádza skvelú prácu a má veľkú perspektívu vyrásť v dobrého vývojára – aj keď práve nemá dostatok skúseností. A predpokladajme, že pre zmluvu na dobu neurčitú nie je voľné miesto. Potom je všetko jednoduché: musím ísť za svojím manažérom a povedať mu - toto je veľmi cool človek, musíme si ho všetkými prostriedkami udržať, ponúknime mu niečo, nájdime miesto, kam ho umiestniť.

Príbehy o stážistoch

Denis:

Dievča, ktoré u nás získalo stáž v roku 2017, bolo z Permu. To je 400 kilometrov od Jekaterinburgu na západ. A každý týždeň k nám prichádzala z Permu vlakom do Školy mobilného rozvoja. Cez deň prišla, večer sa učila a neskoro večer sa vracala. Oceňujúc takú horlivosť, pozvali sme ju do práce a vyplatilo sa.

Ignat:

Pred niekoľkými rokmi sme sa zúčastnili výmenného programu stážistov. Bolo zaujímavé pracovať so zahraničnými chalanmi. Ale stážisti odtiaľ nie sú silnejší ako napríklad zo ShaD alebo z Fakulty informatiky. Zdalo by sa, že EPFL patrí medzi 20 najlepších univerzít v Európe. V tej chvíli som ako ešte nie veľmi skúsený anketár mal toto očakávanie: neuveriteľné, robíme rozhovory s ľuďmi z EPFL, budú super cool. Ale ľudia, ktorí tu získali základné vzdelanie o kódovaní – aj na kľúčových regionálnych univerzitách – sú celkom na úrovni.

Alebo iný príbeh. Teraz mám vo svojom štábe chlapa, je veľmi mladý, má asi 20 rokov. Pracuje v Petrohrade, prišiel na stáž. Je veľmi cool. Vy, ako obvykle, dáte človeku problémy, on ich vyrieši a o mesiac príde a povie: Vyriešil som ich, pozerám a zdá sa, že vaša architektúra je zle postavená. Zopakujme si to. Kód bude jednoduchší a prehľadnejší. Samozrejme, odhováral som ho: množstvo práce je veľké, pre používateľov neexistuje žiadny zisk, ale myšlienka znie úplne rozumne. Osoba prišla na zložitý viacvláknový proces a navrhla vylepšenia – možno predčasné, refaktorovanie kvôli refaktorovaniu. Ale akonáhle budete chcieť tento kód skomplikovať, stále môžete vykonať tento refaktoring. V skutočnosti prešlo niekoľko mesiacov a my sme sa ujali tejto úlohy. S radosťou som ho zamestnal. Všetci nie sme géniovia. Môžete prísť, niečo vymyslieť a poukázať na naše problémy. Toto sa cení.

Misha:

Máme takých ideálnych stážistov. Napriek nedostatku skúseností túto úlohu vnímajú nielen na technickej, ale aj globálnej úrovni. Ponúkajú zásadné vylepšenia. Rozumejú tomu, ako preložiť problémy z reálneho sveta do technického sveta bez toho, aby stratili svoj význam. Zaujíma ich, aký je konečný cieľ, či sa im teraz oplatí vŕtať v detailoch alebo či dokážu úplne zmeniť prístup k úlohe či dokonca formuláciu problému. To znamená, že majú potenciál byť o niekoľko úrovní vyššie. Aby mohli ísť týmto smerom, potrebujú len vylepšiť niektoré zručnosti a interné nástroje. Plus spustiť niekoľko úspešných projektov.

Stáž v IT: pohľad manažéra

Zdroj: hab.com

Pridať komentár