Staĝo en IT: opinio de administranto

Staĝo en IT: opinio de administranto

Rekrutado por somera staĝo en Yandex daŭras. Ĝi iras en kvin direktoj: backend, ML, movebla disvolviĝo, fasado kaj analizo. En ĉi tiu blogo, en aliaj blogoj pri Habré kaj pretere, vi povas trovi multajn komprenojn pri kiel funkcias la staĝo. Sed multe en ĉi tiu procezo restas mistero por tiuj, kiuj ne laboras en la kompanio. Kaj se oni rigardas el la vidpunkto de evoluaj administrantoj, eĉ pli da demandoj aperas. Kiel fari staĝon ĝuste, kiel maksimumigi reciprokan utilecon kun staĝanto, kiel koni lin en tri monatoj kaj instrui al li ĉion, kion li bezonas por daŭrigi labori?

Kvin el ni preparis ĉi tiun artikolon. Ni prezentu nin: Ignat Kolesnichenko el la disdonata komputika teknologio-servo, Misha Levin el la Merkata maŝina spionservo, Denis Malykh el la aplikaĵa disvolva servo, Seryozha Bereĵnoy el la serĉinterfaco-disvolva fako kaj Dima Ĉerkasov el la kontraŭfraŭda disvolva grupo. Ĉiu el ni reprezentas nian propran areon de staĝo. Ni ĉiuj estas administrantoj, ni bezonas internulojn, kaj ni havas iom da sperto laboranta kun ili. Ni diru al vi ion el ĉi tiu sperto.

Antaŭ-staĝa intervjuo

Pluraj teknikaj intervjuoj atendas kandidatojn. Sukceso ĉe intervjuo dependas malpli de molaj kapabloj (la kapablo efike komuniki) kaj pli de malfacilaj kapabloj (kapabloj en matematiko kaj programado). Tamen, administrantoj taksas ambaŭ.

Ignat:

Eĉ se homo estas tre mojosa, sed absolute nekomunika, li ne povos apliki ĉiujn siajn kapablojn. Kompreneble, ni atentas pri tio, sed ĉi tio ne estas kialo por ne akcepti iun por staĝo. Post tri monatoj, ĉio povas ŝanĝiĝi, kaj krome, via unua impreso povas montriĝi malĝusta. Kaj se ĉio estas ĝusta, vi devos klarigi al la persono, serĉi aliajn ordonojn. Por staĝantoj, komunikadkapabloj certe ne estas ŝlosila faktoro. Tamen, profesiaj kapabloj estas multe pli gravaj.

Denis:

Mi ŝatas homojn, kiuj rakontas rakontojn – en bona maniero. Interesa estas homo, kiu povas rakonti kiel li kaj lia teamo heroe traktis iun fakapon. Mi komencas demandi sekvajn demandojn kiam aperas tia rakonto. Sed ĉi tio malofte okazas se vi simple petas "rakonti pri io interesa en viaj projektoj."

Unu kandidato iam diris mirindan frazon, kiun mi eĉ skribis: "Sukcese evitis solvi tedajn problemojn."

Staĝo en IT: opinio de administranto

Ĉar estas malmulte da tempo por komunikado, la intervjuanto provas akiri utilajn informojn pri la kandidato ĉiun minuton de la renkontiĝo. Estas bonege, se la internulo anticipe ekscius, kiajn detalojn de sia sperto (ne el sia vivresumo) li povus dividi. Ĉi tio devus esti novelo strikte ĝis la punkto.

Denis:

Mi atentas, se homo diras, ke li provis multajn lingvojn kaj alirojn. Homoj kun pli larĝa perspektivo elpensas pli elegantajn solvojn en batalreĝimo. Sed ĉi tio estas ambigua pluso. Vi povas ekkompreni ĝin, sed ne vere lerni ion ajn.

Tempo por la rakontoj priskribitaj de Denis kutime restas nur ĉe la fina intervjuo. Ĝis tiam necesas pruvi la fundamentajn kaj praktikajn sciojn, kiuj estos la bazo de la estonta laboro. Kaj, kompreneble, vi devos skribi la kodon sur tabulo aŭ sur papero.

Miŝa:

Ni testas scion pri probabla teorio kaj matematika statistiko. Ni rigardas ĉu la persono havas sperton laboranta kun metrikoj, kun maŝinlernado-algoritmoj, kun agordo de siaj parametroj, kun retrejnado, ktp. Ni atendas ke la persono povas skribi kodon sufiĉe por esti analizisto.

Denis:

Tiuj, kiuj venas por intervjuo, plejparte scias lingvojn: en Jekaterinburg ni havas bonan lernejon de bazaj lingvoj, bonajn institutojn. Sed por esti honesta, staĝa kandidato kun bonaj malfacilaj kapabloj estas malofta kazo, almenaŭ en nia epsilona kvartalo. Ekzemple, Swift. Ĝi implikas tre kompleksan laboron kun ŝnuroj, kaj estas malmultaj homoj kiuj povas labori kun ili de la supro de siaj kapoj. La okulo tuj kaptas vian atenton. Dum intervjuoj, mi ofte donas taskon, kiu rilatas al korda prilaborado. Kaj dum ĉi tiu tuta tempo estis nur unu homo, kiu povis skribi tian Swift-kodon tuj, sur paperpeco. Post tio, mi ĉirkaŭiris dirante al ĉiuj, ke iu finfine povis solvi ĉi tiun problemon en Swift sur papero.

Testado de algoritmoj dum intervjuo

Ĉi tio estas aparta temo ĉar kandidatoj ankoraŭ havas demandon - kial ni ĉiam taksas scion pri algoritmoj kaj datumstrukturoj? Eĉ estontaj moveblaj programistoj kaj antaŭfinaj programistoj spertas tiajn provojn.

Miŝa:

Dum la intervjuo ni certe donos ian algoritman problemon. La kandidato devas eltrovi kiel efektivigi ĝin en Python, prefere sen eraroj. Vi devas kompreni kiel kontroli vian programon kaj korekti ĝin mem.

Staĝo en IT: opinio de administranto

Sperto en algoritmoj estas utila pro tri kialoj. Unue, ĝi evidente bezonos en algoritmaj taskoj - kiuj ne okazas ofte, sed okazas. Due, la programisto povos pli efike solvi problemojn rilatajn al algoritmoj, eĉ se ili ne postulas enprofundiĝi en la algoritmojn mem (kaj estas jam sufiĉe multaj). Trie, se oni ne instruis al vi algoritmojn en universitato, sed vi ankoraŭ scias kiel labori kun ili, tiam ĉi tio karakterizas vin kiel scivolan personon kaj pliigos vian aŭtoritaton en la okuloj de la intervjuito.

Denis:

Granda parto de movebla disvolviĝo estas JSON-miksado. Sed unufoje ĉiujn ses monatojn estas kazoj, kiam necesas algoritmoj. Nuntempe mi desegnas belajn mapojn por Yandex.Weather. Kaj post unu semajno mi devis efektivigi la glatigan algoritmon, la Sutherland-Hodgman-algoritmon kaj la Martinez-algoritmon. Se homo ne scius, kio estas hashmap aŭ prioritata vico, li estus restinta kun ĝi dum longa tempo kaj estus neklare ĉu li administrus ĝin aŭ ne sen ekstera helpo.

Algoritmoj estas la bazo de evoluo. Jen kio helpas programiston esti programisto. Ne gravas, kion vi faras. Ili ankaŭ bezonas en simplaj projektoj, kie la ĉefa laboro konsistas el "tradukado de JSON". Eĉ se vi ne skribas la algoritmojn mem, sed vi implicite uzas iujn datumstrukturojn, estas pli bone kompreni ilin. Alie, vi finos kun aplikaĵoj malrapidaj aŭ malĝustaj.

Estas programistoj, kiuj disvolviĝis akademie: ili eniris universitaton, studis dum kvin jaroj kaj ricevis fakon. Ili konas la algoritmojn ĉar ili estis instruitaj. Kaj tiam la scio pri algoritmoj mem neniel karakterizas la horizontojn de homo; ĉi tiu horizonto devas esti provita alimaniere.

Kaj estas memlernantoj, el kiuj mi mem kalkulas. Jes, formale mi havas IT-edukadon, diplomon pri programaro-inĝenierado. Sed memlernantoj lernis programi "malgraŭ tio". Ili ne havis universitatan programon. Kutime ili ne konas algoritmojn – ĉar ili neniam renkontis la bezonon studi ilin. Kaj kiam tia homo komprenas algoritmojn, tio signifas, ke li pasigis tempon kaj komprenis ilin. Post diplomiĝo de universitato, mi konstatis, ke mi havas blindajn punktojn laŭ fundamentaj algoritmoj - la fakto estas, ke mia fako estis aplikata. Mi iris kaj studis retajn kursojn de Universitato Princeton, la konata Robert Sedgwick. Mi eltrovis ĝin kaj faris ĉiujn miajn hejmtaskojn. Kaj kiam homo rakontas similan historion dum intervjuo, mi tuj interesiĝas, mi emas kunlabori kun li aŭ almenaŭ daŭrigi la konversacion.

Staĝo en IT: opinio de administranto

Ignat:

Kiam vi intervjuas staĝanton, iel vi atendas eĉ pli ol de sperta programisto. Ni parolas pri la kapablo solvi algoritmajn problemojn, rapide skribi almenaŭ iun ĝustan kodon. La staĝa kandidato ankoraŭ estas en la universitato. Antaŭ nur unu jaro oni rakontis al li ĉion pri algoritmoj detale. Estas atendite ke li povas reprodukti ilin. Se homo estas adekvata kaj zorge aŭskultas la prelegojn, li simple scios ĉion, ricevos ĝin el la kaŝmemoro.

Kiajn taskojn la staĝanto solvas?

Tipe, la staĝa programo povas esti skizita kaj diskutita dum la finaj intervjuoj. Nur komence de la laboro, staĝanto povas ricevi trejnajn taskojn, kies rezultoj ne estos uzataj en produktado. Krome, la verŝajneco ricevi tiajn taskojn estas malgranda. Plej ofte, batalprojektoj estas donitaj de la restaro, tio estas, tiuj agnoskitaj kiel indaj atentaj, sed ne prioritataj kaj "disigeblaj" - tiel ke aliaj komponantoj ne dependas de ilia efektivigo. Manaĝeroj provas distribui ilin tiel ke la praktikanto ekkonu malsamajn partojn de la servo kaj laboras en la sama medio kun aliaj grupanoj.

Ignat:

Ĉi tiuj estas ege utilaj taskoj. Ili eble ne pliigos la uzadon de grapo je 10%, aŭ ŝparos al la kompanio milionon da dolaroj, sed ili feliĉigos centojn da homoj. Ekzemple, ni nuntempe havas staĝanton laborantan kun nia kliento por funkciigi operaciojn sur niaj aretoj. Antaŭ ol komenci, la operacio devas ŝargi iujn datumojn sur la areton. Ĉi tio kutime daŭras 20–40 sekundojn, kaj antaŭ ol ĝi okazis silente: vi lanĉis ĝin en la konzolo kaj sidis tie, rigardante nigran ekranon. La staĝanto venis kaj faris la funkcion en du semajnoj: nun vi povas vidi kiel la dosieroj estas alŝutitaj kaj kio okazas. La tasko, unuflanke, ne estas malfacile priskribi, sed aliflanke, estas io por fosi, kiajn bibliotekojn rigardi. La plej bona parto estas, ke vi faris ĝin, semajno pasis, ĝi montriĝis sur aretoj, homoj jam uzas ĝin. Kiam vi skribas afiŝon en la interna reto, ili diras dankon.

Staĝo en IT: opinio de administranto

Miŝa:

Staĝantoj preparas modelojn, kolektas datumojn por ili, elpensas metrikojn kaj faras eksperimentojn. Iom post iom, ni simple komencas doni al li pli da libereco kaj respondeco - ni kontrolas ĉu li povas trakti ĝin. Se jes, li moviĝas al la sekva nivelo. Ni ne supozas, ke kiam internulo envenas, ili scias kiel fari ĉion. La administranto helpas lin eltrovi ĝin, donas al li ligilon al interna rimedo aŭ interreta kurso.

Se staĝanto montras sin kiel plej bone, li povas ricevi ion de prioritato, grava por la fako aŭ aliaj servoj.

Dima:

Nia staĝanto nun faras severajn modifojn al la kontraŭfraŭdo. Ĉi tio estas sistemo, kiu batalas diversajn misuzon kaj fraŭdon en Yandex-servoj. Komence ni pensis doni aferojn ne tre kompleksajn kaj ne tre gravajn por produktado. Ni provas pripensi la taskojn de la staĝanto anticipe, sed tiam ni vidis, ke la persono "flamis", solvante problemojn rapide kaj bone. Kiel rezulto, ni komencis konfidi al li lanĉon de kontraŭfraŭdo por novaj servoj.

Krome, estas malgranda ŝanco ricevi taskon, kiun kolegoj ne antaŭe alproksimiĝis pro ĝia volumeno.

Dima:

Estas unu malnova sistemo, kaj estas nova, ankoraŭ ne finita. Necesas moviĝi de unu al alia. Estontece, ĉi tio estas grava projekto, kvankam kun alta necerteco: vi devas multe komuniki, legi nekompreneblan heredaĵkodon. Ĉe la fina intervjuo, ni honeste diris al la staĝanto, ke la tasko estas malfacila. Li respondis, ke li estas preta, venis al nia teamo, kaj ĉio funkciis por li. Evidentiĝis, ke li havas la kvalitojn ne nur de programisto, sed ankaŭ de administranto. Li estis preta promeni, ekscii, ping.

Mentorado de staĝanto

Staĝanto bezonas mentoron por mergi sin en procezoj. Ĉi tio estas homo, kiu konscias ne nur pri siaj propraj taskoj, sed ankaŭ pri la taskoj de la staĝanto. Regula komunikado estas establita kun la mentoro; vi ĉiam povas turni sin al li por konsiloj. La mentoro povas esti aŭ la grupgvidanto (se ĝi estas grupeto) aŭ unu el la kolegoj, regulaj grupanoj.

Ignat:

Mi provas alveni almenaŭ ĉiun duan tagon kaj demandi kiel fartas la staĝanto. Se mi vidas, ke mi estas blokita, mi provas helpi lin, demandi lin, kio estas la problemo, kaj elfosi ĝin kun li. Estas klare, ke tio forprenas mian energion kaj faras la laboron de staĝanto ne tiom integre efika – ankaŭ mi malŝparas mian tempon. Sed ĉi tio permesas al li ne enŝpruciĝi en io ajn kaj akiri rezultojn. Kaj ĝi estas ankoraŭ pli rapida ol se mi mem farus ĝin. Mi mem bezonas ĉirkaŭ 5 horojn por la tasko. La staĝanto faros ĝin en 5 tagoj. Kaj jes, mi pasigos 2 horojn dum ĉi tiuj 5 tagoj por babili kun la staĝanto kaj helpi. Sed mi ŝparos almenaŭ 3 horojn, kaj la staĝanto ĝojos, ke li ricevis kelkajn konsilojn kaj helpon. Ĝenerale, vi nur bezonas proksime komuniki, rigardi, kion la persono faras, kaj ne perdi kontakton.

Staĝo en IT: opinio de administranto

Serioĵa:

La praktikanto estas konstante en kontakto kun sia mentoro kaj komunikas kun li plurfoje tage. La mentoro revizias la kodon, faras parprogramadon kun la staĝanto, kaj helpas kiam ajnaj problemaj areoj ekestas. Ĝuste tiamaniere, kombinante la helpon de mentoro kaj realajn bataltaskojn, ni trejnas antaŭajn programistojn.

Dima:

Por malhelpi staĝanton esti forlasita, ni diskutas kiu mentoros lin eĉ antaŭ dungi. Ĉi tio ankaŭ estas granda ĝisdatigo por la mentoro mem: preparo por la rolo de teamgvidanto, testado pri la kapablo memori kaj sian propran taskon kaj la taskon de la praktikanto. Estas regulaj kunvenoj, kiujn mi foje iras al mi mem, por resti informita. Sed estas la mentoro, kiu sufiĉe regule komunikas kun la staĝanto. Li pasigas multe da tempo komence, sed ĝi pagas.

Tamen, havi mentoron ne signifas, ke ĉiuj problemoj kiuj ekestas estas solvitaj per li.

Miŝa:

Estas kutime por ni, ke homoj konfrontitaj kun problemo petas najbarojn kaj kolegojn konsilojn kaj rapide trovas helpon. Ju pli rapide homo kreskas, des pli ofte li bezonas iri al siaj kolegoj por lerni ion. Estas eĉ utile simple lerni pri la taskoj de aliaj homoj, por ke vi povu elpensi novajn. Kiam staĝanto povas atingi interkonsenton, kompreni kio estas grava por la alia flanko, kaj veni al rezultoj en teamo, li kreskos multe pli rapide ol iu por kiu la administranto devas fari ĉion ĉi.

Serioĵa:

Estas dokumentaro, sed la plej granda parto de la informoj perdiĝas en la aero. Se vi sorbas ĝin frue en via kariero, ĝi estas plia avantaĝo, kaj ni povas koncentri la personon pri tio, kion ili bezonas lerni.

La ideala staĝanto estas iu, kiu trejnas kelkajn monatojn, fariĝas juniora programisto, poste nur programisto, poste teamestro, ktp. Tio postulas arketipon de studento, kiu ne embarasas demandi ĉu io ne estas klara al li, sed kapablas ankaŭ memstara laboro. Se oni dirus al li, ke li povas legi pri ĝi ie, li irus, legus ĝin kaj efektive revenus kun novaj scio. Li povas fari erarojn, sed li ne faru erarojn pli ol unufoje, maksimume dufoje, en la sama loko. La ideala internulo devus disvolviĝi, sorbi ĉion kiel spongo, lerni kaj kreski. Tiu, kiu sidas kaj provas eltrovi ĉion memstare, pasigas longan tempon ĉirkaŭpaŝante kaj ne faras demandojn, verŝajne ne kutimiĝos.

Fino de staĝo

Antaŭ ol komenci laboron, ni subskribas fiksperiodan kontrakton kun ĉiu praktikanto. Kompreneble, la staĝo estas pagita, formaligita laŭ la Laborkodo de la Rusa Federacio, kaj la staĝanto havas la samajn avantaĝojn kiel ĉiu alia dungito de Yandex. Post tri monatoj, la programo finiĝas - tiam ni translokigas multajn el la staĝantoj al la kunlaborantaro (laŭ nedaŭra kontrakto).

Staĝo en IT: opinio de administranto

Unuflanke, gravas por la administranto, ke la programisto plenumas sian internan minimumon. Jen kie la praktikanto estas gvidita, komencante de la intervjuo. Tamen ĉi tio estas nur la komenco de la rakonto. Por ni, staĝanto ĉiam estas ebla kandidato por dungitaro. La minimuma programo por administranto estas identigi komence homon, kiu post tri monatoj ne hontos rekomendi al aliaj fakoj. La maksimuma programo estas konservi lin en la sama teamo, dungante lin kiel laborantarano. Samtempe ni konsideras, ke studento de dua aŭ tria jaro – eĉ se li fariĝis staĝanto – devos daŭrigi siajn studojn en universitato kun la komenco de la akademia jaro.

Serioĵa:

Antaŭ ĉio, praktikantoj por ni estas homresursa potencialo. Ni provas kreskigi homojn en Yandex por ke ili estu ideale taŭgaj por niaj taskoj. Ni donas al ili ĉion, de kulturo de komunikado kaj interago en teamoj ĝis enciklopedieca scio pri ĉiuj niaj sistemoj.

Ignat:

Kiam ni alprenas staĝanton, ni tuj provas lin aliĝi al nia teamo. Kaj kiel regulo, la sola obstaklo estas la manko de vakantaĵo. Ni provas dungi sufiĉe da junaj uloj kiel staĝantoj. Se homo havas kvin jarojn da disvolva sperto, li venas al Yandex kaj estas staĝanto ĉe la nivelo, tiam, ve, por ni ĉi tio signifas, ke kvankam li estas bonega ulo, ĉar li ricevas laboron ĉe Yandex kun kvin jaroj. sperto, li ne povos kreski al altranga programisto. Kutime temas pri rapideco: malrapida kresko en la pasinteco signifos malrapidan kreskon ĉi tie. Jes, foje la kompreno, ke homo ne estas al la tasko, venas nur post tri monatoj. Sed ĉi tio estas sufiĉe malofta. En pli ol duono de la kazoj, ni pretas dungi homojn en dungitaro. En mia memoro neniam estis situacio, kie persono sukcese plenumis staĝon, sed ne povis trapasi intervjuon por plentempa posteno.

Miŝa:

Ni ofertas ĉiujn sukcesajn staĝantojn por resti en la firmao. Post staĝo, ni kutime prenas pli ol duonon de ĝi por plentempe. Someraj staĝoj estas pli malfacilaj, ĉar ofte trijaraj studentoj venas al ni kaj estas malfacile por ili kombini laboron kaj studado.

Dima:

Ni diru, ke la staĝanto faras bonegan laboron kaj havas multajn perspektivojn por kreski al bona programisto - eĉ se li ne havas sufiĉe da sperto nun. Kaj supozu, ke ne estas vakantaĵo por nedaŭra kontrakto. Tiam ĉio estas simpla: mi devas iri al mia administranto kaj diri al li - ĉi tiu estas tre mojosa persono, ni devas tute konservi lin, ni ofertu al li ion, ni trovu lokon por loki lin.

Rakontoj pri staĝantoj

Denis:

La knabino, kiu ricevis staĝon ĉe ni en 2017, estis el Perm. Ĉi tio estas 400 kilometrojn de Jekaterinburg okcidente. Kaj ĉiusemajne ŝi venis al ni el Perm per trajno al la Lernejo de Poŝtelefona Disvolviĝo. Ŝi venis tage, studis vespere kaj revenis malfrue vespere. Estimante tian fervoron, ni invitis ŝin labori, kaj ĝi pagis.

Ignat:

Antaŭ kelkaj jaroj ni partoprenis en staĝa interŝanĝa programo. Estis interese labori kun eksterlandaj uloj. Sed la staĝantoj de tie ne estas pli fortaj ol, ekzemple, de ŜAD aŭ de la Fakultato de Komputado. Ŝajnus, ke EPFL estas en la plej bonaj 20 universitatoj en Eŭropo. En tiu momento, kiel ankoraŭ ne tre sperta intervjuanto, mi havis ĉi tiun atendon: nekredeble, ni intervjuas homojn de EPFL, ili estos super cool. Sed homoj, kiuj ricevis bazan edukon pri kodigo ĉi tie - inkluzive en ŝlosilaj regionaj universitatoj - montriĝas sufiĉe altaj.

Aŭ alia rakonto. Nun mi havas ulon en mia stabo, li estas tre juna, ĉirkaŭ 20-jara. Laboras en Peterburgo, venis por staĝo. Li estas tre mojosa. Vi, kiel kutime, donas al homo problemojn, li solvas ilin, kaj monaton poste li venas kaj diras: Mi solvis ilin, mi rigardas, kaj ŝajnas, ke via arkitekturo estas malbone konstruita. Ni refaru ĝin. La kodo fariĝos pli simpla kaj klara. Mi, kompreneble, deadmonis lin: la kvanto de laboro estas granda, ne estas profito por uzantoj, sed la ideo sonas absolute racia. La persono eltrovis kompleksan multfadenan procezon kaj sugestis plibonigojn - eble malkonvenajn, refactoring por refactoring. Sed tuj kiam vi volas kompliki ĉi tiun kodon, vi ankoraŭ povas fari ĉi tiun refaktorigon. Fakte, pluraj monatoj pasis kaj ni prenis ĉi tiun taskon. Mi volonte dungis lin. Ni ĉiuj ne estas geniuloj. Vi povas veni, eltrovi ion kaj montri niajn problemojn. Ĉi tio estas aprezita.

Miŝa:

Ni havas tiajn idealajn staĝantojn. Malgraŭ ilia manko de sperto, ili vidas la taskon ne nur sur teknika, sed ankaŭ sur tutmonda nivelo. Ili ofertas fundamentajn plibonigojn. Ili havas komprenon pri kiel traduki problemojn de la reala mondo al la teknika mondo sen perdi sian signifon. Ili scivolas, kio estas la fina celo, ĉu indas nun fosi detalojn aŭ ĉu ili povas tute ŝanĝi la aliron al la tasko aŭ eĉ la formulon de la problemo. Ĉi tio signifas, ke ili havas la potencialon esti pluraj niveloj pli altaj. Por iri ĉi tiun vojon, ili nur bezonas ĝisdatigi iujn kapablojn kaj internajn ilojn. Plie lanĉu plurajn sukcesajn projektojn.

Staĝo en IT: opinio de administranto

fonto: www.habr.com

Aldoni komenton