Zapošljavanje IT stručnjaka nije lak zadatak. Prvo, trenutno na tržištu postoji manjak iskusnih radnika, što oni dobro znaju. Kandidati često nisu spremni trošiti puno vremena na "selekcijske aktivnosti" poslodavca ako ih prethodno ne zainteresiraju. Ranije popularna praksa "dajmo test od 8+ sati" sada više ne funkcionira. Za prvu procjenu znanja i eliminaciju kandidata prije provođenja opsežnog tehničkog intervjua potrebno je koristiti druge, brže metode. Drugo, za kvalitetnu procjenu znanja i vještina, potrebno je i sam imati takve vještine ili privući kolegu koji ih ima. Ove poteškoće mogu se riješiti pomoću metoda o kojima ću govoriti u ovom članku. Ove metode i sam primjenjujem i napravio sam svojevrsni rejting.
Dakle, moj top 7 načina brzog provjeravanja kompetencija IT stručnjaka prije intervjua:
7. Istražiti portfelj, primjere koda, javne repozitorije kandidata.
6. Kratki testni zadatak na vrijeme (izvršava se za 30-60 minuta).
5. Kratki ekspres-intervju o vještinama putem telefona/Skype-a (poput upitnika, samo online i glasom).
4. Live-Doing (kodiranje) – rješavanje jednostavnog zadatka u stvarnom vremenu s dijeljenjem ekrana.
3. Upitnici s otvorenim pitanjima o iskustvu.
2. Kratki testovi s višestrukim izborom, vremenski ograničeni.
1. Višestepeni testni zadatak, prvi korak se obavlja prije intervjua.
Dalje ću detaljno razmotriti ove metode, njihove prednosti i nedostatke te situacije u kojima koristim određenu metodu brzog provjeravanja kompetencija programera.

U prethodnom članku o procesu zapošljavanja proveo sam anketu među čitateljima o metodama brzog provjeravanja vještina IT stručnjaka. U ovom članku govorim o metodama koje mi se osobno sviđaju, zašto mi se sviđaju i kako ih primjenjujem. Počinjem s prvim mjestom i završavam s sedmim.
1. Višestepeni testni zadatak, prvi korak se obavlja prije intervjua.
Smatrim da je ovaj način provjere stručnosti programera najbolji. Za razliku od tradicionalnog testnog zadatka, kada kažete 'uzmi zadatak i idi raditi', moj pristup razbija proces izvršenja testnog zadatka na faze – rasprava i razumijevanje zadatka, projektiranje rješenja i procjena potrebnih resursa, nekoliko faza implementacije rješenja, dokumentacija i predaja prihvaćanje rješenja. Ovaj pristup bliži je suvremenoj tehnologiji razvoja softvera nego jednostavno 'uzmi i napravi'. Detalji slijede.
U kojim slučajevima koristim ovaj pristup
Za svoje projekte obično zapošljavam udaljene radnike koji razvijaju određeni, odvojeni i relativno neovisni dio projekta. To smanjuje potrebu za komunikacijom među zaposlenicima, često do nule. Zaposlenici komuniciraju ne jedni s drugima, već s vođom projekta. Stoga mi je važno odmah procijeniti sposobnosti osobe da brzo shvati zadatak, postavi pojašnjavajuća pitanja, samostalno izradi plan djelovanja za rješavanje zadatka, procijeni potrebne resurse i vrijeme. Tu mi dobro pomaže višestepeni testni zadatak.
Kako realizirati
Izrađujemo i formuliramo samostalan i originalan zadatak povezan s projektom na kojem će raditi programer. Obično opisujem kao zadatak pojednostavljeni prototip glavnog zadatka ili budućeg proizvoda, za čiju će implementaciju programer morati suočiti s osnovnim problemima i tehnologijama projekta.
Prva faza testnog zadatka je upoznavanje sa zadatkom, razjašnjavanje nejasnog, projektiranje rješenja, planiranje koraka potrebnih za rješavanje zadatka i procjena vremena potrebno za izvršenje pojedinih koraka i ukupnog testnog zadatka. Na izlazu očekujem dokument od 1-2 stranice, gdje je opisan plan djelovanja programera i procjena vremena. Također tražim od kandidata da navedu koji od koraka bi željeli potpuno realizirati za potvrdu svojih vještina u praksi. Programiranje za sada nije potrebno.
Ova zadaća (ista) se dodjeljuje nekoliko kandidata. Očekuje se da će odgovori od kandidata pristizati sljedeći dan. Nakon toga, za 2-3 dana, kada su svi odgovori prikupljeni, analiziramo što su nam kandidati poslali i koje su dodatne pitanja postavljali prije nego što su započeli s izvršenjem zadatka. Na temelju tih informacija možemo pozvati na sljedeću fazu bilo koji broj kandidata koji vam je potreban.
Sljedeća faza je kratki intervju. Već imamo o čemu razgovarati. Kandidat već otprilike ima predstavu o predmetnom području projekta na kojem će raditi. Glavni zadatak ovog intervjua je odgovoriti na tehnička pitanja kandidata i motivirati ga za izvršenje glavnog testnog zadatka - programiranje onog dijela zadatka koji je sam odabrao. Ili onog dijela čiju realizaciju želite vidjeti vi.
Uvijek je vrlo zanimljivo promatrati koji dio zadatka programer želi realizirati. Neki preferiraju razvijati strukturu projekta, dekomponirati rješenje na module i klase, tj. kreću od vrha prema dolje. Neki izdvaja pojedinačnu podzadatak, najvažniju prema njihovom mišljenju, ne opisujući cjelokupno rješenje. To jest, idu od dna prema gore - od najteže podzadatka do cjelovitog rješenja.
Prednosti
Možemo vidjeti erudiciju kandidata, primjenjivost njegovog znanja na naš projekt i razvijenost komunikacijskih vještina. Također nam je lako usporediti kandidate međusobno. Obično odbacujem one kandidate koji su dali previše optimistične i previše pesimistične procjene vremena izvršenja zadatka. Naravno, imam vlastitu procjenu vremena. Mala procjena kandidata najvjerojatnije ukazuje na to da osoba nije dovoljno razumjela zadatak i da je izvršila test površno. Prevelika procjena vremena obično ukazuje na to da kandidat slabo razumije predmetnu područje, nema iskustva u potrebnim temama. Ne odbacujem kandidate odmah na temelju njihove procjene, već ih tražim da obrazlože svoju procjenu, ako procjena već nije bila dovoljno obrazložena.
Nekome se možda čini da je ovaj način složen i skup. Moja procjena трудоёмкости primjene ovog načina je sljedeća – potrebno je 30-60 minuta za opisivanje probnog zadatka i zatim 15-20 minuta za provjeru odgovora svakog kandidata. Kandidati obično izvršavaju takav probni zadatak u roku od 1-2 sata, pritom se upuštajući u suštinu zadataka koje će kasnije rješavati. Već u ovoj fazi kandidat može izgubiti interes, te se povući iz komunikacije s vama, potrošivši malo vremena.
Nedostaci
Prvo, potrebno je smisliti originalan, izoliran i sažet probni zadatak, što nije uvijek moguće. Drugo, nisu svi kandidati odmah svjesni da u prvom koraku nije potrebno programirati. Neki odmah krenu s programiranjem i nestaju na nekoliko dana, a zatim šalju potpuno dovršen probni zadatak. Formalno, nisu se snašli u ovom probnom zadatku jer nisu uradili ono što se od njih tražilo. Ali istovremeno su se snašli, ako su poslali adekvatno rješenje cijelog probnog zadatka. Da bih isključio takve situacije, obično nazovem sve kandidate koji su dobili zadatak, dva dana nakon što je zadatak dodijeljen, i pitam ih kako napreduju.
2. Kratki testovi s odgovorima, ograničeni vremenom izvršenja
Rijetko koristim ovaj način, iako mi se jako sviđa, a smatram ga jednim od najboljih načina brze provjere kompetencija. O ovom ću načinu napisati poseban članak u skoroj budućnosti. Ovi testovi se široko primjenjuju u različitim područjima znanja. Najistaknutiji i tipični primjer je teorijski ispit za dobivanje vozačke dozvole. U Rusiji ovaj ispit sadrži 20 pitanja na koje je potrebno odgovoriti unutar 20 minuta. Dozvoljena je jedna greška. Uz dvije greške, potrebno je bez greške odgovoriti na 10 dodatnih pitanja. Ovaj način se odlično automatizira.
Nažalost, nisam naišao na dobre izvedbe sličnih testova za programere. Ako znate dobre gotove izvedbe sličnih testova za programere, molim vas da to napišete u komentarima.
Kako realizirati
Radio sam s samostalnim provedbama sličnih testova od strane poslodavaca prilikom izvršavanja narudžbi kao regruter-outsourcer. Moguće je provesti takav test. Na primjer, koristeći Google Forms. Glavni problem leži u sastavljanju pitanja i odgovora. Obično poslodavcima ideja dođe do 10 pitanja. Nažalost, u Google Forms nije moguće implementirati rotaciju pitanja iz skupa i vremenska ograničenja. Ako znate dobar online alat za kreiranje vlastitih testova, gdje se može ograničiti vrijeme polaganja i organizirati odabir različitih pitanja za različite kandidate, molim vas napišite takve usluge u komentarima.
U kojim slučajevima koristim ovaj pristup
Trenutno koristim ovaj način po zahtjevu poslodavaca, ako imaju već gotove testove koje mogu dati kandidatima. Također, moguće je kombinirati slične testove s četvrtim načinom iz mog poretka – tražimo od kandidata da dijeli svoj ekran i prolazi test. Prilikom toga možete raspraviti s njim pitanja i opcije odgovora.
Prednosti
Uz dobru realizaciju, ovaj način je autonoman. Kandidat može odabrati vrijeme koje mu odgovara za polaganje testa i ne morate trošiti puno vlastitog vremena.
Nedostaci
Kvalitetna implementacija ovog načina prilično je skupa i to nije baš pogodno za malu tvrtku koja povremeno zapošljava nove radnike.
3. Upitnici s otvorenim pitanjima o iskustvu
To su setovi otvorenih pitanja koja kandidatima omogućuju da razmišljaju na temelju vlastitog iskustva. Pri tome ne nudimo opcije odgovora. Otvorena pitanja su ona na koja se ne može jednostavno i jednoznačno odgovoriti. Na primjer, prisjetite se najtežeg zadatka koji ste riješili pomoću nekog okvira? Koja je bila osnovna teškoća za vas? Na takva pitanja se ne može odgovoriti jednostavno. Točnije, jedini jednostavni odgovor je – nemam takvo iskustvo, nisam radio s ovim alatom.
Kako realizirati
Lako se realizira pomoću Google Forms. Glavno je smisliti pitanja. Koristim nekoliko standardnih konstrukcija.
Ispričajte mi o posljednjem projektu koji ste radili s XXX, što vam je bilo najteže u tom projektu?
Koje su glavne prednosti tehnologije XXX za vas, navedite primjere iz vlastitog iskustva?
Birajući tehnologiju XXX, koje ste druge alternative razmatrali i zašto ste odabrali baš XXX?U kojim situacijama biste odabrali tehnologiju AAA umjesto BBB?
Ispričajte o najizazovnijem zadatku koji ste riješili pomoću XXX. U čemu se sastojala glavna složenost?
Prema tome, ove konstrukcije mogu se primijeniti na mnoge tehnologije iz vašeg radnog stoga. Na takva pitanja nije lako odgovoriti šablonskim frazama s interneta, budući da su osobna i vezana uz osobno iskustvo. Odgovarajući na ova pitanja, kandidat obično ima na umu da svaki njegov odgovor na razgovoru može dobiti daljnji razvoj u obliku dodatnih pitanja. Stoga, ako nema iskustva, kandidati se često povlače, shvaćajući da bi daljnji razgovor mogao biti besmislen.
U kojim slučajevima koristim ovaj pristup
Kada radim s narudžbama za pronalaženje stručnjaka, ako naručitelj nije ponudio svoj način primarne provjere kompetencija, primjenjujem ovaj način. Već imam pripremljene upitnike na nekoliko tema i nije mi teško primijeniti ovu metodu za novog naručitelja.
Prednosti
Nije teško realizirati uz pomoć Google Forms. Uz to, novi upitnik može se napraviti na temelju prethodnog, zamjenjujući nazive tehnologija i alata s drugim. Na primjer, upitnik o iskustvu s Reactom malo će se razlikovati od upitnika o iskustvu s Angularom.
Pripremanje takvog upitnika traje 15-20 minuta, a kandidati obično potroše 15-30 minuta na odgovore. Troškovi vremena su mali, ali dobivamo informacije o osobnom iskustvu kandidata, na temelju kojih možemo svako intervju učiniti jedinstvenim i zanimljivijim. Obično, trajanje intervjua nakon takvog upitnika je manje, jer ne moramo postavljati jednostavna, slična pitanja.
Nedostaci
Da biste razlikovali vlastiti odgovor kandidata od onog "nagupljenog", treba se razumjeti u temu. No, to brzo dolazi s iskustvom. Nakon pregleda 10-20 odgovora, naučit ćete razlikovati vlastite originalne odgovore kandidata od onih pronađenih na mreži.
4. Live-Doing (Kodiranje) – rješavamo jednostavan zadatak u stvarnom vremenu s dijeljenim ekranom
Svrha ove metode je da se kandidata zatraži da reši jednostavan zadatak i da se posmatra proces. Kandidat može koristiti sve što želi, bez ograničenja pri pretrazi informacija na mreži. Kandidat može doživeti stres zbog toga što ga drugi posmatraju dok radi. Ne pristaju svi kandidati na ovakav oblik procene svojih veština. Međutim, s druge strane, ova metoda omogućava da se vidi koje znanje kandidat ima u glavi, što može iskoristiti čak i u stresnoj situaciji i kakve informacije će potražiti na pretraživaču. Praktično odmah se može uočiti nivo kandidata. Početnici koriste najosnovnije, čak i primitivne mogućnosti jezika, često počinju da implementiraju funkcionalnost osnovnih biblioteka ručno. Iskusniji kandidati dobro se snalaze u osnovnim klasama, metodama i funkcijama i mogu brzo rešiti jednostavan zadatak – 2-3 puta brže od početnika, koristeći funkcionalnost osnovne biblioteke jezika koju poznaju. Još iskusniji kandidati obično započinju razmatranjem različitih pristupa rešenju zadatka i objašnjavaju nekoliko načina rešenja, pitajući koji od njih žele da vide implementiran. Sve što kandidat radi može se raspraviti. Čak i na osnovu istog zadatka, intervjui mogu biti veoma različiti, kao i rešenja kandidata.
Kao varijacija ove metode, kandidata možete zamoliti da prođe neki test za proveru profesionalnih kompetencija, obrazlažući izbor određenog odgovora. Za razliku od običnog testiranja, otkriva se koliko je obrazložen bio izbor odgovora. Možete osmisliti svoje varijante ove metode uzimajući u obzir karakteristike vaše pozicije.
Kako realizirati
Ova metoda se lako realizuje putem Skypea ili druge slične video-poziv aplikacije koja omogućava deljenje ekrana. Zadatke možete smisliti sami ili koristiti platforme poput Code Wars, razne gotove testove.
U kojim slučajevima koristim ovaj pristup
Kada biram programere i iz CV-a nije jasno koji je nivo znanja kandidata, predlažem kandidatima intervju u ovom formatu. Prema mom iskustvu – oko 90% programera se ne buni. Drago im je što od prvog razgovora počinju razgovarati o programiranju, a ne postavljati glupe pitanja poput "gdje se vidite za 5 godina".
Prednosti
I pored stresa i nervoze, odmah se može primijetiti opći nivo vještina kandidata. Tanto se dobro poznaju komunikacijske vještine kandidata – kako razmišlja, kako objašnjava i motivira svoje odluke. Ako je potrebno razgovarati o kandidatu s kolegama, nije teško snimiti video zapis s vlastitog ekrana i potom pokazati intervju drugim osobama.
Nedostaci
Veza može biti prekinuta. Zbog uzbuđenja kandidat može početi zabušavati. U toj situaciji možete napraviti pauzu i dati mu vremena da razmisli o zadatku nasamo, nazvati ga za deset minuta i nastaviti. Ako se i nakon toga kandidat čudno ponaša, trebalo bi isprobati drugi način procjene vještina.
5. Kratak ekspresni intervju o vještinama putem telefona/Skypea
To je jednostavno razgovor glasom putem telefona, Skypea ili drugog sustava glasovne komunikacije. Pri tome možemo procijeniti komunikacijske vještine kandidata, njegovu erudiciju i opseg znanja. Kao plan razgovora možemo koristiti upitnik. Kao opciju – možemo detaljnije razgovarati s kandidatima o njihovim odgovorima na vaš upitnik.
Kako realizirati
Dogovaramo se s kandidatom o razgovoru i zovemo. Postavljamo pitanja, bilježimo odgovore.
U kojim slučajevima koristim ovaj pristup
Ovu metodu obično primjenjujem zajedno s upitnikom, kada su mi odgovori kandidata izgledali originalno ili nedovoljno uvjerljivo. Razgovaram s kandidatom o pitanjima iz upitnika i detaljnije istražujem njegovo mišljenje. Smatram da je takav razgovor obavezan kada su važne komunikacijske vještine kandidata, sposobnost da jednostavno i jasno formulira svoje misli.
Prednosti
Bez razgovora glasom o profesionalnim temama obično nije moguće odrediti koliko dobro kandidat zna izlagati svoje misli.
Nedostaci
Glavni nedostatak su dodatni troškovi vremena. Stoga ovu metodu primjenjujem kao dopunu drugim, kada je to potrebno. Osim toga, postoje kandidati koji odlično govore o profesionalnim temama, ali u praksi imaju malo iskustva. Ako vam je potreban programer koji će dosljedno i kvalitetno rješavati zadatke, bolje je izabrati drugu metodu prvotne provjere kompetencija. Ako vam je potreban menadžer ili analitičar, tj. stručnjak koji prevodi s ljudskog jezika na „programerski“ i obrnuto, ova metoda provjere kompetencija će biti vrlo korisna.
6. Kratki testni zadatak na vrijeme (izvršava se za 30-60 minuta)
Za niz profesija važno je umijeće brze potrage za rješenjem zadatka. Obično se rješavaju jednostavni zadaci, ali važno je vrijeme rješavanja zadatka.
Kako realizirati
Dogovaramo se s kandidatom o vremenu izvođenja testnog zadatka. U zakazano vrijeme šaljemo kandidatu uvjete zadatka i utvrđujemo je li razumio što se od njega traži. Mjerimo vrijeme koje je kandidat potrošio na rješavanje zadatka. Analiziramo rješenje i vrijeme.
U kojim slučajevima koristim ovaj pristup
U svojoj praksi ovu sam metodu koristio za provjeru kompetencija stručnjaka za tehničku podršku, SQL programere i testere (QA). Zadatci su bili tipa „pronađi problematična mjesta i smislite kako otkloniti problem“, „optimiziraj SQL upit da radi 3 puta brže“ i slično. Naravno, možete smisliti svoje zadatke. Ova metoda može se primijeniti i za početnike programere.
Prednosti
Troškove vremena trošimo samo na sastavljanje i provjeru zadatka. Kandidat može odabrati vrijeme koje mu odgovara za izvršenje zadatka.
Nedostaci
Glavni nedostatak je to što na internetu mogu biti objavljena rješenja vaših ili sličnih zadataka, stoga je potrebno imati određeni broj varijanti i povremeno smišljati nove zadatke. Ako je potrebno testirati brzinu reakcije i opseg znanja, osobno biram testove na vrijeme (metoda br. 2).
7. Istražite portfelj, primjere koda, otvorene repozitorije kandidata
To je, možda, najjasniji način provjere kompetencija, pod uvjetom da vaši kandidati imaju portfelj i da u vašem timu za zapošljavanje postoje stručnjaci koji mogu ocijeniti portfelj.
Kako realizirati
Istražujemo životopise kandidata. Ako pronađemo poveznice na portfelje, istražujemo ih. Ako životopis ne sadrži informacije o portfelju, tražimo portfelj od kandidata.
U kojim slučajevima koristim ovaj pristup
U mojoj praksi ovaj način korištenja bio je vrlo rijetko primjenjivan. Rijetko se u portfeljima kandidata mogu pronaći radovi na relevantnoj temi. Iskusni kandidati često biraju ovaj način umjesto standardnog i dosadnog zadatka. Kažu – 'pogledajte moj rep, tu su desetci primjera mojih rješenja raznih zadataka, vidjet ćete kako pišem kod.'
Prednosti
Štedi se vrijeme kandidata. Ako članovi vašeg tima imaju vremena, moguće je brzo i bez komunikacije s kandidatima isključiti neodgovarajuće. Dok regruter traži kandidate, njegov kolega procjenjuje portfelj. Tako se postiže prilično brza i paralelna radnja.
Nedostaci
Ovu metodu nije moguće primijeniti na sve IT-profesije. Za procjenu portfelja potrebno je imati razvijene vještine. Ako niste stručnjak, nećete moći kvalitetno procijeniti portfelj.
Kolege, pozivam vas da diskutiramo o pročitanom u komentarima. Ispričajte, koje još metode brze provjere kompetencija vi primjenjujete?
Izvor: habr.com
