IT praktika: juhi vaatepunkt

IT praktika: juhi vaatepunkt

Värbamine suvekursusele Yandexis jätkub. See käib viie suuna kaudu: tagasiside, ML, mobiilne arendus, esikülg ja analüütika. Selles blogis, teistes blogides Habré ja kaugemal on palju teavet selle kohta, kuidas praktika toimub. Kuid palju sellest protsessist jääb saladuseks neile, kes ettevõttes ei tööta. Ja kui vaadata seda arendajate juhtide perspektiivist, siis tekib veel rohkem küsimusi. Kuidas õigesti praktikat läbi viia, kuidas maksimeerida vastastikust kasu praktikandi ja ettevõtte vahel, kuidas kolme kuu jooksul inimesega tuttavaks saada ja õpetada kõik, mis on vajalik töö jätkamiseks?

Me valmistasime selle artikli ette viiekesi. Tutvustame end: Ihnat Kolesnitsenko jaotuse tehnoloogiate teenistusest, Misha Levin turu masinõppe teenusest, Denis Malykh rakenduste arendamise teenusest, Sergei Berezhnoy otsinguliideste arendusosakonnast ja Dima Cherkasov petmise vastase arenduse rühmast. Igaühel meist on oma praktika suund. Me kõik oleme juhid, vajame praktikante ja meil on nende tööga mõningane kogemus. Räägime sellest kogemusest.

Praktika eelne vestlus

Kandidaate ootavad mitmed tehnilised vestlused. Vestluse edukus sõltub vähem soft skills’ist (efektiivne suhtlemisvõime) ja rohkem hard skills’ist (oskused matemaatikas ja programmeerimises). Siiski hindavad juhid mõlemat.

Ihnat:

Isegi kui inimene on väga lahe, kuid täiesti mittekommunikatiivne — ei suuda ta kõiki oskusi rakendada. Me pöörame sellele tähelepanu, kuid see ei ole põhjus kedagi praktikale mitte võtta. Kolme kuu jooksul võib kõik muutuda, ja pealegi võib sinu esimene mulje osutuda vale. Kui kõik on tõsi — tuleb inimesele selgitada, otsida talle teisi meeskondi. Praktikantide puhul ei ole kommunikatiivsus kindlasti peamine tegur. Lõppkokkuvõttes on professionaalsed oskused palju olulisemad.

Denis:

Mulle meeldivad inimesed, kes räägivad lugusid – heas mõttes. Inimene, kes suudab rääkida, kuidas nad meeskonnaga kangelaslikult mõne probleemiga hakkama said, on huvitav. Ma hakkan esitama täiendavaid küsimusi, kui selline lugu esile kerkib. Kuid see juhtub harva, kui lihtsalt küsida, "räägi midagi huvitavat oma projektidest."

Üks kandidaat ütles kord imelise lause, mille ma isegi üles kirjutasin: "Olen edukalt vältinud igavaid ülesandeid."

IT praktika: juhi vaatepunkt

Kuna suhtlemiseks on vähe aega, püüdleb intervjueerija iga kohtumise minuti jooksul, et saada kasulikku teavet kandidaadi kohta. On suurepärane, kui praktikant on eelnevalt mõelnud, milliseid oma kogemuse detaile (mitte CV-st) ta jagada võiks. See peaks olema lühike jutustus, mis on rangelt asjakohane.

Denis:

Ma jälgin, kui inimene räägib, et on proovinud palju keeli ja lähenemisviise. Inimestel, kellel on laiem silmaring, õnnestub lahingurežiimil leida elegantsemaid lahendusi. Kuid see on kahtlane pluss. Võib kergelt pinnapealselt tutvuda, kuid tõeliselt mitte millestki ei õpita.

Aeg lugude jaoks, mida Denis kirjeldab, jääb tavaliselt alles ainult lõppvestlusele. Kuni selle ajani tuleb demonstreerida neid põhiteadmisi ja praktilisi oskusi, mis saavad olema tulevase töö aluseks. Ja loomulikult on vajalik kood kirjutada tahvlile või paberile.

Misha:

Me kontrollime tõenäosusteooria ja matemaatilise statistika teadmisi. Vaata, kas inimesel on kogemusi meetrikatega, masinõppe algoritmidega, nende häälestamisega, ülekoolitamisega jne. Ootame, et inimene suudab koodi kirjutada piisavalt hästi, et saada analüütikuks.

Denis:

Need intervjuule tulejad teavad enamasti keeli: meil Jekaterinburgis on hea põhiliste keelte kool ja head instituudid. Kuid ausalt öeldes on kandidaat, kellel on head hard skills, haruldane juhtum, vähemalt meie epsiiloni ümbruses. Näiteks Swiftis on stringide töötlemine väga keeruline ja inimesi, kes saavad sellest välja mõelda, on vähe. Need krabavad kohe silma. Ma annan sageli intervjuudel ülesande, mis on seotud stringide töötlemisega. Ja kogu selle aja jooksul on olnud vaid üks inimene, kes suudaks kirjuta sellist Swift-koodi kohapeal paberil. Pärast seda rääkisin ma kõigile, et keegi suudab lõpuks selle ülesande lahendada Swiftis paberil.

Algoritmide kontrollimine intervjuul

See on eraldi teema, kuna kandidaatidel tekib endiselt küsimus — miks me alati hindame algoritmide ja andmestruktuuride tundmist? I isegi tulevaste mobiilsea arendajate ja frontendite puhul toimub selline kontroll.

Misha:

Intervjuul anname kindlasti mõne algoritmi ülesande. Kandidaadil tuleb mõelda, kuidas see Pythonis rakendada, soovitatavalt ilma vigadeta. Peame aru saama, kuidas oma programmi kontrollida ja ise seda parandada.

IT praktika: juhi vaatepunkt

Kogemus algoritmides on kasulik kolmel põhjusel. Esiteks, see on ilmselgelt vajalik algoritmilistes ülesannetes — neid tuleb harva ette, kuid siiski on. Teiseks saab arendaja tõhusamalt lahendada algoritmidega seotud ülesandeid, isegi kui need ei nõua, et nad ise algoritmidesse süveneks (ja selliseid on juba üsna palju). Kolmandaks, kui teile ei õpetatud ülikoolis algoritme ja te ikkagi oskate nendega töötada, siis see iseloomustab teid kui uudishimulikku inimest ja tõstab teie autoriteeti vestleja silmis.

Denis:

Suurem osa mobiili arendusest on 'JSONi ülekandmine'. Kuid iga kuue kuu tagant on juhtumeid, kus algoritmid on vajalikud. Praegu joonistan ilusaid kaarte Yandexi Ilmateenistusele. Ja mul tuli nädala jooksul rakendada sileda algoritm, Sutherland-Hodgmani algoritm ja Martinez'i algoritm. Kui inimene ei teadnud, mis on hash map või prioriteedi järjekord, oleks ta selle kallal kaua vaeva näinud ja poleks teada, kas suutis ilma abita hakkama saada.

Alghoritmid on arenduse alus. Need on need, mis aitavad arendajal olla arendaja. Pole tähtis, millega sa tegeled. Need on vajalikud ka lihtsate projektide puhul, kus põhitegevus seisneb "JSON-i ümber tõlkimises". Isegi kui sa ise alghoritme ei kirjuta, vaid kasutad mingisuguseid andmestruktuure kaudselt, on parem need mõista. Vastasel juhul saad sa rakendusi, mis töötavad aeglaselt või valesti.

On programmeerijaid, kes on arendusse jõudnud akadeemiliselt: nad on astunud ülikooli, õppinud viis aastat ja saanud eriala. Nad tunnevad alghoritme, kuna neid õpetati. Ja siis ei iseloomusta alghoritmide teadmine isiku silmaringi, seda tuleks kontrollida mingil muul moel.

Aga on ka iseõppijaid, kuhu ma liigitaksin ka end. Jah, ametlikult on mul IT-haridus, insener-programmeerija diplom. Kuid iseõppijad on programmeerimist õppinud "vastu". Neil ei olnud ülikooli programmi. Tavaliselt ei ole nad alghoritmidega tuttavad — sest nad pole kunagi pidanud neid õppima. Ja kui selline inimene mõistab alghoritme, tähendab see, et ta on aega investeerinud ja nendega tutvunud. Ülikoolist lõpetades sain aru, et mul on valged laigud fundamentaalsete alghoritmide osas — asi on selles, et eriala oli rakendussuunitlusega. Läksin ja õppisin Princetoni ülikooli online-kursused, tuntud Robert Sedgewicki kursused. Omandasin teadmised, tegin kõik kodutööd. Ja kui inimene intervjuul räägib sarnastest kogemustest, siis ma kohe huviga kuulan, mul tekib soov temaga töötada või vähemalt vestlust jätkata.

IT praktika: juhi vaatepunkt

Ihnat:

Kui intervjueerid praktikanti, siis teatud mõttes lood isegi rohkem, kui kogenud arendajalt. Räägime võimest lahendada alghoritmi ülesandeid, kiiresti kirjutada mingit õigesti töötavat koodi. Praktikandikandidaat — ta ju veel õpib ülikoolis. Lihtsalt aasta tagasi räägiti talle kõigest alghoritmidest detailselt. Oodatakse, et ta suudab neid taastada. Kui inimene on normaalne ja kuulas loenguid tähelepanelikult, teab ta lihtsalt kõike, toob mälu varudest välja.

Milliseid ülesandeid praktikant lahendab

Harilikult võib praktikaprogrammi kavandada ja arutada viimastel vestlustel. Praktikant saab alguses ainult koolitustegevusi, mille tulemusi ei kasutata tootmises. Veelgi enam, tõenäosus, et selliseid ülesandeid antakse, on väike. Enamasti antakse lahinguprojekte backlogs, see tähendab, et need on tunnustatud tähelepanuväärseks, kuid mitte prioriteetseteks ja „eraldatavaks“ — et nende rakendamine ei sõltuks teistest komponentidest. Juhtkond püüab neid jaotada nii, et praktikant tutvuks erinevate teenuse osadega ja töötaks samas keskkonnas koos teiste meeskonna liikmetega.

Ihnat:

Need on äärmiselt kasulikud ülesanded. Kuigi need ei suurenda klastrite kasutust 10%-ni, ei säästa miljon dollarit ettevõttele, teevad need sada inimest õnnelikuks. Näiteks meil on praegu praktikant, kes tegeleb meie kliendiga meie klasside operations käivitamiseks. Enne käivitamist peab operatsioon laadima mõned andmed klastrisse. Tavaliselt võtab see 20–40 sekundit ja varem toimus see vaikselt: käivitasid selle konsoolis ja istusid, vaatasid mustasse ekraani. Praktikant tuli ja kahe nädalaga tegi funktsiooni: nüüd on näha, kuidas faile üles laaditakse ja mis juhtub. Ülesanne, esmapilgul lihtne, kuid teiselt poolt on seal, mida uurida, milliseid raamatukogusid vaadata. Kõige toredam on see, et sa teed seda, läheb nädal, ja see on klassides, inimesed juba kasutavad seda. Kirjutad postituse sisevõrku — sulle öeldakse aitäh.

IT praktika: juhi vaatepunkt

Misha:

Praktikandid valmistavad mudeleid, koguvad neile andmeid, mõtlevad välja mõõdikud ja viivad läbi eksperimente. Aja jooksul hakkame neile lihtsalt rohkem vabadust ja vastutust andma – kontrollime, kas nad saavad hakkama. Kui jah, siis nad liiguvad järgmisele tasemele. Me ei eelda, et praktikant teab kõike, kui nad tulevad. Juht aitab neil aru saada, annab lingi sisemisele ressursile või online-kursusele.

Kui praktikant näitab end silmapaistvana, võivad nad saada midagi prioriteetset, mis on osakonnale või teistele teenustele oluline.

Dima:

Meie praktikant tegeleb praegu põhjalike täiustustega anti-pettuse süsteemis. See süsteem võitleb erinevate kuritarvituste ja petuskeemidega Yandexi teenustes. Algul arvasime, et anname talle mitte eriti keerulisi ja mitte väga olulisi ülesandeid produtseerimise jaoks. Püüdsime eelnevalt hoolikalt läbi mõelda praktikandi ülesandeid, kuid nägime, et inimene on väga kiire ja osav probleemide lahendamisel. Lõpuks hakkasime talle ülesandeks andma anti-pettuse käivitamist uute teenuste jaoks.

Lisaks on olemas väike võimalus saada ülesanne, mille kallal kolleegid varem ei töötanud selle mahukuse tõttu.

Dima:

On üks vana süsteem ja on ka uus, mis pole veel lõpetatud. Peame viima ülemineku ühest süsteemist teise. Tulevikus on see oluline projekt, kuigi väga ebakindel: me peame palju suhtlema ja lugema arusaamatuid pärandi koode. Me ütlesime praktikandile viimases intervjuus, et ülesanne on keeruline. Ta vastas, et on valmis, tuli meie meeskonda ja tal läks kõik hästi. Selgus, et tal on omadused, mis muudavad ta mitte ainult arendajaks, vaid ka juhiks. Ta oli valmis ise küsima ja uurima.

Mentorlus praktikandi üle

Praktikandile, et ta saaks protsessidega paremini tutvuda, on vajalik mentor. See on inimene, kes on kursis mitte ainult oma ülesannete, vaid ka praktikandi ülesannetega. Mentoriga on korraldatud regulaarne suhtlemine, kelle poole võib alati nõu küsida. Mentoriks võib olla grupijuht (kui see on väike grupp) või mõni kolleeg, kes on meeskonnas pidevalt kohal.

Ihnat:

Püüan vähemalt iga kahe päeva tagant läheneda, küsida, kuidas praktikandil läheb. Kui näen, et ta on millegisse kinni jäänud, siis püüan aidata, küsida, mis probleem on, ja koos temaga seda lahendada. On selge, et see nõuab minult energiat ja muudab praktikandi töö vähem efektiivseks — ma raiskan ka oma aega. Kuid see võimaldab tal mitte ummikus olla ja saavutada tulemuse. Ja see on ikkagi kiirem, kui kui teeksin seda ise. Mina peaksin selle ülesande täitmiseks umbes 5 tundi. Praktikant teeb selle 5 päevaga. Jah, ma kulutan nende 5 päeva jooksul 2 tundi praktikandiga suhtlemiseks ja abistamiseks. Kuid vähemalt 3 tundi säästan, ja praktikandile on meeldiv, et keegi andis nõu ja aitas. Üldiselt on oluline lihtsalt suhelda, jälgida, mida inimene teeb, ja mitte kontakti kaotada.

IT praktika: juhi vaatepunkt

Serjoža:

Praktikant on pidevalt ühenduses oma mentoriga ja suhtleb temaga mitu korda päevas. Mentor vaatab koodi üle, tegeleb praktikandiga paaristööna, aitab, kui tekivad probleemid. Just niimoodi, kombineerides mentori abi ja reaalsete ülesannetega, koolitame esmaklassilisi arendajaid.

Dima:

Kuna praktikant ei tohiks end üksikuna tunda, arutame juba enne tööle võtmist, kes tema mentoriks saab. See on samuti suur areng ka mentorile endale: ettevalmistus tiimijuhi rolliks, võime hoida oma ja praktikandi ülesanne meeles. On regulaarseid kohtumisi, kus käin vahel isegi mina, et asjadest kursis olla. Kuid mentor suhtleb praktikandiga pidevalt. Alguses kulutab ta sellele palju aega, kuid see tasub end ära.

Siiski ei tähenda mentori olemasolu, et kõik küsimused lahendatakse tema kaudu.

Misha:

Meil on tavaks, et probleemide ees seisavad inimesed küsivad abi naabrilt, kolleegitelt ja leiavad kiiresti lahenduse. Mida kiiremini inimene areneb, seda rohkem peab ta kolleegilt midagi küsima. Kasulik on isegi lihtsalt teada teiste inimeste ülesandeid, et genereerida uusi ideid. Kui praktikant suudab ise läbirääkimisi pidada, mõista, mis on teise osapoole jaoks oluline, ja saavutada meeskonnas tulemus, kasvab ta kaugelt kiiremini kui see, kelle eest peab kõike tegema juht.

Serjoža:

Dokumentatsioon on olemas, kuid enamik teavet on õhus. Kui sa imendad seda oma karjääri alguses, on see täiendav eelis, ja me saame inimesi suunata õppima seda, mis on vajalik.

Ideaalne praktika on see, kes praktikab paar kuud, muutub nooremaks arendajaks, siis lihtsalt arendajaks ja seejärel grupijuhiks jne. Selleks on vajalik õpilase arhetüüp, kes ei pelga küsida, kui midagi on ebaselge, kuid samal ajal on suuteline iseseisvaks tööks. Kui talle öeldakse, et seda saab lugeda seal, siis ta läheb, loeb ja tõesti naaseb uute teadmistega. Ta võib eksida, kuid ta ei tohiks eksida enam kui ühe või maksimaalselt kahe korra samas kohas. Ideaalne praktikant peab arenema, imama kõike nagu käsna, õppima ja kasvama. See, kes istub, püüab kõike ise välja selgitada, kaevab kaua, ei küsi mingeid küsimusi, tõenäoliselt ei jää püsima.

Praktikumi lõpetamine

Enne tööle asumist sõlmime iga praktikandiga tähtajalise lepingu. Loomulikult on praktika tasustatud, see vormistatakse vastavalt Venemaa Föderatsiooni tööseadusele ja praktikandil on samad eelised kui igal teisel Yandexi töötajal. Kolme kuu pärast programm lõppeb – paljusid praktikante me seejärel viime ametikohale (tagasiulatuva lepinguga).

IT praktika: juhi vaatepunkt

Ühelt poolt on juhile oluline, et arendaja täidaks oma praktikumi miinimumi. Just sellele juhendab praktikanti alates vestlusest. Küll aga on see ainult loo algus. Praktikant on meie jaoks alati potentsiaalne kandidaat ametisse. Programmeerimise miinimum juhile – juba alguses märgata sellist inimest, keda kolme kuu pärast ei oleks häbi soovitada teistele osakondadele. Programmeerimise maksimum – hoida teda samas meeskonnas, võttes ametisse. Samuti arvestame, et teise või kolmanda kursuse üliõpilasel – isegi kui ta on saanud praktikandiks – on õppeaasta algusega vajalik jätkata õpet oma ülikoolis.

Serjoža:

Esiteks on meie jaoks praktikandid – кадровый потенциал. Püüame kasvatada inimesi Yandexis, et nad sobiksid meie ülesannetesse ideaalselt. Anname neile kõike, alates suhtlemise ja koostöö kultuurist meeskondades kuni entsüklopeediliste teadmisteni kõigi meie süsteemide kohta.

Ihnat:

Interni validesime kohe, kas nad sobivad meie meeskonda. Tüüpiliselt on ainus takistus töökoha puudumine. Püüame võtta piisavalt noori inimesi praktikantideks. Kui inimesel on viis aastat arenduskogemust ja ta tuleb Yandexisse internina, tähendab see meie jaoks, et ta, kuigi on tubli, ei saa vanemaks arendajaks kasvada. Tavaliselt on asi kiirus: aeglane kasv minevikus tähendab, et ka meie juures on oodata aeglast kasvu. Jah, mõnikord saame aru, et inimene ei sobi vaid kolme kuu lõpus, kuid see on haruldane. Rohkem kui pooled praktika lõpetanud praktikandid jäävad meie juurde tööle. Minu mäletamist mööda pole olnud olukordi, kus inimene on edukalt praktikal käinud, kuid ei suutnud tööintervjuud alaliselt positsioonile läbida.

Misha:

Kõigile edukatele praktikantidele pakume hiljem ettevõttes jäämist. Pärast praktikat võtame tavaliselt rohkem kui pooled täiskohaga tööle. Suvepraktikaga on keerulisem, sest tihti tulevad meile tudengid, näiteks kolmandast kursusest, kellel on raske töö ja õpingud kokku viia.

Dima:

Oletame, et praktikant saab ülesannetega suurepäraselt hakkama ja tal on palju perspektiive kasvada heaks arendajaks, isegi kui tal praegu ei ole piisavalt kogemusi. Oletame, et alalist töölepingut ei ole. Siis on kõik lihtne: pean minema oma juhendaja juurde ja ütlema, et siin on suurepärane inimene, keda peaks igal viisil hoidma, teeme talle pakkumise, leiame, kuhu ta sobib.

Lood praktikantidest

Denis:

Tüdruk, kes tuli meile praktikasse 2017. aastal, oli pärit Permist. See on umbes 400 kilomeetrit ida pool Jekaterinburgist. Ta sõitis iga nädal meile Permist rongiga mobiilse arenduse kooli. Ta saabus päeval, õppis õhtul ja lahkus hilja õhtul tagasi. Sellist innukust hinnates kutsusime ta tööle ja see õigustas end hästi.

Ihnat:

Mõni aasta tagasi osalesime praktikantide vahetusprogrammis. Töö teha välismaalastega oli huvitav. Kuid sealsetel praktikantidel ei ole pädevust rohkem kui näiteks ŠADA või FKN-ist. Tundub, et EPFL on Euroopa 20 parima ülikooli seas. Mul oli siis — nagu mitte eriti kogenud vestlejal — selline ootustus: uskumatult, me intervjueerime inimesi EPFL-ist, nad on superägedad. Kuid inimesed, kes on saanud meie juures põhihariduse koodimise alal — sealhulgas meie võtme piirkondlike ülikoolide juures — osutuvad olevat täiesti tasemel.

Või teine lugu. Praegu on mul tööl noormees, täiesti noor, umbes 20 aastat vana. Töötab Peterburis, käis praktikatal. Ta on väga äge. Sa, nagu tavaliselt, annad inimesele ülesandeid, ta lahendab need, ja kuu aja pärast tuleb ja ütleb: ma lahendasin, vaatan ja tundub, et teil on arhitektuur halvasti üles ehitatud. Teeme uuesti. Kood muutub lihtsamaks, arusaadavamaks. Ma ütlesin talle muidugi ümber: töömaht on suur, kasutajatele pole kasu, kuid idee kõlab täiesti mõistlikult. Inimene mõistis keerulist üheaegset protsessi ja pakkus parendusi — võib-olla ka ebasobivaid, refaktoreerimine refaktoreerimise nimel. Kuid niipea kui tahame seda koodi keerulisemaks muuta, saab ka refaktoreerimise siiski teha. Tegelikult on anda paar kuud ja me hakkasime selle ülesande kallal töötama. Võtsin ta rõõmuga tööle. Me kõik ei ole geeniused. Võib tulla, aru saada milleski ja juhtida meid meie probleemidele. See on hinnatud.

Misha:

Meil on selliseid ideaalseid praktikante. Vaatamata kogemuse puudumisele näevad nad ülesannet mitte ainult tehniliselt, vaid ka globaalsel tasandil. Pakuvad põhimõttelisi parandusi. Neil on arusaam, kuidas viia ülesanded reaalsest maailmast tehniliseks, kaotamata tähendust. Nad mõtlevad, mis on lõppeesmärk, kas hetkel on mõtet detailsesse süveneda või saab ülesande lähenemist või isegi ülesande formuleeringut täiesti muuta. See tähendab, et neil on potentsiaali jõuda mitmele tasemele kõrgemale. Selle tee läbimiseks peavad nad lihtsalt arendama mingeid oskusi ja sisemisi tööriistu. Pluss, käivitama mitu edukat projekti.

IT praktika: juhi vaatepunkt

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster