Asjad, mida olen õppinud paari programmeerimisintervjuudest

Mõni ettevõte eelistab programmi siduda kandidaatidega, et tunda end nende oskuste hindamisel. Olen käinud mõnes nendes ettevõtetes ja sagedamini oli mu ülesanne olla nendes intervjuudes paar.

Minu eelmisel töökohal konsultatsioonifirmas oli meil iga projekti jaoks meeskonnad. Mõnes projektis olid NDA-d ja sellisena pidi iga selle meeskonnaga liitunu sisse logima. See tõi kaasa raskusi nende koodibaaside kasutamisel potentsiaalsete töötajatega paaristamisel. Selle tulemusena ühendasime enamasti kas siseprojektid või projektid, kus klient oli nõus kandidaatidele koodi näitama.

Olin tavaliselt võistkondades, kus ei olnud NDA-sid, nii et alati, kui meil oli kandidaate, olin mina peamine paar. Viis aastat selles ettevõttes olles võite vaid ette kujutada, kui palju kandidaate oli. Oli aegu, kus olin töönädalal iga päev erineva inimesega paaris!

Teeme paaride programmeerimist ka minu praeguses ettevõttes. Kuna olen paariprogrammeerimist harjutanud alates 2010. aastast, on see minu jaoks loomulikuks muutunud.

Kuid üks asi, mida nende intervjuude juures meeles pidada, on see, et seda saab teha mõlemat pidi : intervjueerija saab teada intervjueeritava oskustest ja isikupärast, samas kui intervjueeritav saab teada, kellega nad töötavad ja milline näeb välja tüüpiline tööpäev.

Nii et siin on õppetunnid, mida õppisin paariprogrammeerimise intervjuudest nii intervjueeritava kui ka intervjueerijana. Loodetavasti aitab see teil järgmise intervjuu jaoks parema idee saada.

Ole valmis

Kui teil on üks asi, mida saate sellest ära võtta, siis las see olla see. Võib tunduda ilmselge, et nagu igas intervjuus, PEAB olema valmis - aga ma lihtsalt tundsin, et pean seda punkti rõhutama.

Intervjueerijana vaadake läbi oma kandidaadi CV, kokkuvõte või lähtekood, kui ta on selle esitanud. See aitab teil seada oma ootused nende oskuste taseme ja isikupära suhtes, mis aitab nendega suheldes. Teadmine, et teil on samad hobid, võiks olla hea jäämurdja!

Intervjueeritavana minge ettevõtte veebisaidile ja lugege / klõpsake läbi. Olen olnud olukorras, kus kandideerisin veebiarendajana ja esimene mulle visatud küsimus oli: „Kas olete siis meie veebisaiti näinud? Mis te arvate, mida saaksite selle parandamiseks teha? " Piisab, kui öelda, et ma lükkasin selle intervjuu vastu. Nii et palun vaadake vähemalt nende veebisaiti. Vaadake oma kood üle, kui olete selle esitanud, ja kontrollige kõik uuesti.

Lõdvestu ja ole sina ise.

See võib tunduda üldise nõuandena, kuid see on paari programmeerimisseansi jaoks palju olulisem võrreldes üldise või tehnilise intervjuuga. Miks? Lihtsalt sellepärast, et mõnes üldises intervjuus räägib personaliinimene teiega ja hindab teie isikupära. Kuigi te oleksite samas ettevõttes nagu nemad, ei hakka te nendega iga päev otseselt koostööd tegema.

Paarprogrammeerimise seansil, kui ettevõte ikkagi nagunii suurema osa ajast paariprogrammeerimist teeb, teete oma töö raames tõenäoliselt tihedat koostööd intervjueerijaga. See on peamine erinevus.

See töötab nii intervjueerija kui ka intervjueeritava jaoks. Nagu igas suhtes, on ka pikaajalisi suhteid raske luua, kui ehitate need ainult osa pildist. Teie vundament on ebakindel ebakindel maa ja varem või hiljem tuleb see välja ja võib põhjustada probleeme.

Esitada küsimusi!

Intervjueerijana arvestage sellega , et enamasti on kandidaat närviline. Liiga paljude küsimuste esitamine võib neid peletada, kuid küsimuste esitamata jätmine viib teid pimedusse ja raiskab teie paaristamise päeva.

Olen õppinud üles looma küsimuste komplekti, mida saan paarituspäeva jooksul küsida. Nimekiri ei pea olema korras ja te ei pea neid kõiki ühe korraga küsima. Enamik küsimusi kerkib üles paaristamise ajal, kuid parem on lasta need igaks juhuks kirja panna.

Intervjueeritavana pidage meeles, et mõned intervjueerijad OOTAVAD, et te küsimusi esitaksite. Küsimata jätmine tähendab, et teid ei huvita (miks te ikkagi kandideerite?) Või teate kõike (mida te ei tea).

Alati, kui kellegagi paariline olen, võtan teadmiseks, kui ta küsimuse esitab ja kui tihti. Küsimused võivad ulatuda lihtsatest süntaksiküsimustest, näiteks „Mis oli each_with_indexjälle esimene argument ?” tööga seotud küsimustele, näiteks "Kas te tavaliselt paaristate iga päev?"

Õigeid või valesid lahendusi pole

Minu jaoks on see lihtsalt töö tegemise küsimus. Kuigi ma eeldan, et kandidaadid on kõige paremad, saan aru, et nad on närvilised, mis võib nende mõtlemist veidi mõjutada.

Ma mõtlen, et vaimse blokaadi esinemine intervjuu ajal on üsna tavaline (vähemalt minu jaoks). Olen paari pannud paljude inimestega, alates uutest klassidest, juunioride, keskastme arendajate ja isegi seeniorideni ning ma ise pimestan vahel.

Juhtum: kui mind küsitleti oma praeguse töökoha jaoks (mul oli sel hetkel juba rohkem kui kuus aastat Ruby-kogemust), siis ma tegelesin ühe lihtsa harjutusega ja ma unustasin täielikult, kuidas luua Hash. Nagu ma lihtsalt läksin: “Ee. Oota, kuidas ma seda uuesti teha saan? Ee, kas ma saan midagi guugeldada? " Päris piinlik, aga kui ma seda küsisin, ka minu paar lihtsalt tühjendas, nii et me mõlemad googeldasime seda koos. Lõbusad ajad.

Intervjueerijana ärge jääge oma probleemile lahenduse juurde. FizzBuzzi kirjutamiseks on 11287398173 viisi ja teie lahendus pole (tõenäoliselt) parim. Selle asemel olge teiste lahenduste suhtes avatum ja hindage neid nii hästi kui võimalik.

Intervjuude paaristamisel olen tavaliselt küsimuse esitamisel meeles vastust, aga kuulan ja näen, mis on intervjueeritava vastus, sest see pole peaaegu kunagi sama, mis minu oma. Sa oled üllatunud, kui loomingulised inimesed võivad saada!

Intervjueeritavana olge sellest faktist teadlik ja tehke lihtsalt oma asja. Ärge jääge ummikusse, muretsedes, et te ei ole efektiivne (kui see polnud intervjuu küsimus!), Kuid samas ärge olge lohakas. Kui tulete TDD / BDD-ga tegeleva ettevõtte paaristamisseansile, alustage kõigepealt testidega! Nad otsivad seda (mina otsin!) Ja te võite sattuda kuhja põhja, kui te lihtsalt asjad välja purustate.

Käsitlege seda kui tavalist paarituspäeva

Esialgse kogemuse põhjal käsitlesin seda kui tehnilist intervjuud. Istusin kandidaadi kõrval ja tegin märkmeid, kui nad oma mõtteid trükkisid.

Kuid ma ei tee seda tavaliselt paari ja kui ma sellest aru sain, muutsin ma oma viisi. Kui keegi jäi ummikusse, siis nihutasin teda kaasa, andmata täpselt vastust. Esitaksin mõned uurivad küsimused, näiteks „Mis on veateade? või "Mis on teie arvates probleem?" või "Mida saaksite selle parandamiseks teha?"

Intervjueerijana laske oma kandidaadil sõita 90% ajast - kuid mitte kunagi 100%. See jätab mulje, et see on rangem tehniline intervjuu (te olete lihtsalt nende kõrval ja vaatate iga nende liigutust - mis muudab keskendumise tegelikult raskemaks). Laske klaviatuuril natuke käia ja laske neil oma lahendusest läbi rääkida. See muudab nad rahulikuks.

Intervjueeritavana ärge hakake lihtsalt klaviatuuri kirjutamise hetkel kirjutama. Alustage kõigepealt oma lahenduse arutamist. Küsige oma partnerilt, kas nad tahavad klaviatuuri saada, kui te oma mõtetele teada annate. Tuletage endale meelde, et see on pigem tehnilise intervjuu asemel paaristamise „proovisõit“. Mis viib mind järgmise punktini ...

Räägi oma partneriga

See on esimene asi, mida ma intervjuusid tehes kontrollin. Oma eelmises ettevõttes alustasin päeva tavaliselt sellega, et selgitasin, mida rakendus töötab, millise funktsiooniga ma töötan ja mida me peaksime tegema. Hakkasin siis oma spetsifikatsioone välja kirjutama ja lasin kandidaadil valitseda.

Pööraksin tähelepanu, et näha, mida nad tegid: mõnikord läksid nad lihtsalt ette ja hakkasid kirjutama, teised mõtlesid kõigepealt vaikselt ja kolmandad esitasid otse probleemi kohta küsimusi või andsid mulle teada oma lahendustest.

Minu praeguses ettevõttes keskendub paariseanss tavaliselt antud probleemile. Annan kandidaadile probleemi lugeda ja siis ootan. Kui nad hakkavad midagi ütlemata kirjutama, on see minu jaoks juba punane lipp. Annan punkte inimestele, kes saavad pastaka ja paberi ning hakkavad mulle oma lahendust skeemidega selgitama.

Intervjueerijana on oluline hoida vestlust nii, et kandidaat tunneks, et tegemist on paaristamisseansiga. Sel hetkel olete te kaks üks üksus. Te peaksite mõlemad suutma omavahel hästi suhelda ja ideid edasi-tagasi põrgatada.

Muidugi võib juhtuda, et teie kandidaat peab ise mõtlema, nii et las see on ka neil. Leidke tasakaal vestluse jätkamise ja keskendumise ning probleemi lahendamise vahel.

Intervjueeritavana andke oma partnerile alati teada, mida kavatsete teha ja milline on teie lahendus. See annab neile teada, et mõistate fakti, et tegemist on paaristamisseansiga ja saate oma ideedega hästi suhelda. See annab neile ka tunde, et planeerite asju hoolikalt, selle asemel, et minna YOLO-sse.

On okei võtta hetk mõtlemiseks

Vastupidiselt ülaltoodud väitele peaks teil olema ka aega vaikselt mõelda. On täiesti okei, kui õhk on surnud. Te pole ju raadiojaamas.

Intervjueerijana peate seda harva tegema. Kuid kui olete minu olukorras, kus teete paari kandidaadiga funktsioonis, mida tegelikult rakendate, vajate ka teie mõtlemisaega. Andke oma partnerile sellest lihtsalt teada ja see peaks korras olema.

Intervjueeritavana saate oma partnerile teada anda, et vajate natuke aega mõtlemiseks ja et annate neile pärast oma lahenduse teada. See näitab, et tunnistate nende kohalolu ja et pärast nende töötlemist edastate oma mõtteid. Suhtlemine on võtmetähtsusega!

Lõpumõtted

Need on vaid mõned asjad, mida ma õppisin. Loodetavasti saavad nad teid aidata teie järgmisel intervjuul. Ehkki see pole täielik ülevaade paaristamisintervjuu ässastamisest, arvan, et see võib kandidaate (ja ka esimest korda intervjueerijaid!) Nende intervjuudes aidata.

Edu! Ja pidage ka meeles, et ükskõik, mis juhtub, tulete intervjuust välja, kui olete midagi õppinud - ja see on oluline.