Stažiranje u IT-u: pogled menadžera

Stažiranje u IT-u: pogled menadžera

Regrutacija za letnju praksu u Yandexu se nastavlja. Ide u pet smjerova: backend, ML, mobilni razvoj, frontend i analitika. Na ovom blogu, na drugim blogovima na Habré-u i šire, možete pronaći mnogo uvida o tome kako praksa funkcionira. Ali mnogo toga u ovom procesu ostaje misterija za one koji ne rade u kompaniji. A ako pogledate iz ugla razvojnih menadžera, postavlja se još više pitanja. Kako pravilno obaviti praksu, kako maksimizirati obostranu korisnost sa pripravnikom, kako ga upoznati za tri mjeseca i naučiti ga svemu što mu je potrebno za nastavak rada?

Nas petoro je pripremilo ovaj članak. Predstavimo se: Ignat Kolesnichenko iz servisa distribuirane računarske tehnologije, Misha Levin iz Market Machine Intelligence Service, Denis Malykh iz službe za razvoj aplikacija, Seryozha Berezhnoy iz odjela za razvoj interfejsa za pretraživanje i Dima Cherkasov iz grupe za razvoj borbe protiv prevara. Svako od nas predstavlja svoju oblast prakse. Svi smo mi menadžeri, potrebni su nam pripravnici i imamo određeno iskustvo u radu sa njima. Recimo vam nešto iz ovog iskustva.

Intervju prije pripravničkog staža

Kandidate čeka nekoliko tehničkih intervjua. Uspjeh na intervjuu manje ovisi o mekim vještinama (sposobnosti efikasne komunikacije), a više o tvrdim vještinama (vještinama iz matematike i programiranja). Međutim, menadžeri ocjenjuju i jedno i drugo.

Ignat:

Čak i ako je osoba vrlo cool, ali apsolutno nekomunikativna, neće moći primijeniti sve svoje vještine. Naravno, na to obraćamo pažnju, ali to nije razlog da nekoga ne uzmemo na praksu. Za tri mjeseca sve se može promijeniti, a osim toga, vaš prvi utisak može se pokazati pogrešnim. A ako je sve ispravno, moraćete da objasnite osobi, potražite druge komande. Za pripravnike, komunikacijske vještine definitivno nisu ključni faktor. Ipak, profesionalne vještine su mnogo važnije.

Denis:

Volim ljude koji pričaju priče - na dobar način. Zanimljiva je osoba koja može ispričati kako su se on i njegova ekipa herojski nosili sa nekim fakapom. Počinjem da postavljam dodatna pitanja kada se pojavi ovakva priča. Ali to se rijetko događa ako jednostavno zamolite “da ispričate nešto zanimljivo u vašim projektima”.

Jedan kandidat je jednom rekao divnu frazu, koju sam čak zapisao: „Uspješno sam izbjegao rješavanje zamornih problema.“

Stažiranje u IT-u: pogled menadžera

Budući da je malo vremena za komunikaciju, anketar pokušava da dobije korisne informacije o kandidatu svakog minuta sastanka. Sjajno je ako pripravnik unaprijed shvati koje detalje svog iskustva (ne iz svog životopisa) može podijeliti. Ovo bi trebala biti kratka priča striktno do tačke.

Denis:

Obratim pažnju ako osoba kaže da je isprobala mnoge jezike i pristupe. Ljudi šireg pogleda dolaze do elegantnijih rješenja u borbenom načinu rada. Ali ovo je dvosmislen plus. Možete se naviknuti na to, ali ne naučite ništa.

Vrijeme za priče koje opisuje Denis obično ostaje tek na završnom intervjuu. Do tada je potrebno demonstrirati osnovna i praktična znanja koja će činiti osnovu budućeg rada. I, naravno, morat ćete napisati kod na ploči ili na komadu papira.

Misha:

Provjeravamo poznavanje teorije vjerovatnoće i matematičke statistike. Gledamo da li osoba ima iskustva u radu sa metrikom, sa algoritmima mašinskog učenja, sa postavljanjem njihovih parametara, sa preobukom itd. Očekujemo da osoba može da napiše kod dovoljno da bude analitičar.

Denis:

Oni koji dolaze na razgovor uglavnom znaju jezike: u Jekaterinburgu imamo dobru školu osnovnih jezika, dobre institute. Ali da budem iskren, kandidat za stažiranje s dobrim čvrstim vještinama rijedak je slučaj, barem u našem susjedstvu ipsilona. Na primjer, Swift. To uključuje vrlo složen rad sa žicama, i malo je ljudi koji mogu raditi s njima iz glave. Oko odmah privuče vašu pažnju. Tokom intervjua često dajem zadatak koji se odnosi na obradu stringova. I za sve ovo vreme postojala je samo jedna osoba koja je mogla da napiše takav Swift kod odmah, na komadu papira. Nakon toga sam išao okolo govoreći svima da je neko konačno uspio riješiti ovaj problem u Swiftu na komadu papira.

Testiranje algoritama tokom intervjua

Ovo je posebna tema jer kandidati i dalje imaju pitanje - zašto uvijek procjenjujemo poznavanje algoritama i struktura podataka? Čak se i budući mobilni programeri i front-end programeri podvrgavaju takvom testiranju.

Misha:

Tokom intervjua sigurno ćemo dati neku vrstu algoritamskog problema. Kandidat treba da smisli kako to implementirati u Python-u, po mogućnosti bez grešaka. Morate razumjeti kako provjeriti svoj program i sami ga ispraviti.

Stažiranje u IT-u: pogled menadžera

Iskustvo u algoritmima je korisno iz tri razloga. Prvo, očigledno će biti potreban u algoritamskim zadacima – koji se ne dešavaju često, ali se dešavaju. Drugo, programer će moći efikasnije rješavati probleme vezane za algoritme, čak i ako ne zahtijevaju udubljivanje u same algoritme (a već ih ima dosta). Treće, ako vas algoritme nisu učili na fakultetu, ali i dalje znate kako raditi s njima, onda vas to karakterizira kao radoznalu osobu i povećat će vaš autoritet u očima ispitanika.

Denis:

Veliki dio mobilnog razvoja je premještanje JSON-a. Ali jednom u šest mjeseci postoje slučajevi kada su potrebni algoritmi. Trenutno crtam prekrasne karte za Yandex.Weather. I za nedelju dana morao sam da implementiram algoritam za izglađivanje, Sutherland-Hodgman algoritam i Martinez algoritam. Da osoba ne zna šta je hashmap ili prioritetni red čekanja, dugo bi se zaglavio s njim i bilo bi nejasno da li bi to uspio ili ne bez vanjske pomoći.

Algoritmi su osnova razvoja. To je ono što pomaže programeru da bude programer. Nije bitno šta radiš. Oni su takođe potrebni u jednostavnim projektima, gde se glavni posao sastoji od “prevođenja JSON-a”. Čak i ako ne pišete same algoritme, već implicitno koristite neke strukture podataka, bolje ih je razumjeti. U suprotnom ćete završiti s aplikacijama koje su spore ili neispravne.

Postoje programeri koji su ušli u akademski razvoj: ušli su na fakultet, studirali pet godina i dobili specijalnost. Oni znaju algoritme jer su ih učili. A onda samo poznavanje algoritama ni na koji način ne karakteriše nečije horizonte;

A ima i samoukih ljudi, u koje se i ja ubrajam. Da, formalno imam IT obrazovanje, diplomu softverskog inženjera. Ali samouki ljudi naučili su programirati „uprkos tome“. Nisu imali univerzitetski program. Obično nisu upoznati sa algoritmima - jer se nikada nisu suočili sa potrebom da ih proučavaju. A kada takva osoba razumije algoritme, to znači da je provela vrijeme i razumjela ih. Nakon što sam završio fakultet, shvatio sam da imam slijepe tačke u pogledu osnovnih algoritama – činjenica je da je moja specijalnost primijenjena. Otišao sam i studirao onlajn kurseve na Univerzitetu Princeton, dobro poznati Robert Sedgwick. Shvatio sam to i uradio sve svoje domaće zadatke. I kada neko na intervjuu ispriča sličnu priču, odmah se zainteresujem, imam želju da radim sa njim ili bar nastavim razgovor.

Stažiranje u IT-u: pogled menadžera

Ignat:

Kada intervjuišete pripravnika, na neki način očekujete čak i više nego od iskusnog programera. Govorimo o sposobnosti rješavanja algoritamskih problema, brzog pisanja barem nekog ispravnog koda. Kandidat za pripravnički staž je još na fakultetu. Prije samo godinu dana mu je rečeno sve o algoritmima do detalja. Očekuje se da ih on može reprodukovati. Ako je čovjek adekvatan i pažljivo sluša predavanja, jednostavno će sve znati, izvući iz keša.

Koje zadatke rješava pripravnik?

Tipično, program stažiranja može biti skiciran i raspravljen tokom završnih intervjua. Tek na samom početku rada pripravniku se mogu dodijeliti zadaci obuke čiji se rezultati neće koristiti u proizvodnji. Štaviše, vjerovatnoća primanja takvih zadataka je mala. Najčešće se borbeni projekti daju iz zaostatka, odnosno oni koji su prepoznati kao vrijedni pažnje, ali ne i prioritetni i „odvojivi“ - tako da ostale komponente ne ovise o njihovoj implementaciji. Menadžeri se trude da ih distribuiraju tako da polaznik upozna različite dijelove usluge i radi u istom okruženju sa ostalim članovima tima.

Ignat:

Ovo su izuzetno korisni zadaci. Možda neće povećati iskorišćenost klastera za 10% ili uštedeti kompaniji milion dolara, ali će usrećiti stotine ljudi. Na primjer, trenutno imamo pripravnika koji radi s našim klijentom kako bi vodio operacije na našim klasterima. Prije početka, operacija mora učitati neke podatke u klaster. To obično traje 20-40 sekundi, a prije nego što se dogodilo tiho: pokrenuli ste ga u konzoli i sjedili tamo, gledajući u crni ekran. Pripravnik je došao i napravio funkciju za dvije sedmice: sada možete vidjeti kako se fajlovi postavljaju i šta se dešava. Zadatak, s jedne strane, nije teško opisati, ali s druge strane, ima se u čemu kopati, koje biblioteke pogledati. Najbolje je to što ste to uradili, prošla je sedmica, pokazalo se da je na klasterima, ljudi to već koriste. Kada napišete post na internoj mreži, oni kažu hvala.

Stažiranje u IT-u: pogled menadžera

Misha:

Polaznici pripremaju modele, prikupljaju podatke za njih, smišljaju metriku i provode eksperimente. Postepeno, jednostavno mu počinjemo davati više slobode i odgovornosti – provjeravamo može li to podnijeti. Ako jeste, prelazi na sljedeći nivo. Ne pretpostavljamo da, kada dođe pripravnik, oni znaju kako sve to učiniti. Menadžer mu pomaže da to shvati, daje mu vezu do internog resursa ili online kursa.

Ako se pripravnik pokaže kao najbolji, može mu se dati nešto od prioriteta, važno za odjel ili druge službe.

Dima:

Naš pripravnik sada radi hardcore modifikacije u antifraud. Ovo je sistem koji se bori protiv širokog spektra zloupotreba i prijevara na Yandex servisima. U početku smo mislili da damo stvari koje nisu mnogo složene i koje nisu od velike važnosti za proizvodnju. Pokušavamo unaprijed da promislimo o zadacima pripravnika, ali onda smo vidjeli da je osoba “zapaljena” i brzo i kvalitetno rješava probleme. Kao rezultat toga, počeli smo mu povjeravati pokretanje borbe protiv prijevara za nove usluge.

Osim toga, mala je šansa da dobijete zadatak kojem kolege ranije nisu pristupili zbog njegovog obima.

Dima:

Postoji jedan stari sistem, a postoji i novi, koji još nije završen. Potrebno je preći s jednog na drugi. U budućnosti, ovo je važan projekat, iako sa velikom nesigurnošću: morate puno komunicirati, čitati nerazumljiv naslijeđeni kod. Na završnom intervjuu smo stažistu iskreno rekli da je zadatak bio težak. Odgovorio je da je spreman, došao u naš tim i sve mu je pošlo za rukom. Ispostavilo se da ima kvalitete ne samo programera, već i menadžera. Bio je spreman da šeta okolo, sazna, pinguje.

Mentorstvo pripravnika

Pripravniku je potreban mentor da bi se uronio u procese. To je osoba koja je svjesna ne samo svojih zadataka, već i zadataka pripravnika. Uspostavljena je redovna komunikacija sa mentorom, uvijek mu se možete obratiti za savjet. Mentor može biti ili vođa grupe (ako je u pitanju mala grupa) ili neko od kolega, redovnih članova tima.

Ignat:

Trudim se da dođem barem svaki drugi dan i pitam kako je pripravnik. Ako vidim da sam zapeo, pokušavam da mu pomognem, pitam ga u čemu je problem i iskopam ga s njim. Jasno je da mi to oduzima energiju i čini rad stažista ne tako integralno efikasnim – gubim i vrijeme. Ali to mu omogućava da se ni u čemu ne zaglavi i dobije rezultate. I dalje je brže nego da sam to uradio sam. I meni treba oko 5 sati za zadatak. Stažista će to uraditi za 5 dana. I da, potrošit ću 2 sata tokom ovih 5 dana da razgovaram sa stažistom i pomognem. Ali uštedjet ću barem 3 sata, a pripravnik će biti zadovoljan što je dobio savjet i pomoć. Općenito, samo trebate blisko komunicirati, paziti šta osoba radi i ne gubiti kontakt.

Stažiranje u IT-u: pogled menadžera

Serjoža:

Polaznik je stalno u kontaktu sa svojim mentorom i komunicira s njim nekoliko puta dnevno. Mentor pregleda kod, uparuje programiranje sa pripravnikom i pomaže kada se pojave bilo kakva problematična područja. Na taj način, kombinirajući pomoć mentora i stvarne borbene zadatke, obučavamo front-end programere.

Dima:

Kako bismo spriječili da pripravnik bude napušten, razgovaramo o tome ko će mu biti mentor i prije zapošljavanja. Ovo je i velika nadogradnja za samog mentora: priprema za ulogu vođe tima, testiranje sposobnosti da ima na umu i svoj zadatak i zadatak polaznika. Postoje redovni sastanci, na koje ponekad odem i sama, da se informišem. Ali mentor je taj koji prilično redovno komunicira sa pripravnikom. U početku provodi dosta vremena, ali se isplati.

Međutim, imati mentora ne znači da se sva pitanja koja se pojave rješavaju preko njega.

Misha:

Kod nas je uobičajeno da ljudi koji se suoče sa problemom pitaju komšije i kolege za savet i brzo pronađu pomoć. Što osoba brže raste, češće treba da ide kod svojih kolega da nešto nauči. Čak je korisno i jednostavno naučiti o zadacima drugih ljudi kako biste mogli smisliti nove. Kada pripravnik bude u stanju da se dogovori, shvati šta je važno drugoj strani i dođe do rezultata u timu, on će rasti mnogo brže od nekoga za koga menadžer sve to mora da radi.

Serjoža:

Dokumentacija postoji, ali većina informacija se gubi u zraku. Ako ga usvojite na početku karijere, to je dodatna prednost, a mi možemo fokusirati osobu na ono što treba da nauči.

Idealan pripravnik je neko ko trenira nekoliko meseci, postane junior developer, pa samo programer, pa vođa tima itd. Za to je potreban arhetip studenta koji se ne stidi pitati ako mu nešto nije jasno, ali sposoban je i za samostalan rad. Kad bi mu rekli da može negdje pročitati o tome, otišao bi, pročitao i zapravo se vratio s novim saznanjima. Može i pogriješiti, ali ne smije pogriješiti više od jednom, maksimalno dva puta, na istom mjestu. Idealan pripravnik treba da se razvija, upija sve kao sunđer, uči i raste. Onaj ko sjedi i pokušava sve sam shvatiti, dugo čačkati i ne postavlja nikakva pitanja, teško da će se naviknuti.

Kraj pripravničkog staža

Prije početka rada sa svakim pripravnikom potpisujemo ugovor na određeno vrijeme. Naravno, staž se plaća, formaliziran je u skladu sa Zakonom o radu Ruske Federacije, a pripravnik ima iste pogodnosti kao i svaki drugi zaposlenik Yandexa. Nakon tri mjeseca program se završava - tada mnoge pripravnike prebacujemo u osoblje (na neodređeno vrijeme).

Stažiranje u IT-u: pogled menadžera

S jedne strane, menadžeru je važno da programer ispuni svoj pripravnički minimum. Ovo je mjesto gdje se pripravnik vodi, počevši od intervjua. Međutim, ovo je tek početak priče. Za nas je pripravnik uvijek potencijalni kandidat za kadrove. Minimalni program za menadžera je da na samom početku identifikuje osobu koju nakon tri mjeseca neće biti sramota da preporuči drugim odjelima. Maksimalni program je da ga zadržimo u istom timu, angažujući ga kao člana osoblja. Istovremeno, uzimamo u obzir da će student druge ili treće godine - čak i ako je postao pripravnik - morati da nastavi studije na univerzitetu sa početkom akademske godine.

Serjoža:

Prije svega, pripravnici su za nas potencijal ljudskih resursa. Pokušavamo razviti ljude unutar Yandexa tako da oni savršeno odgovaraju našim zadacima. Dajemo im sve, od kulture komunikacije i interakcije u timovima do enciklopedijskog znanja o svim našim sistemima.

Ignat:

Kada uzmemo pripravnika, odmah ga isprobamo da se pridruži našem timu. I po pravilu, jedina prepreka je nedostatak slobodnog mjesta. Trudimo se da zaposlimo dovoljno mladih momaka kao pripravnike. Ako osoba ima pet godina iskustva u razvoju, dođe u Yandex i bude pripravnik na nivou, onda, avaj, za nas to znači da iako je odličan momak, pošto se zaposli u Yandexu sa pet godina iskustvo, neće moći da preraste u starijeg programera. Obično se radi o brzini: spor rast u prošlosti će ovdje značiti spor rast. Da, ponekad tek nakon tri mjeseca dolazi do razumijevanja da osoba nije dorasla zadatku. Ali ovo je prilično rijetko. U više od polovine slučajeva spremni smo da zaposlimo ljude. U mom sjećanju nikada se nije dogodila situacija da je osoba uspješno završila pripravnički staž, a da nije mogla proći intervju za stalno radno mjesto.

Misha:

Svim uspješnim pripravnicima nudimo ostanak u kompaniji. Nakon stažiranja, obično preuzimamo više od polovine za puno radno vrijeme. Ljetne prakse su teže jer nam često dolaze studenti treće godine i teško im je spojiti posao i učenje.

Dima:

Recimo da pripravnik radi odličan posao i ima mnogo izgleda da izraste u dobrog programera - čak i ako trenutno nema dovoljno iskustva. I pretpostavimo da nema slobodnog mjesta za ugovor na neodređeno vrijeme. Onda je sve jednostavno: moram da odem do svog menadžera i da mu kažem - ovo je jako kul osoba, moramo ga svakako zadržati, hajde da mu ponudimo nešto, da nađemo mesto da ga smestimo.

Priče o stažistima

Denis:

Devojka koja je kod nas bila na praksi 2017. godine bila je iz Perma. Ovo je 400 kilometara od Jekaterinburga na zapad. I svake nedelje dolazila je k nama iz Perma vozom u Školu za mobilni razvoj. Dolazila je danju, učila uveče, a vraćala se kasno uveče. Cijeneći takav žar, pozvali smo je na posao i to se isplatilo.

Ignat:

Prije nekoliko godina učestvovali smo u programu razmjene pripravnika. Bilo je zanimljivo raditi sa stranim momcima. Ali tamošnji pripravnici nisu jači od, na primer, iz ŠAD-a ili sa Fakulteta računarskih nauka. Čini se da je EPFL među 20 najboljih univerziteta u Evropi. U tom trenutku, kao još uvijek ne baš iskusan anketar, imao sam ovo očekivanje: nevjerovatno, intervjuiramo ljude iz EPFL-a, oni će biti super cool. Ali ljudi koji su ovdje stekli osnovno obrazovanje o kodiranju - uključujući i ključne regionalne univerzitete - ispostavilo se da su sasvim na nivou.

Ili druga priča. Sada imam momka u svom osoblju, veoma je mlad, ima oko 20 godina. Radi u Sankt Peterburgu, došao na praksu. On je veoma kul. Ti, kao i obično, zadaješ čoveku probleme, on ih rešava, a on posle mesec dana dođe i kaže: Rešio sam ih, pogledam i izgleda da ti je arhitektura loše izgrađena. Hajde da to ponovimo. Kod će postati jednostavniji i jasniji. Ja sam ga, naravno, razuvjerio: obim posla je velik, nema profita za korisnike, ali ideja zvuči apsolutno razumno. Osoba je shvatila složen proces sa više niti i predložila poboljšanja - možda neblagovremena, refaktorisanje radi prepravljanja. Ali čim poželite da zakomplikujete ovaj kod, još uvek možete da uradite ovo refaktorisanje. U stvari, prošlo je nekoliko mjeseci i mi smo prihvatili ovaj zadatak. Rado sam ga zaposlio. Nismo svi geniji. Možete doći, smisliti nešto i ukazati na naše probleme. Ovo se cijeni.

Misha:

Imamo tako idealne pripravnike. Uprkos nedostatku iskustva, oni zadatak vide ne samo na tehničkom, već i na globalnom nivou. Nude fundamentalna poboljšanja. Oni razumiju kako prevesti probleme iz stvarnog svijeta u tehnički svijet bez gubitka njihovog značenja. Pitaju se koji je konačni cilj, isplati li se sada kopati u detalje ili mogu u potpunosti promijeniti pristup zadatku ili čak i formulaciju problema. To znači da imaju potencijal da budu nekoliko nivoa više. Da bi krenuli ovim putem, samo trebaju nadograditi neke vještine i interne alate. Plus pokrenuti nekoliko uspješnih projekata.

Stažiranje u IT-u: pogled menadžera

izvor: www.habr.com

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster