Hvorfor en arbejdsprøvetest vil identificere de softwareudviklere, du skal ansætte

Udgivet: Sidst opdateret:
rekruttering artikler liste arbejde prøve post

Før det var nemt at give en arbejdsprøve til alle, der faldt ind i din tekniske rekrutteringstragt, var den tekniske ansættelsesproces et minefelt. Selv før jeg kom ind i branchen, kan jeg huske, at jeg hørte historier om de frustrationer, som mine venner og kolleger oplevede, da de forsøgte at navigere i den tekniske interviewproces både som kandidater og ansættende ledere.

Ansøgerne blev mødt med et væld af irrelevante, tidskrævende og nedslående algoritmiske tests og whiteboard-interviews, som i høj grad favoriserede nyuddannede universitetsstuderende og ikke gav dem nogen indsigt i jobbet. Det var lige så vanskeligt for rekrutteringsfolk og ansættelseschefer. De havde meget få effektive metoder til at afgøre, hvilke af deres dev-kandidater der ville komme til at gøre et godt stykke arbejde for dem. Så de brugte det, der var til rådighed, og måtte finde sig i, at resultaterne varierede. Men der findes en bedre måde.

Arbejdsprøveprøven er en veletableret idé inden for andre områder, som har revolutioneret ansættelsesprocessen, men den vinder nu indpas inden for teknologi.

Få mere at vide om tekniske interviews og færdighedstest i Den ultimative guide til den tekniske samtale.

Hvad er en arbejdsprøveprøve?

Enkelt defineret er en arbejdsprøveprøve en prøve, der ifølge Googles tidligere Senior Vice President of People Operations Laszlo Bock,


Laszlo Bock forklarer, hvad en arbejdsprøveprøve er.(...) indebærer, at kandidaterne får en prøveopgave, der ligner det arbejde, som de ville udføre i jobbet, og at deres præstation vurderes.

Billedkilde: LinkedIn


Det lyder ret enkelt, ikke sandt? Det lyder næsten som en prøveperiode, men arbejdsprøveprøver adskiller sig ved, at de opfylder alle disse kriterier fra Sockpuppet.org:

  • De afspejler så godt som muligt det arbejde, som en ansøger vil blive bedt om at udføre i sit job
  • De er standardiserede, så alle kandidater står over for den samme prøve
  • De genererer data og en karakter, ikke et simpelt bestået/ikke bestået resultat
  • De er meget kortere, normalt ikke mere end en time eller to.

Så hvis det ikke er en retssag, hvad er det så? Ryan Daigle, direktør for teknik hos Spredt udtrykker det bedst:


Ryan Daigle forklarer, hvad en arbejdsprøveprøve er.En arbejdsprøve er en objektivt og blindt bedømt domænespecifik udviklingsopgave, som kandidaten gennemfører i sin egen tid.

Billedkilde: LinkedIn


Med andre ord, en softwareudviklingsopgave eller en udvikling af brugerdefineret software opgave. Så hvorfor gøre en ekstra indsats for at teste dine kandidater på denne måde?

En arbejdsprøve er den bedste forudsigelse af en udviklers fremtidige præstationer

Der er foretaget omfattende forskning i effektiviteten af forskellige metoder til at teste kandidater. Resultaterne af disse undersøgelser peger generelt på, at arbejdsprøveprøver er den bedste forudsigelse af fremtidige præstationer.

Frank L. Schmidt fra University of Iowa og John E. Hunter fra Michigan State University lavede en gennemgå af de foregående 85 års forskning på området. De fandt ud af, at arbejdsprøveprøver var stort set lige så gode som generelle mentale egnethedstests (GMA-tests) som de bedste forudsigere af fremtidige præstationer, med den fordel, at de ikke er fordomsfulde over for minoriteter, som GMA-tests er det.

Arbejdsprøvetesten er valideret i The Validity and Utility of Selection Methods in Personnel Psychology (validitet og anvendelighed af udvælgelsesmetoder i personalepsykologi): Practical and Theoretic Implications of 85 Years of Research Findings"Kilde: "Validitet og anvendelighed af udvælgelsesmetoder inden for personalepsykologi:Praktiske og teoretiske implikationer af 85 års forskningsresultater"

Ikke alene er der tale om fordomme skade din rekrutteringsindsats ved at indsnævre din kandidatpulje, men ifølge Tikhon Jelvis, ledende datavidenskabsmand hos Target, kan det åbne op for retssager i henhold til princippet om ulige påvirkning. Dette efterlader worksample-tests som den klare vinder, hvilket Laszlo Bock bakker op om, og som i denne BBC-interview afslører, at de var de bedste indikatorer for fremtidig præstation af alle de test, de foretog hos Google.

Men disse resultater er generelle, så hvordan kan de anvendes til screening af softwareudviklere?

Hvad gør en god arbejdsprøve til en test for softwareudviklere

Hvad gør en god arbejdsprøve til en god prøve for softwareudviklere?For at en arbejdsprøveprøve kan være effektiv, skal den omfatte en opgave, som er vigtige og repræsentative af det arbejde, der skal udføres. Hvad dette betyder for en softwareudvikler, er bedst opsummeret af Ryan Daigle fra Spredt,

Arbejdseksempler skal afspejle, hvad virksomheden gør, og hvordan den gør det. De handler lige så meget om, at ansøgeren måler virksomheden som virksomheden måler ansøgeren.

En eksempel på en programmeringsopgave bør afspejle de typer problemer, som virksomheden løser, og det miljø, som de gør det i. Det betyder, at du skal se, hvor fortrolig din kandidat er med at bruge de biblioteker og frameworks, som dit team allerede bruger. Som Ryan påpeger, handler testen ikke kun om at vurdere kandidatens færdigheder. Den understøtter også en god kandidatoplevelse ved at give kandidaten en smagsprøve på de teknologier, som virksomheden anvender, og de typer opgaver, som de bruger dem til.

Opgaven skal udføres i en virkelighedssituation

U.S. Office of Personnel Management har foretaget omfattende forskning i effektiviteten af forskellige metoder til at bestemme kvalifikationer ved ansættelse. Deres konklusion er, at,

Da arbejdsprøverne kræver, at ansøgerne udfører opgaver, der er identiske eller meget lig opgaverne i jobbet, er man meget omhyggelig med at forsøge at efterligne arbejdsmiljøet så meget som muligt.

I et interview med en softwareudvikler er der to områder, hvor du skal tage højde for denne effekt. Det første er det, vi nævnte ovenfor om, at opgaven er den samme slags opgave, som kandidaten vil udføre, hvis han/hun bliver ansat.

Det andet er at gøre arbejdsmiljøet ens. Giv kandidaten adgang til alle de ressourcer, som han/hun normalt ville bruge på arbejdet. Disse omfatter biblioteker og rammer samt eksterne ressourcer som f.eks. Stack Overflow, GitHub, og Google, ligesom dine nuværende udviklere bruger.

Dette gælder også for den IDE, de bruger. Lad dem bruge det, de er mest fortrolige med. Det giver ingen mening at spilde deres tid på at lære et værktøj at kende, som de kun vil bruge under interviewet, når de kunne udføre opgaven.

Du bør håndhæve en tidsbegrænsning

Du bør fastsætte en tidsgrænse for din arbejdsprøveDet er vigtigt at fastsætte en tidsgrænse for testen af to grunde. Den første er, at ingen udvikler har uendeligt meget tid til at perfektionere sin kode. På et vist tidspunkt skal de afslutte deres projekt, for at det har nogen værdi.

Den anden er, at en tidsbegrænsning hjælper dig med at definere omfanget af det, du forventer af kandidaten. Hvis du blot giver en opgave og beder kandidaten om at aflevere den, når han/hun er færdig, betyder det så, at han/hun skal bruge en uge på at gøre den perfekt, eller skal han/hun gøre sit bedste inden for en time? Ved at tilføje en tidsgrænse kan man fjerne den fordomme, som nogle programmører har over for arbejdsprøvetest som jasode på Hacker News. De har ikke tid til at bruge en uge på at lave et projekt og vil derfor droppe ud af din rekrutteringstragt, hvis programmeringstesten ser for åben ud.

Du skal bedømme testen i henhold til en rubrik

Vi har andetsteds på denne blog talt om vigtigheden af at have en objektiv rubrik til brug ved samtaler. De hjælper fjerne skævheder ved at gøre evalueringsprocessen så objektiv som muligt. Det samme gælder for din arbejdsprøveprøve. Beslut dig for, hvilke kriterier du vil have for prøven, og hold dig til dem. Det vil hjælpe dig med at få de bedste folk ved at filtrere den støj fra, der kan sløre din bedømmelse.

Spørg bare Elena Grewal, Airbnbs chef for datavidenskab. I et interview i LA Timesforklarer hun, hvor vigtigt det er at bruge en rubrik, når man bedømmer en arbejdsprøve:


Elena Grewal forklarer, at arbejdsprøveprøven er vigtig for AirbnbVi kiggede nærmere på dette og indså, at de personer, der bedømte øvelsen, ikke havde nogen klar rubrik, så vi ændrede dette og gjorde det klart, hvad vi søgte, vi gjorde bedømmelsen konsekvent, og hvis en person bestod, blev vedkommende flyttet til næste runde.

Billedkilde: LinkedIn

Ændringen førte til en fordobling af antallet af kvinder, der blev ansat. Bemærk, at de ikke ændrede deres standarder. I stedet indførte de en større grad af objektivitet, som gav dem adgang til flere kvalificerede kandidater, hvilket var hele formålet med testen i første omgang.

Kandidaten bør have mulighed for at forberede sig og få detaljeret feedback kort efter

Hele formålet med denne prøve er, at kandidaten skal gøre sit bedste i en normal arbejdsopgave. Normalt kender man på arbejdet til de opgaver, som virksomheden udfører, og man bliver sjældent overrasket af nye opgaver i et helt nyt miljø. Du bør forklare præcist, hvad testen og opgaven vil handle om, så kandidaten ved præcis, hvad han/hun kan forvente.

Efter testen bør du give kandidaten detaljeret feedback om hans eller hendes præstation. Dette giver ikke kun en god kandidatoplevelse, det vil også forbedre din arbejdsgivers omdømme i udviklerkredse.

Hvordan forskellige virksomheder opbygger arbejdsprøvetest for softwareudviklere

En række forskellige virksomheder har valgt forskellige tilgange til at udarbejde deres egne arbejdsprøvetest. Her er et par eksempler, som du kan bruge.

PolicyStat (siden opkøbt af iContracts) har brugt denne taktik til over 300 kandidater til 6 forskellige stillinger på deres tekniske team. For dem alle giver de et specifikt projekt, som afspejler arbejdet så godt som muligt. Det betyder, at man skal gå mere detaljeret til værks end sprog og faktisk teste de specifikke teknologier, som teamet anvender, i deres tilfælde Django.

Kandidaterne bliver bedt om at indsende en pull request, der tilføjer en funktion og retter en fejl i et Django-baseret projekt.

Spredt er et betalingsværktøj, så deres arbejdsprøve er faktisk at oprette en ActiveMerchant gateway-adapter til en mock betalingsgateway. Dette er præcis den slags projekt, som deres udviklere laver hele tiden, så det passer perfekt til rollen.

Du kan faktisk se deres prøve på GitHub. Hvis du går derind, kan du se, hvordan de beskriver præcis, hvad opgaven er, hvordan den skal indsendes, hvad de leder efter, og hvad projektets omfang er.

Spreedly's arbejdsprøveprøve testSockpuppet.org/Latacora er en Rails butik. De tager en Rails-applikation, som de har implementeret, og skærer derefter nogle funktionelle områder ud af applikationen. Det kunne være en søgefunktion eller en opdatering af kundeordrer. Derefter beder de kandidaten om at tilføje funktionen igen.

DevSkillerhar vi taget konceptet med en arbejdsprøveprøve for softwareudviklere og bygget en platform til at automatisere processen for testeren og kandidaten. Testene kan gennemføres på platformen fra et hvilket som helst sted i verden, når kandidaten har tid og lyst. Testen evalueres derefter automatisk, hvilket sparer tid for en teknisk interviewer. Rekrutteringsmedarbejdere kan enten vælge mellem en af deres mange forudlavede tests eller bygge deres egne med den faktiske kode, som virksomheden bruger.

Et godt eksempel på en DevSkiller-test er denne test for Java-udviklere, der skriver RESTful-blogapplikationer. Som du kan se, beskriver opgavebeskrivelsen de teknologier, der vil være nyttige (Spring, Spring Data JPA, Hibernate m.fl.) og opgaven (tilføj en kommentarfunktion).

DevSkiller's arbejdsprøve testØverst på siden er der et nyttigt nedtællingsur, så ansøgeren ved, hvor lang tid han/hun har til rådighed.

Nedtællingsuret i DevSkiller's arbejdsprøve testOg der er en byggekonsol, så kandidaten kan køre tests under arbejdsprøven.

Byggekonsollen i DevSkillers arbejdsprøveprøve testIdeen er at skabe klare parametre for projektet, men at give kandidaten mulighed for at bruge alle de ressourcer, der er til rådighed for ham/hende, til at finde en løsning. I modsætning til de andre løsninger fremskynder DevSkiller processen ved automatisk at sende testen til kandidaten, modtage den færdige test, klone opgaven, opbygge den og gennemgå den uden at kvaliteten af testene går tabt. Som Arthur Brooks fra CodeSpaghetti udtrykker det således: "[Devskiller]-testen er meget grundig og giver et meningsfuldt overblik over kandidatens præstationer." Til sidst får rekrutteringsmedarbejderen en detaljeret redegørelse for resultaterne, så kandidaten kan sammenlignes objektivt med de andre kandidater, der tager testen.

Dit næste skridt

Arbejdsprøvetest er en utrolig præcis måde at vurdere, om din kandidat til softwareudvikling kan klare jobbet eller ej. Uanset om du bygger din egen test fra bunden eller bruger en automatiseret platform, er der her nogle ting, du skal huske, når du bygger testen.

Gør

  • Objektiv måling af indsendelsen
  • Gør opgavens omfang overskueligt og veldefineret
  • Test det specifikke programmeringsmiljø, du bruger, med disse teknologier

Lad være

  • Brug dette som en mulighed for at få gratis arbejde fra kandidaterne*

*Der har tidligere været nogle tilfælde (se denne spørgsmål fra Quora), hvor virksomheder, ofte nystartede virksomheder med knappe midler, bruger en ansættelsesopgave som en billig måde at tilføje en funktion til deres produkt på. Lad være med at gøre det. Dine kandidater vil finde ud af det, og det vil afskrække dem fra din virksomhed. Ikke nok med det, de vil også fortælle det til deres venner og ødelægge dit arbejdsgiveromdømme.

Hvordan vurderer du dine kandidaters kodningsevner? Jeg ser frem til at høre dine tanker i kommentarfeltet nedenfor!

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo