Praktika IT alal: juhi vaade

Praktika IT alal: juhi vaade

Värbamine jaoks suvepraktika Yandexis jätkub. Sellel on viis suunda: taustaprogramm, ML, mobiiliarendus, kasutajaliides ja analüüs. Sellest ajaveebist, teistest Habré ja teistest blogidest leiate palju teavet praktika toimimise kohta. Kuid palju selles protsessis jääb saladuseks neile, kes ettevõttes ei tööta. Ja kui vaadata arendusjuhtide vaatevinklist, siis tekib veelgi rohkem küsimusi. Kuidas praktikat korrektselt läbi viia, kuidas praktikandiga maksimeerida vastastikust kasulikkust, kuidas teda kolme kuuga tundma õppida ja õpetada talle kõik töö jätkamiseks vajalik?

Viis meist valmistasid selle artikli ette. Tutvustame end: Ignat Kolesnichenko hajutatud arvutustehnoloogia teenusest, Miša Levin Marketi masinluureteenistusest, Deniss Malyhh rakenduste arendusteenistusest, Serjoža Berežnõi otsinguliidese arendusosakonnast ja Dima Tšerkasov pettustevastasest arendusgrupist. Igaüks meist esindab oma praktikavaldkonda. Oleme kõik juhid, vajame praktikante ja meil on nendega töötamise kogemus. Räägime teile sellest kogemusest midagi.

Praktikaeelne intervjuu

Kandidaate ootavad ees mitmed tehnilised vestlused. Edu intervjuul sõltub vähem pehmetest oskustest (oskus tõhusalt suhelda) ja rohkem kõvadest oskustest (matemaatika- ja programmeerimisoskused). Juhid hindavad aga mõlemat.

Ignat:

Isegi kui inimene on väga lahe, kuid absoluutselt suhtlemisvõimetu, ei saa ta kõiki oma oskusi rakendada. Muidugi pöörame sellele tähelepanu, kuid see ei ole põhjus, miks kedagi praktikale mitte võtta. Kolme kuuga võib kõik muutuda ja pealegi võib esmamulje valeks osutuda. Ja kui kõik on õige, peate inimesele selgitama, otsima muid käske. Praktikantide jaoks ei ole suhtlemisoskus kindlasti võtmetegur. Siiski on professionaalsed oskused palju olulisemad.

Denis:

Mulle meeldivad inimesed, kes räägivad lugusid – heas mõttes. Huvitav on inimene, kes oskab öelda, kuidas tema ja ta meeskond mõne fakapiga kangelaslikult hakkama said. Hakkan lisaküsimusi esitama, kui selline lugu tuleb. Kuid seda juhtub harva, kui küsite lihtsalt "rääkida oma projektides millestki huvitavast".

Üks kandidaat ütles kord imelise fraasi, mille ma isegi kirja panin: "Vältisin edukalt tüütute probleemide lahendamist."

Praktika IT alal: juhi vaade

Kuna suhtlemiseks on vähe aega, püüab intervjueerija igal kohtumise minutil saada kandidaadi kohta kasulikku teavet. On suurepärane, kui praktikant mõtles eelnevalt välja, milliseid üksikasju oma kogemusest (mitte oma CV-st) ta võiks jagada. See peaks olema lühijutt, mis on rangelt asjakohane.

Denis:

Pööran tähelepanu, kui inimene ütleb, et on proovinud palju keeli ja lähenemisviise. Laiema silmaringiga inimesed pakuvad lahingurežiimis elegantsemaid lahendusi. Kuid see on kahemõtteline pluss. Saate sellest aru saada, kuid mitte midagi õppida.

Aega Denise kirjeldatud lugude jaoks jääb tavaliselt alles viimase intervjuu juurde. Seni on vaja näidata fundamentaalseid ja praktilisi teadmisi, mis on tulevase töö aluseks. Ja loomulikult peate koodi kirjutama tahvlile või paberile.

Misha:

Testime tõenäosusteooria ja matemaatilise statistika teadmisi. Vaatame, kas inimesel on kogemusi töötamise mõõdikutega, masinõppe algoritmidega, parameetrite seadmisega, ümberõppega jne. Eeldame, et inimene oskab piisavalt koodi kirjutada, et olla analüütik.

Denis:

Intervjuule tulijad valdavad valdavalt keeli: meil on Jekaterinburgis hea põhikeelte kool, head instituudid. Aga kui aus olla, siis heade kõvade oskustega praktikakandidaat on vähemalt meie epsiloni naabruses harv juhus. Näiteks Swift. See hõlmab väga keerulist tööd keelpillidega ja vähe on inimesi, kes suudavad nendega töötada. Silm tõmbab kohe tähelepanu. Intervjuudel annan sageli ülesande, mis on seotud stringitöötlusega. Ja kogu selle aja jooksul oli ainult üks inimene, kes suutis sellise Swifti koodi kohe, paberile, kirjutada. Pärast seda käisin ringi ja rääkisin kõigile, et keegi suutis lõpuks selle probleemi Swiftis paberil ära lahendada.

Algoritmide testimine intervjuu ajal

See on eraldi teema, sest kandidaatidel on endiselt küsimus – miks me hindame alati teadmisi algoritmide ja andmestruktuuride kohta? Sellise testimise läbivad isegi tulevased mobiiliarendajad ja esiotsa arendajad.

Misha:

Intervjuu käigus esitame kindlasti mingisuguse algoritmilise ülesande. Kandidaat peab välja mõtlema, kuidas seda Pythonis rakendada, eelistatavalt ilma vigadeta. Peate mõistma, kuidas oma programmi kontrollida ja seda ise parandada.

Praktika IT alal: juhi vaade

Algoritmide töökogemus on kasulik kolmel põhjusel. Esiteks läheb seda ilmselgelt vaja algoritmilistes ülesannetes – mida ei juhtu sageli, aga juhtub. Teiseks saab arendaja tõhusamalt lahendada algoritmidega seotud probleeme, isegi kui need ei nõua ise algoritmidesse süvenemist (ja neid on juba päris palju). Kolmandaks, kui sulle ülikoolis algoritme ei õpetatud, aga sa ikka oskad nendega töötada, siis see iseloomustab sind kui uudishimulikku inimest ja tõstab sinu autoriteeti intervjueeritava silmis.

Denis:

Suur osa mobiiliarendusest on JSON-i segamine. Kuid kord kuue kuu jooksul on juhtumeid, kus on vaja algoritme. Praegu joonistan Yandex.Weatherile ilusaid kaarte. Ja nädalaga pidin rakendama silumisalgoritmi, Sutherlandi-Hodgmani algoritmi ja Martinezi algoritmi. Kui inimene ei teaks, mis on räsikaart või prioriteetne järjekord, oleks ta sellega juba ammu ummikus olnud ja poleks selge, kas ta oleks ilma kõrvalise abita sellega hakkama saanud või mitte.

Algoritmid on arengu aluseks. See aitab arendajal olla arendaja. Pole tähtis, mida sa teed. Neid läheb vaja ka lihtsates projektides, kus põhitöö seisneb “JSON-i tõlkimises”. Isegi kui te ei kirjuta algoritme ise, vaid kasutate kaudselt mõningaid andmestruktuure, on parem neist aru saada. Vastasel juhul jõuate rakendusteni, mis on aeglased või valed.

On programmeerijaid, kes tulid arendusse akadeemiliselt: astusid ülikooli, õppisid viis aastat ja said eriala. Nad teavad algoritme, sest neid õpetati. Ja siis algoritmide tundmine iseenesest ei iseloomusta kuidagi inimese silmaringi, seda horisonti tuleb muul viisil testida.

Ja on iseõppijaid, kelleks ma ennast loen. Jah, formaalselt on mul IT-haridus, tarkvarainseneri diplom. Kuid iseõppinud inimesed õppisid programmeerima "sellest hoolimata". Neil polnud ülikooliprogrammi. Tavaliselt nad ei ole algoritmidega kursis – kuna nad pole kunagi silmitsi seisnud vajadusega neid uurida. Ja kui selline inimene saab algoritmidest aru, tähendab see, et ta kulutas aega ja sai neist aru. Pärast ülikooli lõpetamist sain aru, et mul on fundamentaalsete algoritmide osas pimealad – fakt on see, et minu eriala sai rakendust. Ma läksin ja õppisin Princetoni ülikooli, tuntud Robert Sedgwicki veebikursustel. Ma mõtlesin selle välja ja tegin kõik oma kodutööd. Ja kui inimene räägib intervjuu ajal sarnast juttu, siis tekib kohe huvi, tekib soov temaga koostööd teha või vähemalt vestlust jätkata.

Praktika IT alal: juhi vaade

Ignat:

Kui intervjueerite praktikanti, ootate mõnes mõttes isegi rohkem kui kogenud arendajalt. Me räägime võimest lahendada algoritmilisi probleeme, kirjutada kiiresti vähemalt õige kood. Praktikakandidaat on endiselt ülikoolis. Alles aasta tagasi räägiti talle algoritmide kohta kõike üksikasjalikult. Eeldatakse, et ta suudab neid paljundada. Kui inimene on adekvaatne ja kuulab hoolikalt loenguid, siis ta lihtsalt teab kõike, saab selle vahemälust.

Milliseid ülesandeid praktikant lahendab?

Tavaliselt saab praktikaprogrammi lõplike intervjuude käigus visandada ja arutada. Alles töö alguses võib praktikandile määrata koolitusülesanded, mille tulemusi tootmises ei kasutata. Pealegi on selliste ülesannete saamise tõenäosus väike. Enamasti antakse lahinguprojektid mahajäämust, st need, mis on tunnistatud tähelepanu väärivateks, kuid mitte prioriteetseteks ja "eraldatavateks" - nii et muud komponendid ei sõltu nende rakendamisest. Juhid püüavad neid jagada nii, et koolitatav õpiks tundma teenuse erinevaid osi ja töötaks samas keskkonnas teiste meeskonnaliikmetega.

Ignat:

Need on äärmiselt kasulikud ülesanded. Need ei pruugi suurendada klastri kasutust 10% võrra ega säästa ettevõttele miljonit dollarit, kuid rõõmustavad sadu inimesi. Näiteks praegu töötab meil praktikant koos kliendiga, et käitada meie klastrites toiminguid. Enne käivitamist peab toiming laadima klastrisse mõned andmed. Tavaliselt kulub selleks 20–40 sekundit ja enne seda vaikselt: käivitasite selle konsoolis ja istusite seal, vaadates musta ekraani. Praktikant tuli ja tegi funktsiooni kahe nädalaga: nüüd on näha, kuidas faile üles laaditakse ja mis toimub. Ülesannet ühest küljest ei ole raske kirjeldada, kuid teisest küljest on, millesse süveneda, milliseid raamatukogusid vaadata. Parim osa on see, et tegite seda, nädal möödus, selgus, et see on klastrites, inimesed juba kasutavad seda. Kui kirjutate postituse sisevõrku, öeldakse aitäh.

Praktika IT alal: juhi vaade

Misha:

Koolitatavad valmistavad ette mudeleid, koguvad nende jaoks andmeid, mõtlevad välja mõõdikuid ja viivad läbi katseid. Tasapisi hakkame talle lihtsalt rohkem vabadust ja vastutust andma – kontrollime, kas ta saab sellega hakkama. Kui jah, liigub ta järgmisele tasemele. Me ei eelda, et kui praktikant tuleb, teab ta seda kõike teha. Juht aitab tal selle välja mõelda, annab lingi sisemise ressursi või veebikursuse juurde.

Kui praktikant näitab end olevat parimas vormis, võidakse talle anda midagi prioriteetset, osakonna või muude teenuste jaoks olulist.

Dima:

Meie praktikant teeb nüüd pettusevastases võitluses tõsiseid muudatusi. See on süsteem, mis võitleb Yandexi teenustes mitmesuguste kuritarvituste ja pettuste vastu. Alguses mõtlesime kinkida asju, mis ei olnud väga keerulised ja tootmiseks mitte eriti olulised. Püüame praktikandi ülesanded eelnevalt läbi mõelda, kuid siis nägime, et inimene oli “põlenud”, lahendas probleemid kiiresti ja hästi. Selle tulemusena hakkasime talle usaldama uute teenuste pettusevastase võitluse käivitamist.

Lisaks on väike võimalus saada tööülesanne, kuhu kolleegid pole selle mahu tõttu varem pöördunud.

Dima:

On üks vana süsteem ja on uus, veel lõpetamata. On vaja liikuda ühelt teisele. Tulevikus on see oluline projekt, kuigi suure ebakindlusega: peate palju suhtlema, lugema arusaamatut pärandkoodi. Lõpuvestlusel ütlesime praktikandile ausalt, et ülesanne oli raske. Ta vastas, et on valmis, tuli meie meeskonda ja tal läks kõik korda. Selgus, et tal on mitte ainult arendaja, vaid ka juhi omadused. Ta oli valmis ringi käima, uurima, pingima.

Praktikumi juhendamine

Praktikant vajab protsessidesse süüvimiseks mentorit. See on inimene, kes on teadlik mitte ainult enda, vaid ka praktikandi ülesannetest. Mentoriga luuakse regulaarne suhtlus, tema poole saab alati nõu saamiseks pöörduda. Mentoriks võib olla kas grupijuht (kui tegemist on väikese grupiga) või mõni kolleegidest, meeskonna tavaliikmetest.

Ignat:

Üritan vähemalt ülepäeviti tulla ja küsida, kuidas praktikandil läheb. Kui näen, et olen ummikus, püüan teda aidata, küsin temalt, milles probleem on, ja uurin seda temaga koos. Selge on see, et see võtab minult energiat ja muudab praktikandi töö mitte nii terviklikult efektiivseks - ma raiskan ka oma aega. Kuid see võimaldab tal mitte millessegi takerduda ja tulemusi saavutada. Ja see on ikka kiirem, kui ma ise teeksin. Ise vajan ülesande täitmiseks umbes 5 tundi. Praktikant teeb seda 5 päevaga. Ja jah, ma kulutan selle 2 päeva jooksul 5 tundi, et praktikandiga vestelda ja aidata. Kuid ma hoian kokku vähemalt 3 tundi ja praktikantil on hea meel, et talle anti nõu ja abi. Üldiselt peate lihtsalt tihedalt suhtlema, jälgima, mida inimene teeb, ja mitte kaotama kontakti.

Praktika IT alal: juhi vaade

Seryozha:

Koolitatav on pidevalt ühenduses oma mentoriga ja suhtleb temaga mitu korda päevas. Mentor vaatab koodi üle, ühendab praktikandiga programmeerimise ja aitab probleemide ilmnemisel. Just sel viisil, kombineerides mentori abi ja reaalseid lahinguülesandeid, koolitame esiotsa arendajaid.

Dima:

Et praktikandit ei hüljataks, arutame juba enne tööle võtmist läbi, kes teda juhendama hakkab. See on ka mentori enda jaoks suur täiendus: ettevalmistus meeskonnajuhi rolliks, testimine oskuse osas pidada silmas nii enda kui ka praktikandi ülesannet. Toimuvad regulaarsed koosolekud, kus käin vahel ka ise, et kursis olla. Kuid just mentor suhtleb praktikandiga üsna regulaarselt. Ta kulutab alguses palju aega, kuid see tasub end ära.

Mentori omamine ei tähenda aga seda, et kõik esile kerkivad probleemid lahenevad tema kaudu.

Misha:

Meil on tavaks, et probleemiga kokku puutunud inimesed küsivad nõu naabritelt ja kolleegidelt ning leiavad kiiresti abi. Mida kiiremini inimene kasvab, seda sagedamini on tal vaja minna kolleegide juurde midagi õppima. On isegi kasulik õppida tundma teiste inimeste ülesandeid, et saaksite uusi ülesandeid välja mõelda. Kui praktikant suudab jõuda kokkuleppele, mõistab, mis on teisele poolele oluline, ja jõuab meeskonnas tulemuseni, kasvab ta palju kiiremini kui see, kelle eest juht seda kõike tegema peab.

Seryozha:

Dokumentatsioon on olemas, aga suurem osa infost läheb õhku kaduma. Kui võtate selle oma karjääri alguses omaks, on see lisaeelis ja saame keskenduda sellele, mida ta peab õppima.

Ideaalne praktikant on see, kes treenib mitu kuud, saab nooremarendajaks, siis lihtsalt arendajaks, siis meeskonnajuhiks jne. Selleks on vaja õpilase arhetüüpi, kes ei häbene küsida, kui talle midagi jääb arusaamatuks, vaid on võimeline ka iseseisvaks tööks. Kui talle öeldi, et ta võiks sellest kuskilt lugeda, siis ta läheks, luges läbi ja naaseb tegelikult uute teadmistega. Ta võib teha vigu, kuid samas kohas ei tohiks ta eksida rohkem kui üks, maksimaalselt kaks korda. Ideaalne praktikant peaks arenema, kõike käsna imama, õppima ja kasvama. See, kes istub ja proovib kõike ise välja mõelda, veedab pikka aega ringi tuhnides ega esita küsimusi, tõenäoliselt ei harju.

Praktika lõpp

Enne tööle asumist sõlmime iga praktikandiga tähtajalise lepingu. Loomulikult on praktika tasustatud, vormistatud vastavalt Vene Föderatsiooni tööseadustikule ja praktikandil on samad soodustused kui kõigil teistel Yandexi töötajatel. Kolme kuu pärast programm lõpeb – seejärel anname paljud praktikandid üle personali (tähtajatu lepingu alusel).

Praktika IT alal: juhi vaade

Ühest küljest on juhi jaoks oluline, et arendaja täidaks oma praktika miinimumi. See on koht, kus praktikant juhitakse, alustades intervjuust. See on aga alles loo algus. Meie jaoks on praktikant alati potentsiaalne personalikandidaat. Juhi miinimumprogramm on kohe alguses tuvastada inimene, keda kolme kuu pärast ei häbene teistele osakondadele soovitada. Maksimaalne programm on hoida teda samas meeskonnas, palgates ta töötajaks. Samas arvestame sellega, et teise-kolmanda kursuse üliõpilasel – isegi kui temast on saanud praktikant – tekib õppeaasta algusega vajadus jätkata õpinguid ülikoolis.

Seryozha:

Esiteks on praktikandid meie jaoks inimressursipotentsiaal. Üritame Yandexis inimesi kasvatada, et nad sobiksid ideaalselt meie ülesannetega. Anname neile kõik, alates suhtlus- ja suhtluskultuurist meeskondades kuni entsüklopeediliste teadmisteni kõigi meie süsteemide kohta.

Ignat:

Kui võtame praktikandi, proovime ta kohe meie meeskonnaga liituda. Ja reeglina on ainsaks takistuseks vaba töökoha puudumine. Püüame praktikantideks palgata piisavalt noori poisse. Kui inimesel on viieaastane arenduskogemus, ta tuleb Yandexi ja on tasemel praktikant, siis paraku tähendab see meie jaoks seda, et kuigi ta on suurepärane mees, saab ta Yandexis tööle viieaastase tööajaga. kogemusi, ei saa ta vanemarendajaks kasvada. Tavaliselt on see kiiruse küsimus: aeglane kasv minevikus tähendab siin aeglast kasvu. Jah, mõnikord tuleb arusaam, et inimene ei ole oma ülesannete kõrgusel, alles kolme kuu pärast. Kuid see on üsna haruldane. Rohkem kui pooltel juhtudel oleme valmis töötajaid tööle võtma. Minu mäletamist mööda pole kordagi ette tulnud olukorda, kus inimene läbis edukalt praktika, kuid ei saanud täiskohaga tööintervjuul läbida.

Misha:

Pakume kõigile edukatele praktikantidele ettevõttesse jäämist. Pärast praktikat võtame tavaliselt üle poole sellest täistööajale. Suvepraktika on keerulisem, sest sageli tulevad meile kolmanda kursuse tudengid ning neil on raske tööd ja õppimist ühildada.

Dima:

Oletame, et praktikant teeb suurepärast tööd ja tal on palju väljavaateid kasvada heaks arendajaks – isegi kui tal pole praegu piisavalt kogemusi. Ja oletame, et tähtajatu lepingu jaoks pole vaba kohta. Siis on kõik lihtne: ma pean minema oma juhi juurde ja ütlema talle - see on väga lahe inimene, me peame teda igal juhul hoidma, pakume talle midagi, leiame talle koha.

Lood praktikantidest

Denis:

2017. aastal meie juurde praktikale sattunud neiu oli pärit Permist. See on Jekaterinburgist 400 kilomeetrit läände. Ja igal nädalal tuli ta meie juurde Permist rongiga mobiilse arenduskooli. Ta tuli päeval, õppis õhtul ja läks tagasi õhtul hilja. Seda innukust hinnates kutsusime ta tööle ja see tasus end ära.

Ignat:

Mõned aastad tagasi osalesime praktikantide vahetusprogrammis. Välismaa meestega oli huvitav töötada. Aga sealsed praktikandid pole tugevamad kui näiteks ShaD-st või arvutiteaduskonnast. Näib, et EPFL on Euroopa 20 parima ülikooli hulgas. Sel hetkel, veel mitte väga kogenud intervjueerijana, oli mul selline ootus: uskumatu, me intervjueerime inimesi EPFL-ist, nad saavad olema ülilahedad. Kuid inimesed, kes on saanud siin – sealhulgas piirkondlikes võtmeülikoolides – kodeerimise alase põhihariduse, on üsna tasemel.

Või teine ​​lugu. Nüüd on mu personalis üks mees, ta on väga noor, umbes 20-aastane. Töötab Peterburis, tuli praktikale. Ta on väga lahe. Sina, nagu tavaliselt, annad inimesele probleeme, tema lahendab need ja kuu aja pärast tuleb ja ütleb: ma lahendasin need, vaatan ja tundub, et teie arhitektuur on halvasti ehitatud. Teeme uuesti. Kood muutub lihtsamaks ja selgemaks. Mina muidugi keelitasin teda: töömaht on suur, kasutajatele kasumit pole, aga idee kõlab igati mõistlikult. Inimene mõtles välja keerulise mitme lõimega protsessi ja soovitas parandusi – võib-olla enneaegseid, ümbertegemise huvides. Kuid niipea, kui soovite seda koodi keerulisemaks muuta, saate selle ümberkujundamise siiski teha. Tegelikult läks mitu kuud ja me võtsime selle ülesande kätte. Võtsin ta hea meelega tööle. Me kõik ei ole geeniused. Võite tulla, midagi välja mõelda ja meie probleemidele osutada. Seda hinnatakse.

Misha:

Meil on sellised ideaalsed praktikandid. Kogemuste puudumisest hoolimata näevad nad ülesannet mitte ainult tehnilisel, vaid ka globaalsel tasandil. Need pakuvad põhimõttelisi parandusi. Neil on arusaam, kuidas tõlkida probleeme reaalsest maailmast tehnilisse maailma, kaotamata nende tähendust. Nad mõtlevad, mis on lõppeesmärk, kas tasub nüüd detailidesse süveneda või suudavad nad täielikult muuta lähenemist ülesandele või isegi probleemi sõnastust. See tähendab, et neil on potentsiaal olla mitu taset kõrgemal. Selle saavutamiseks peavad nad lihtsalt täiendama mõningaid oskusi ja sisemisi tööriistu. Lisaks käivitage mitu edukat projekti.

Praktika IT alal: juhi vaade

Allikas: www.habr.com

Lisa kommentaar