Search Adaface test library by skills or roles
⌘ K
Blog Guides Guides on How to Hire

Hur man intervjuar programvaruingenjörer

Intervjuer är en mycket sårbar visning av oss själva och jag är extremt ödmjuk över det faktum att ett 400-tal ingenjörer satt med mig för att intervjua och lärde mig hur man gör det rätt.

Jag har tidigare satt ihop ett team av briljanta ingenjörer från sådana som Google, Facebook och Amazon för en startfinansierad startup som produktchef och satt upp ett helt nytt teknikteam från grunden för FusionCharts som produktkonsult. Nu gör jag det i stor skala, som medgrundare på Adaface där vi automatiserar den första tekniska screeningen med vår chatbot, Ada.

Eftersom det har varit en central del av mitt jobb i flera år nu, har jag arbetat med att utforma en intervjuprocess som jag själv skulle vilja gå igenom, en som hjälper oss att hitta de ingenjörer som är bäst lämpade för rollen, och viktigast av allt en intervju där kandidater lämnar byggnaden med ett leende.

Hur intervjuar man programvaruingenjörer?

Det här inlägget är en sammanfattning av vad jag har lärt mig hittills, och jag kommer att lägga ut praktiska insikter som rekryteringschefer kan införliva i sin anställningsprocess. Jag kommer att dela upp mina lärdomar i 3 avsnitt:

  1. Teknisk intervju
  2. Att fatta ett beslut
  3. Intervjuetikett

Teknisk intervju

1. Ställ frågor som hjälper dig att göra detaljerade betyg på kandidater.

Så hur bestämmer vi vilka frågor vi ska ställa? Ställ inte knepfrågor bara för ett filters skull. Kandidater blir förbannade. Och det ger dig ingen meningsfull signal om kandidatens förmåga. Ingen är glad.

Bara för att det finns en fråga som endast 5 % av ingenjörerna kan lösa, betyder det inte att dessa kandidater är de 5 % som är mest lämpade för rollen. Det här sättet att mäta en utvecklares skicklighet har också en inneboende fördom mot mer erfarna utvecklare.

  • Låt inte varje intervjuare slumpmässigt bestämma vilka frågor som ska ställas till kandidaterna.
  • Har frågor för alla nivåer av poäng 1, 2, 3, 4 (ökande svårighetsgrader/år av expertis).
  • Varje fråga måste lösas av alla intervjuare innan de börjar intervjua kandidater. Ge sedan kandidaterna en generös ersättning på 3 gånger tiden för att lösa den frågan.
  • Tanken bakom att ställa specifika frågor i en intervju är att förstå kandidatens förmåga i en given färdighet. Detta innebär i sig att vi inte kan ställa alla frågor/samma frågor till alla – det skulle vara slöseri med tid. Om en kandidat inte kunde lösa 2 frågor med medelsvårighet, är det ingen idé att diskutera en svår fråga bara för sakens skull. Att ställa en enklare fråga kommer att ge dig användbar information om var kandidaten står för den färdigheten.

2. Ha en konsekvent poängmekanism.

Efter lite iteration kom jag på vad jag vill kalla anta-kandidaten-är-exceptionellt sätt att göra mål. Så här fungerar det:

  • När du ställer en fråga, anta att kandidaten kommer att lösa den på bästa möjliga sätt och ge dem en 5:a.
  • Under hela diskussionen, lägg till negativa poäng för saker som är viktiga och kandidaten gör det inte bra på.
  • Till exempel för en roll som kräver ett bra grepp om algoritmer, -1,5 för att bara kunna komma fram till ett ooptimerat svar på försök #2, -1,5 om vi var tvungna att ge kandidaten en mycket avslöjande hint för att gå vidare, -2 om de ge upp för tidigt, -0,5 om de missar kantfodral och så vidare.
  • Lägg till siffrorna i slutet av diskussionen för den frågan och välj nästa fråga därefter.

3. Kandidater är de bästa bedömarna av sina färdigheter.

De flesta kandidater vet hur bra de är med en viss färdighet, men de rapporterar vanligtvis felaktigt av två anledningar: partiskhet och felaktiga skalor.

Det finns ett enkelt sätt att fixa dem båda:
Bias → be dem att bevisa det med data.
Feljusterade skalor → berätta för dem om din skala och be dem betygsätta din skala.

De flesta ingenjörer är smarta att kalibrera om om du förklarar din skala.

Jag förklarar vanligtvis min kompetensskala för kandidater:

  1. Du kan syntaxen och nyckelorden tillräckligt för att googla, använda Stack Overflow och få jobbet gjort.
  2. Du har erfarenhet av att hantera ett slut till slut-projekt med hjälp av färdigheten. Detta kan verifieras genom att gå igenom deras kod, skärmdumpar, förstå projektets omfattning/påverkan/utmaningar.
  3. Du känner till det inre av färdigheten, designmönster och utför för närvarande kodgranskning för andra ingenjörer i ditt företag för den färdigheten. Detta kan verifieras genom att gå igenom deras kodrecensioner (om möjligt) och fråga vilka designmönster de letar efter.
  4. Zen-läge: Du skriver bibliotek och rullar ut nya versioner av denna färdighet.

Och jag frågar kandidaterna hur de skulle betygsätta sig själva i den här skalan för alla färdigheter de känner till. Nästan alla kandidater poängsätter sig själva inom ett felintervall på -0,5 av vad jag slutar poängsätta dem på. Använd detta till din fördel för att veta vilka färdigheter du ska fokusera mer på och vad du ska lägga mindre tid på.

4. Ställ minst en fråga där de kämpar.

Detta kan låta elak i viss mån och kanske är det det. Men om du ställer en kandidat 10 frågor och de löser alla 10 enkelt, kommer de att uppfatta det som en lätt intervju och kommer att associera det med hur utmanande arbetet kan vara. Det kan leda till att de inte är särskilt exalterade över rollen. Ju svårare det är att komma någonstans, desto mer uppskattar vi det. Det ger dig också en hel del meningsfull information om hur de reagerar i en svår/stressande situation.

Det betyder naturligtvis inte att vi måste ställa de svåra frågorna och få dem att känna att de förlorat. Avsikten är den motsatta. Kandidaten och intervjuaren utvärderar varandra. Låt oss pusha varandra att ha åtminstone en utmaning som är ny så att diskussionen har lärt oss något nytt, oavsett resultatet.

Så det slutar med att jag ställer minst en fråga (jag har en praktisk lista med några frågor som är riktigt bra/tuffa) till bra kandidater och lämnar dem med det.

Att fatta ett beslut

1. Skapa ett styrkort när du går och kontrollera för partiskhet senare.

Skriv inte styrkorten efter intervjun. Du kommer att glömma mycket av det som hände under intervjun, poängsättningen blir inte lika detaljerad. Se samtidigt till att du kontrollerar för partiskhet i slutet. Gjorde du någon högre poäng bara för att de kommer från en nivå 1-högskola? Fick du poäng för dem högre eller lägre för att de är av motsatt/samma kön? Eller för att de var väldigt lika dig?

2. Tvinga dig själv att säga ja eller nej genom att välja bättre vågar.

Vi gillar inte att ta äganderätt till saker som vi inte har registrerat oss för. Det är svårt att ta ställning att avvisa eller anställa någon och många gånger slutar vi med att säga "kanske" så att någon annan måste ta det beslutet. Tvinga dig själv att inte göra det. Ett sätt att göra det är att välja en bra våg. Om du väljer en skala från 1-5 väljer de flesta intervjuarna 2 eller 3 eller 2,5 eller 2,75 (allt som gör dem bekväma att vara i zonen "Jag vet inte, låt någon annan fatta beslutet").

Här är skalan som jag tycker att intervjuare ska använda för det sista ja/nej-beslutet: 1 - 4

  1. Om de anställs slutar jag.
  2. Anställ dem inte.
  3. Anställ dem.
  4. Anställ dem, annars slutar jag.

Fördelarna med denna skala är att det inte finns några kanske och det finns polariserande ja eller nej. När varje intervjuare följer denna skala gör det lätt att diskutera en kandidat i samband med att anställa dem.

3. Hyra. Fastna inte för mycket i att hitta det absolut bästa. Var okej med att göra kalkylerade "kanske" anställningar.

Det finns rekryteringschefer som aldrig kompromissar med "ribban"/"kvalitet" hos kandidater. Men i slutet av dagen måste vi utföra. Vi måste komma närmare företagets uppdrag. Så hur avgör vi om vi ska anställa eller inte? Bygg ett beslutsramverk som ger resultat (faktiska anställningar) och kurskorrekt allt eftersom. För detta ändamål tror jag att en human version av anställ snabb, eldfast strategi är bättre än att inte anställa någon.

Om vi alltid anställer alla med stela ramar kommer vi att sluta med liknande tänkande, icke-mångsidiga och så småningom en tråkig grupp. Ibland, gå med magkänslan och gör några "kanske" eller till och med "nej" anställningar om projektet behöver det, men var mycket uppmärksam på hur många sådana anställningar du gör. Vem blir deras chef? Vad är deras ansvar? Ställ in 1-1:or för att kontrollera hur de presterar. Sätt upp processer/utbildning för att hjälpa dem att vända sina negativa saker eller fördubbla sina positiva.

Här är en anställningsstrategi som har fungerat ganska bra för mig tidigare:

  1. Om någon intervjuare sa 4, även om någon annan sa 2, anställ.
  2. Om ingen sa 4 och minst en intervjuare sa 1, anställ inte.
  3. Om minst 2 intervjuare sa 3, anställ.

4. Ställ in processer för att se över din anställningsram.

Vi måste sätta möten i kalendern för att besöka vårt anställningsramverk och dess resultat. Analysera om våra antaganden har varit korrekta. Fungerar de "perfekta" anställarna som förväntat? Vad hände med de "kanske" anställda - hur presterar de?

5. Få ditt team att sitta med kandidaten för att se om det finns en ömsesidig kulturell passform.

Dina vänner vet förmodligen om din nuvarande partner är bra för dig (eller inte) och kan förutse ditt uppbrott långt innan det händer. Det är samma sak med ett team och en nyanställd. Ditt team kan ge dig bra information om vad de tycker om anställningen kulturellt. Det ger också kandidaten en chans att uppleva företagets kultur innan han fattar ett slutgiltigt beslut.

Intervjuetikett

1. Skapa ett kort dokument om de nödvändiga färdigheterna och hur du utvärderar dem. Dela det med kandidaterna i förväg.

Vad är en förutsättning eller en måste-ha färdighet? Om en kandidat inte har denna kompetens kommer vi inte att anställa dem. Helst kommer vi inte ens intervjua dem om vi kan hjälpa det.

Det här är lite jobb. Men gör det. Helst måste du ha detta låst med alla intervjuare. Låt inte varje intervjuare bestämma själv vad som är viktigt för rollen.

Dela det i e-postmeddelandet med intervjuinbjudan som du skickar till kandidaterna. När jag väl började göra detta var samtalet med kandidaterna mycket mer effektivt. Kom ihåg att detta kan förändras hela tiden för samma roll, så talangförvärvsteam och rekryteringschefer måste fortsätta att upprepa detta.

Till exempel: anställa den första iOS-ingenjören? Vill förmodligen att de ska ha kunskap om Swift. Andra iOS-ingenjören? Swift kanske inte är ett måste den här gången? De kan lära sig på jobbet.

Knepig plats: Anställa för en roll utan nödvändiga färdigheter som en full-stack ingenjör. I fall som dessa gräver du djupare i vilken typ av arbete de tidigare borde ha gjort. Hur många projekt/levererad effekt/tid arbetade personen med någon speciell färdighet? Om personen fortsatte att växla mellan språk varje kvartal utan några storslagna projekt, kan de vara en nybörjare i allt.

När vi väl har begränsat de nödvändiga kompetenserna måste vi också definiera kompetensomfånget. Ska de vara experter på skickligheten och kunna distribuera nya bibliotek själva? Borde de redan göra kodgranskning i den färdigheten? Ska de ha erfarenhet av en produktionsapplikation i det? Vad är det absoluta minimum vi behöver?

2. Bryt isen. Du först.

Det tar tid för kandidaterna att bosätta sig. Så vi ska inte förvänta oss att de ska börja prata om sig själva. Ha en pitch om er själva, företaget och rollen till hands (skriv ner det). Gärna de korta, medelstora och långa versionerna. Börja med en kort presentation av dig själv och sätt scenen för dem.

3. FRÅGA dem om deras kommunikationsstil och anpassa sig till den.

Detta är förmodligen en av de viktigaste sakerna i en intervju, och vad de flesta av oss får fel. Speciellt för att varje guide för hur man krossar en teknisk intervju där ute berättar för kandidaterna att de måste tänka högt. Men alla fungerar inte så. Vissa intervjuare förväntar sig att kandidater ska gå igenom deras tankeprocess när de löser en fråga, och det är skadligt för kategorin ingenjörer som inte arbetar på det sättet.

Jag förstår varför det är så, och det gör intervjuarens jobb lätt om kandidaten pratar högt om vad de tänker, det är mycket lättare att se hur de tänker på att optimera steg för steg och göra poäng därefter. Men vi måste lära oss hur man arbetar på ett sätt som är mest gynnsamt för kandidaten att prestera på sitt bästa.

Jag tror att det bästa sättet är att ge kandidaterna alla alternativ i förväg. "Här är några sätt vi kan göra det här, vad skulle du föredra?" De brukar lätta direkt.

4. Intervjun ska avslutas med att lämna kandidaten upprymd och inspirerad.

Helst alla, mer så om kandidaten skulle kunna passa bra. Prata om vilken inverkan DU skapat i företaget hittills och vilka dina nästa projekt är. Inget slår ärlighet och personlig erfarenhet. Berätta för dem varför du är glad över att vara i företaget och vad som inspirerar dig. Bevisa med data. Om du inte är upprymd/inspirerad varje dag över ditt jobb, borde du förmodligen inte intervjua. Det är en anledning till att jag aldrig skulle be någon som har tillbringat bara 3-4 månader hittills i företaget att intervjua.

5. Var vänlig.

Jag avslutar med detta, om du inte gör något annat rätt, se till att du inte förolämpar en kandidat oavsett omständigheterna. En investerare kan ha dragit sig ur i sista stund, du kanske går igenom ett uppbrott eller vad som helst annat, ingenting är tillräckligt bra för att få en kandidat att må dåligt i en intervjumiljö.

Den del av ditt liv där du intervjuar för roller kan vara extremt stressande. Och en dålig intervjuupplevelse kan döda någons självförtroende, man vet aldrig vad någon redan går igenom. Oavsett hur kvalificerad (eller inte) kandidaten är för rollen, se till att varje kandidat lämnar intervjun med ett leende. Det är det minsta vi kan göra för någon som tog så mycket timeout bara för att intervjua oss.

Om du vill ha en steg-för-steg-procedur för att genomföra bra intervjuer bör du definitivt läsa TalentLyfts guide: Hur man blir en bra intervjuare , som förklarar vikten av att vara en bra intervjuare och de bästa metoderna för att förbereda sig för en intervju.

Det finns tillräckligt många företag i världen som har löjliga intervjuprocesser som orsakar onödig stress för kandidater. Var gärna ett exempel på hur det kan bli bättre.

P.S. Gå med i dina kamrater.
Prenumerera på nyhetsbrevet för hypergrowth.
Prenumerera på
Kontrollera andra populära inlägg
Design effektiva test Guider om hur man anställer Hyresindustrin trender Populära anställningspraxis Löneinsikt Tekniska uppdateringar och framsteg Diverse

Vi utvärderade flera av sina konkurrenter och fann Adaface att vara den mest övertygande. Bra standardbibliotek av frågor som är utformade för att testa för passform snarare än memorisering av algoritmer.

swayam profile image
Swayam
CTO, Affable
Använd det mest kandidatvänliga bedömningsverktyget
PROVA GRATIS

(100% GRATIS för att komma igång, inget kreditkort krävs)

Villkor Integritet Förtroendehandbok