Stvari koje sam naučio iz intervjua za programiranje u paru

Neke tvrtke radije uparuju program s kandidatima kako bi stekle osjećaj za rad s njima dok ocjenjuju njihove vještine. Bio sam u nekoliko tih tvrtki, i češće nego ne, jedan od mojih zadataka bio je biti par u tim intervjuima.

U mom prethodnom poslu u konzultantskoj tvrtki imali smo timove za svaki projekt. Neki su projekti imali NDA-ove i kao takav, svatko tko se pridružio tom timu morao se prijaviti. To je dovelo do poteškoća u korištenju tih baza kodova prilikom uparivanja s potencijalnim zaposlenicima. Kao rezultat toga, uglavnom smo se uparivali ili na internim projektima ili na projektima u kojima je klijent bio u redu s pokazivanjem koda kandidatima.

Obično sam bio u timovima bez NDA-a, pa kad god smo imali kandidate, ja sam bio glavni par. Budući da ste u toj tvrtki pet godina, možete samo zamisliti koliko je bilo kandidata. Bilo je trenutaka kad sam se tijekom radnog tjedna svakog dana sparivao s drugom osobom!

Također radimo programiranje u paru u mojoj trenutnoj tvrtki. Otkad se bavim programiranjem u paru od 2010. godine, to mi je postalo prirodno.

Ali jedno što trebate zapamtiti kod ovih intervjua jest da to ide u oba smjera : anketar uči o vještinama i osobnosti sugovornika, dok ispitanik saznaje s kime će raditi i kako izgleda tipičan radni dan.

Dakle, evo lekcija koje sam naučio iz intervjua za programiranje u paru, i kao sugovornik i kao anketar. Nadam se da će vam ovo pomoći da imate bolju ideju za sljedeći intervju.

Budi spreman

Ako postoji nešto što možete ukloniti iz ovoga, molim vas, pustite to da bude ovo. Možda se čini očitim da, kao u bilo kojem intervjuu, MORATE biti spremni - ali jednostavno sam osjećao da moram naglasiti ovu točku.

Kao anketar , pregledajte životopis, životopis ili izvorni kod svog kandidata jesu li ga predali. To će vam pomoći da postavite vlastita očekivanja od njihove razine vještine i osobnosti, što će vam pomoći u komunikaciji s njima. Znanje da imate iste hobije moglo bi biti dobar probijač leda!

Kao sugovornik , idite na web stranicu tvrtke i pročitajte / kliknite. Bio sam u situaciji kada sam se prijavio kao web programer i prvo pitanje koje mi je postavljeno bilo je: „Pa, jeste li vidjeli našu web stranicu? Što mislite što možete učiniti da ga poboljšate? " Dovoljno je reći, zatajio sam taj intervju. Stoga, molim vas, pogledajte barem njihovu web stranicu. Pregledajte svoj kod ako ste ga poslali i dvaput provjerite sve.

Opustite se i budite svoji.

Ovo može zvučati kao generički savjet, ali mnogo je važnije za sesiju programiranja u paru u usporedbi s općim ili tehničkim intervjuom. Zašto? Jednostavno zato što vam u nekim generalnim intervjuima HR osoba razgovara i mjeri vašu osobnost dok traje. Iako biste bili u istoj tvrtki kao i oni, nećete izravno surađivati ​​s njima svaki dan.

U slučaju programiranja u paru, ako tvrtka ionako većinu vremena radi programiranje u paru, vjerojatno biste usko surađivali sa svojim anketerom kao dijelom svog posla. To je glavna razlika.

To vrijedi i za anketara i za sugovornika. Kao i u bilo kojoj vezi, teško je imati dugoročnu vezu ako je gradite na temelju samo dijela slike. Vaš će temelj biti klimavo tlo neizvjesnosti i prije ili kasnije će izaći i možda će rezultirati nekim problemima.

Postavljati pitanja!

Kao anketar , budite svjesni da će kandidat većinu vremena biti nervozan. Iako postavljanje previše pitanja može ih potencijalno uplašiti, ne postavljanje pitanja dovodi vas u mrak i troši vam dan uparivanja.

Naučio sam nabrajati niz pitanja koja moram postaviti tijekom dana uparivanja. Popis ne mora biti u redu i ne morate ih sve pitati u jednom potezu. Većina će se pitanja pojaviti dok se uparujete, ali najbolje je da ih napišu za svaki slučaj.

Kao sugovornik , sjetite se da neki ispitivači OČEKUJU od vas da postavljate pitanja. Ne pitati znači da vas ne zanima (zašto se uopće prijavljujete?) Ili znate sve (što ne znate).

Kad god se uparim s nekim, bilježim kada oni postave pitanje i koliko često. Pitanja se mogu kretati od jednostavnih pitanja iz sintakse poput "Što je each_with_indexopet bio prvi argument ?" na pitanja vezana uz posao poput "Spajate li se obično svaki dan?"

Nema ispravnih ili pogrešnih rješenja

Za mene je to samo pitanje završetka posla. Iako očekujem da kandidati budu u najboljem izdanju, razumijem da će biti nervozni što bi moglo malo utjecati na njihovo razmišljanje.

Mislim, mentalne blokade tijekom intervjua prilično su česte (barem za mene). Uparivao sam se s nizom ljudi, od novih, do juniora, srednjih programera, pa čak i starijih, a i sam ponekad zatamnim.

Slučaj: kada sam bio na razgovoru za svoj trenutni posao (tada sam već imao više od šest godina iskustva s Rubyem), klatio sam se uz jednostavnu vježbu i potpuno zaboravio kako stvoriti Hash. Jednostavno, jednostavno sam rekao: "Hm. Čekaj kako da to ponovim? Hm, mogu li nešto proguglati? " Prilično neugodno, ali kad sam pitao, moj se par također samo ugasio, pa smo oboje to guglali. Zabavna vremena.

Kao anketar , nemojte zaostajati za pojmom vlastitog rješenja problema. Postoji 11287398173 načina za pisanje FizzBuzza, a vaše rješenje (vjerojatno) nije najbolje što postoji. Umjesto toga, budite otvoreniji za druga rješenja i prosuđujte ih najbolje što možete.

Kad radim uparivanje intervjua, obično imam na umu odgovor kad postavim pitanje, ali slušam i vidim kakav je odgovor sugovornika, jer to gotovo nikad nije isti odgovor kao moj. Iznenadit ćete se koliko kreativni ljudi mogu dobiti!

Kao sugovornik , budite svjesni ove činjenice i samo učinite svoje. Nemojte zapeti u brizi da nećete biti učinkoviti (osim ako to nije bilo pitanje za intervju!), Ali istodobno, nemojte biti aljkavi. Ako dođete na sesiju uparivanja za tvrtku koja radi TDD / BDD, zarad vas počnite prvo s testovima! Oni će to tražiti (ja!), A vi biste mogli završiti na dnu hrpe ako samo razbijete stvari.

Tretirajte ovo kao uobičajeni dan uparivanja

Na temelju svog početnog iskustva, tretirao sam ga kao tehnički intervju. Sjedio sam pokraj kandidata i bilježio dok su oni upisivali svoje misli.

Ali ovo NIJE uobičajeno kako se sparim, a kad sam to shvatio, promijenio sam način. Kad bi netko zapeo, gurnuo bih ga, a da nisam točno dao odgovor. Postavio bih nekoliko ispitivačkih pitanja poput "Koja je poruka o pogrešci?" ili "Što mislite u čemu je problem?" ili "Što biste mogli učiniti da to popravite?"

Kao anketar , pustite svog kandidata da vozi 90% vremena - ali nikada 100%. To odaje dojam da je riječ o strožem tehnološkom intervjuu (vi ste samo pokraj njih i gledate svaki njihov pokret - što zapravo otežava koncentraciju). Pokušajte malo s tipkovnicom i pustite ih da vas razgovore kroz svoje rješenje. Ovo će im biti lako.

Kao sugovornik , nemojte samo početi tipkati onog trenutka kada vam je dana tipkovnica. Prvo počnite raspravljati o svom rješenju. Pitajte svog partnera želi li imati tipkovnicu dok im vi dajete do znanja svoje misli. Podsjetite se da je ovo više uparivanje "probne vožnje" umjesto tehničkog razgovora. Što me dovodi do sljedeće točke ...

Razgovarajte sa svojim partnerom

To je prvo što provjerim kad radim uparivanje intervjua. U svojoj prethodnoj tvrtki obično sam započeo dan objašnjavajući čime se bavi aplikacija na kojoj radimo, koja je značajka na kojoj radim i što bismo trebali raditi. Tada sam počeo prepisivati ​​svoje naočale i pustiti kandidata da vlada.

Pazio bih da vidim što su učinili: ponekad su samo nastavili i počeli tipkati, drugi bi prvo razmišljali u tišini, a treći bi postavljali pitanja o problemu ili mi javljali svoja rješenja.

U mojoj trenutnoj tvrtki sesija parova obično se fokusira na zadani problem. Dajem kandidatu problem na čitanje i onda čekam. Ako počnu tipkati ne govoreći ništa, to je za mene već crvena zastava. Dajem bodove ljudima koji dobiju olovku i papir i počinju mi ​​objašnjavati svoje rješenje dijagramima.

Kao sugovorniku , važno je nastaviti razgovor kako bi kandidat imao osjećaj da se radi o uparivanju. U ovom trenutku vas dvoje ste jedna cjelina. Oboje biste trebali biti sposobni međusobno dobro komunicirati i odbijati ideje naprijed-nazad.

Naravno, bit će trenutaka kada će vaš kandidat trebati razmišljati sam, pa neka i oni to imaju. Pronađite ravnotežu između nastavka razgovora i puštanja da se usredotoče i riješe problem.

Kao sugovornik , uvijek dajte partneru do znanja što planirate učiniti i koje je vaše rješenje. To im daje do znanja da prepoznajete činjenicu da je ovo sesija uparivanja i da možete dobro prenijeti svoje ideje. To im također daje osjećaj da stvari pažljivo planirate, umjesto da idete YOLO.

U redu je uzeti trenutak za razmišljanje

Za razliku od gornje izjave, vi biste također trebali imati vremena za tiho razmišljanje. Potpuno je u redu imati mrtvi zrak. Ipak niste u radio postaji.

Kao anketar rijetko ćete to morati učiniti. Ali ako ste u mojoj situaciji, kada se uparujete s kandidatom na značajci koju zapravo implementirate, tada će i vama trebati vremena za razmišljanje. Samo obavijestite svog partnera o tome i to bi trebalo biti u redu.

Kao sugovornik , partneru možete dati do znanja da će vam trebati malo vremena za razmišljanje i da ćete im nakon toga dati na znanje svoje rješenje. To pokazuje da prepoznajete njihovu prisutnost i da ćete prenijeti svoje misli nakon što ih obradite. Komunikacija je ključna!

Završne misli

Ovo su samo neke stvari koje sam naučio. Nadam se da će vam pomoći u sljedećem intervjuu. Iako ovo nije sveobuhvatan popis o tome kako pripremiti intervju za uparivanje, mislim da to može pomoći kandidatima (a i onima koji prvi put vode intervju)!

Sretno! A također upamtite da ćete bez obzira na to što izađete iz tog intervjua naučiti nešto - i to je ono što je važno.