Warum ein Arbeitsprobe-Test die Software-Entwickler ermittelt, die Sie einstellen müssen

März 21, 2018
Rekrutierungs-Artikel Liste Arbeitsprobe Post

Bevor es einfach war, einen Arbeitsprobentest an jeden zu geben, der in Ihren technischen Rekrutierungstrichter fiel, war der technische Einstellungsprozess ein Minenfeld. Noch bevor ich in die Branche einstieg, hörte ich Geschichten über die Frustrationen, mit denen meine Freunde und Kollegen konfrontiert waren, als sie versuchten, den technischen Interviewprozess sowohl als Kandidaten als auch als Personalverantwortliche zu bewältigen.

Bewerber wurden mit einer Flut von irrelevanten, zeitraubenden und entmutigenden algorithmischen Tests und Whiteboard-Interviews konfrontiert, die vor allem Hochschulabsolventen bevorzugten und ihnen keinen Einblick in den Job gaben. Ebenso schwierig war es für Recruiter und Personalverantwortliche. Sie hatten nur wenige effektive Methoden, um herauszufinden, welche ihrer Dev-Kandidaten später gute Arbeit für sie leisten würden. Also nutzten sie das, was verfügbar war, und mussten sich mit der Variabilität der Ergebnisse abfinden. Aber es gibt einen besseren Weg.

Der Arbeitsprobentest ist in anderen Bereichen eine gut etablierte Idee, die den Einstellungsprozess revolutioniert hat, aber nun auch in der Tech-Branche an Zugkraft gewinnt.

Erfahren Sie mehr über technische Interviews und Kompetenztests in Der ultimative Leitfaden für das technische Interview.

Was ist ein Arbeitsprobentest?

Einfach definiert ist ein Arbeitsprobentest ein Test, der laut dem ehemaligen Senior Vice President of People Operations von Google Laszlo Bock,


Laszlo Bock erklärt, was ein Arbeitsprobentest ist.(...) beinhaltet, dass den Bewerbern eine Arbeitsprobe gegeben wird, die derjenigen ähnlich ist, die sie in dem Job machen würden, und dass ihre Leistung dabei bewertet wird.

Bildquelle: VerlinktIn


Das klingt ziemlich einfach, nicht wahr? Es klingt fast wie eine Probezeit, aber Arbeitsproben-Tests unterscheiden sich dadurch, dass sie alle diese Kriterien von Sockpuppet.org:

  • Sie spiegeln so genau wie möglich die tatsächliche Arbeit wider, die ein Kandidat in seinem Job ausführen muss
  • Sie sind standardisiert, so dass jeder Kandidat den gleichen Test durchläuft
  • Sie generieren Daten und eine Note, nicht ein einfaches Pass/Fail-Ergebnis
  • Sie sind viel kürzer, in der Regel nicht mehr als eine oder zwei Stunden

Wenn es also keine Studie ist, was ist es dann? Ryan Daigle, Leiter der Technik bei Spreedly drückt es am besten aus:


Ryan Daigle erklärt, was ein Arbeitsprobentest ist.Eine Arbeitsprobe ist eine objektiv und blind bewertete domänenspezifische Entwicklungsaufgabe, die der Kandidat in seiner eigenen Zeit bearbeitet.

Bildquelle: VerlinktIn


Mit anderen Worten: eine Software-Entwicklungsaufgabe. Warum also den zusätzlichen Aufwand betreiben, um Ihre Kandidaten auf diese Weise zu testen?

Ein Arbeitsproben-Test ist der beste Prädiktor für die zukünftige Leistung eines Entwicklers

Es gibt eine Vielzahl von Untersuchungen über die Wirksamkeit verschiedener Testmethoden für Bewerber. Die Ergebnisse dieser Studien weisen im Allgemeinen darauf hin, dass Arbeitsprobentests der beste Prädiktor für die zukünftige Leistung sind.

Frank L. Schmidt von der University of Iowa und John E. Hunter von der Michigan State University haben eine Überprüfung der vorangegangenen 85 Jahre an Forschung zu diesem Thema. Sie fanden heraus, dass Arbeitsprobentests so ziemlich Kopf an Kopf mit allgemeinen mentalen Eignungstests (GMA) als beste Prädiktoren für die zukünftige Leistung liegen, mit dem Bonus, dass sie Minderheiten nicht benachteiligen, wie es GMA-Tests tun.

Der Arbeitsprobentest ist validiert in "The Validity and Utility of Selection Methods in Personnel Psychology: Practical and Theoretical Implications of 85 Years of Research Findings"Quelle: "Die Gültigkeit und Nützlichkeit von Auswahlmethoden in der Personalpsychologie:Praktische und theoretische Implikationen von 85 Jahren Forschungsergebnissen"

Nicht nur die Voreingenommenheit schadet Ihren Rekrutierungsbemühungen indem Sie Ihren Kandidatenpool einschränken, aber nach Tichon Jelvis, leitender Datenwissenschaftler bei Target, kann es Sie für Klagen nach dem Prinzip der disparaten Auswirkung öffnen. Damit sind Werksstichprobentests der klare Gewinner, eine Erkenntnis, die Laszlo Bock, der in diesem BBC-Interview zeigt, dass sie die besten Indikatoren für die zukünftige Leistung von allen Tests waren, die sie bei Google durchgeführt haben.

Aber diese Erkenntnisse sind allgemein, wie lassen sie sich also auf das Screening von Softwareentwicklern anwenden?

Was macht einen guten Arbeitsprobentest für Softwareentwickler aus?

Was macht einen guten Arbeitsproben-Test für Software-Entwickler aus?Damit ein Arbeitsprobentest effektiv ist, muss er eine Aufgabe enthalten, die wichtig und repräsentativ der zu erledigenden Arbeit. Was das für einen Softwareentwickler bedeutet, fasst Ryan Daigle von Spreedly,

Arbeitsproben sollten ein Spiegelbild dessen sein, was das Unternehmen tut und wie es das tut. Dabei geht es sowohl darum, dass der Bewerber das Unternehmen misst, als auch darum, dass das Unternehmen den Bewerber misst.

Eine Beispielprogrammieraufgabe sollte die Arten von Problemen widerspiegeln, die das Unternehmen löst, und die Umgebung, in der es dies tut. Das bedeutet, zu sehen, wie gut der Kandidat mit den Bibliotheken und Frameworks umgehen kann, die Ihr Team bereits verwendet. Wie Ryan betont, geht es bei dem Test nicht nur darum, die Fähigkeiten des Bewerbers zu beurteilen. Er unterstützt auch eine gute Kandidaten-Erfahrung indem der Kandidat einen Vorgeschmack auf die Technologien erhält, die das Unternehmen einsetzt, und die Arten von Aufgaben, für die sie verwendet werden.

Die Aufgabe sollte in einer realen Umgebung durchgeführt werden

Das U.S. Office of Personnel Management hat umfangreiche Untersuchungen über die Wirksamkeit verschiedener Methoden zur Bestimmung von Einstellungsfähigkeiten durchgeführt. Ihr Schlussfolgerung ist das,

Da die Arbeitsproben von den Bewerbern verlangen, Aufgaben auszuführen, die mit den Aufgaben der Stelle identisch oder sehr ähnlich sind, wird mit großer Sorgfalt versucht, die Arbeitsumgebung so weit wie möglich nachzuahmen.

In einem Vorstellungsgespräch für einen Softwareentwickler gibt es zwei Bereiche, in denen Sie diesen Effekt berücksichtigen müssen. Der erste ist das, was wir oben darüber erwähnt haben, dass die Aufgabe die gleiche Art von Aufgabe ist, die der Bewerber machen wird, wenn er eingestellt wird.

Die zweite besteht darin, die Arbeitsumgebung gleich zu gestalten. Geben Sie dem Kandidaten Zugang zu allen Ressourcen, die er normalerweise bei der Arbeit verwenden würde. Dazu gehören Bibliotheken und Frameworks, aber auch externe Ressourcen wie Stapel-Überlauf, GitHubund Google, genau wie Ihre aktuellen Entwickler verwenden.

Dies gilt auch für die IDE, die sie verwenden. Lassen Sie sie diejenige verwenden, mit der sie sich am wohlsten fühlen. Es macht keinen Sinn, ihre Zeit mit dem Kennenlernen eines Tools zu verschwenden, das sie nur im Vorstellungsgespräch verwenden werden, wenn sie die Aufgabe erledigen könnten.

Sie sollten ein Zeitlimit durchsetzen

Sie sollten ein Zeitlimit für Ihre Arbeitsprobenprüfung durchsetzenDas Setzen eines Zeitlimits für den Test ist aus zwei Gründen wichtig. Der erste ist, dass kein Entwickler unendlich viel Zeit hat, um seinen Code zu perfektionieren. Ab einem bestimmten Punkt müssen sie ihr Projekt fertigstellen, damit es überhaupt einen Wert hat.

Die zweite ist, dass ein Zeitlimit Ihnen hilft, den Umfang dessen zu definieren, was Sie vom Kandidaten erwarten. Wenn Sie einfach eine Aufgabe geben und den Kandidaten bitten, sie abzugeben, wenn er fertig ist, bedeutet das, dass er sich eine Woche Zeit nehmen sollte, um sie perfekt zu machen, oder sollte er innerhalb einer Stunde sein Bestes geben? Das Hinzufügen eines Zeitlimits hilft, die Voreingenommenheit zu beseitigen, die einige Programmierer gegenüber Arbeitsprobentests wie jasode auf Hacker-Nachrichten. Sie haben nicht die Zeit, sich eine Woche Zeit für ein Projekt zu nehmen und werden daher aus Ihrem Rekrutierungstrichter aussteigen, wenn der Programmiertest zu offen aussieht.

Sie sollten den Test nach einer Rubrik bewerten

Wir haben an anderer Stelle in diesem Blog darüber gesprochen, wie wichtig es ist, eine objektive Rubrik für Vorstellungsgespräche zu haben. Sie helfen Vorurteile beseitigen indem Sie den Bewertungsprozess so objektiv wie möglich gestalten. Das Gleiche gilt für Ihren Arbeitsprobentest. Entscheiden Sie sich für die Kriterien, die Sie für den Test haben wollen, und halten Sie sich dann an diese. Es wird Ihnen helfen, die besten Leute zu bekommen, indem Sie das Rauschen herausfiltern, das Ihr Urteilsvermögen trüben kann.

Fragen Sie einfach Elena Grewal, Airbnbs Head of Data Science. In einem Interview in der LA Timeserklärt sie, wie wichtig die Verwendung einer Rubrik bei der Benotung eines Arbeitsprobentests ist:


Elena Grewal erklärt, warum der Arbeitsprobentest für Airbnb wichtig istWir haben uns das genau angeschaut und festgestellt, dass die Leute, die die Übung benoteten, keine klare Rubrik hatten, also haben wir das geändert und klar gemacht, wonach wir suchen, wir haben die Benotung einheitlich gemacht, und wenn eine Person erfolgreich war, wurde sie in die nächste Runde versetzt.

Bildquelle: VerlinktIn

Die Änderung führte zu einer Verdoppelung der Anzahl der eingestellten Frauen. Beachten Sie, dass sie ihre Standards nicht geändert haben. Stattdessen führten sie ein höheres Maß an Objektivität ein, das ihnen Zugang zu mehr qualifizierten Bewerbern verschaffte - der eigentliche Sinn des Tests.

Der Kandidat sollte die Möglichkeit haben, sich vorzubereiten und bald darauf ein detailliertes Feedback zu erhalten

Bei diesem Test geht es darum, dass der Kandidat sein Bestes bei einer normalen Arbeitsaufgabe gibt. Normalerweise kennt man bei der Arbeit die Arten von Aufgaben, die das Unternehmen erledigt, und wird selten von neuen Aufgaben in einer völlig neuen Umgebung überrascht. Sie sollten genau erklären, worum es bei dem Test und der Aufgabe gehen wird, damit der Kandidat genau weiß, was ihn erwartet.

Nach dem Test sollten Sie dem Kandidaten ein ausführliches Feedback zu seiner Leistung geben. Das sorgt nicht nur für eine gute Kandidaten-ErfahrungEs wird auch Ihren Ruf als Arbeitgeber in der Entwicklergemeinschaft verbessern.

Wie verschiedene Unternehmen Arbeitsprobentests für Softwareentwickler erstellen

Eine Reihe verschiedener Unternehmen haben unterschiedliche Ansätze zur Erstellung eigener Arbeitsprobentests gewählt. Hier sind ein paar Beispiele, die Sie verwenden können.

PolicyStat (inzwischen von iContracts übernommen) hat diese Taktik für über 300 Kandidaten für 6 verschiedene Positionen in ihrem Tech-Team verwendet. Für alle geben sie ein spezifisches Projekt vor, das die Arbeit so genau wie möglich widerspiegelt. Das bedeutet, dass sie mehr als nur Sprache verwenden und tatsächlich die spezifischen Technologien testen, die das Team verwendet, in ihrem Fall Django.

Die Kandidaten werden gebeten, einen Pull Request einzureichen, der ein Feature hinzufügt und einen Fehler in einem Django-basierten Projekt behebt.

Spreedly ist ein Tool für den Zahlungsverkehr, daher besteht ihr Arbeitsbeispiel darin, einen ActiveMerchant-Gateway-Adapter für ein Mock Payment Gateway zu erstellen. Dies ist genau die Art von Projekt, die ihre Entwickler ständig machen, so dass es perfekt in die Rolle passt.

Sie können sich ihr Muster sogar auf GitHub. Wenn Sie dorthin gehen, können Sie sehen, wie sie genau darlegen, was die Aufgabe ist, wie man sie einreicht, wonach sie suchen, und den Umfang des Projekts.

Spreedly's Arbeitsproben-TestSockpuppet.org/Latacora ist ein Schiene Geschäft. Was sie tun, ist, eine Rails-Anwendung zu nehmen, die sie bereitgestellt haben, und dann einige funktionale Bereiche der Anwendung herauszuschneiden. Dies könnte eine Suchfunktion oder ein Kundenbestellungs-Updater sein. Sie bitten dann den Kandidaten, die Funktion wieder hinzuzufügen.

Unter DevSkillerhaben wir das Konzept eines Arbeitsprobentests für Softwareentwickler aufgegriffen und eine Plattform entwickelt, um den Prozess für den Tester und den Kandidaten zu automatisieren. Die Tests können auf der Plattform von jedem Ort der Welt aus durchgeführt werden, wenn der Kandidat es wünscht. Der Test wird dann automatisch ausgewertet und spart die Zeit eines technischen Interviewers. Recruiter können entweder aus einem der vielen vorgefertigten Tests wählen oder ihre eigenen mit dem tatsächlichen Code, den das Unternehmen verwendet, erstellen.

Ein gutes Beispiel für einen DevSkiller-Test ist dieser Test für Java-Entwickler, die RESTful-Blog-Anwendungen schreiben. Wie Sie sehen können, legt die Aufgabenbeschreibung die Technologien fest, die hilfreich sein werden (Spring, Spring Data JPA, Hibernate u.a.) und die Aufgabe (Hinzufügen einer Kommentarfunktion).

DevSkiller's Arbeitsproben-TestOben auf der Seite befindet sich eine hilfreiche Countdown-Uhr, damit der Kandidat weiß, wie viel Zeit er hat.

Die Countdown-Uhr in DevSkiller's Arbeitsproben-TestUnd es gibt eine Build-Konsole, damit der Kandidat während des Arbeitsproben-Tests Tests ausführen kann.

Die Build-Konsole in DevSkillers Arbeitsbeispiel-TestDie Idee ist, klare Parameter für das Projekt zu erstellen, aber dem Kandidaten die Möglichkeit zu geben, alle ihm zur Verfügung stehenden Ressourcen zu nutzen, um eine Lösung zu finden. Im Gegensatz zu den anderen Lösungen beschleunigt DevSkiller den Prozess, indem es den Test automatisch an den Kandidaten sendet, den fertigen Test empfängt, die Aufgabe klont, erstellt und überprüft, ohne dass die Qualität der Tests beeinträchtigt wird. Wie Arthur Brooks von CodeSpaghetti drückt es so aus: "[Devskiller]-Tests sind sehr gründlich und geben einen aussagekräftigen Überblick über die Leistung des Kandidaten." Am Ende erhält der Recruiter eine detaillierte Darstellung der Ergebnisse, so dass der Kandidat objektiv mit den anderen Kandidaten, die den Test absolvieren, verglichen werden kann.

Ihr nächster Schritt

Arbeitsprobentests sind eine unglaublich genaue Methode, um zu beurteilen, ob Ihr Softwareentwicklungskandidat die Aufgabe erfüllen kann oder nicht. Egal, ob Sie Ihren eigenen Test von Grund auf neu erstellen oder eine automatisierte Plattform verwenden, hier sind einige Dinge, die Sie bei der Erstellung des Tests beachten sollten.

Machen Sie

  • Objektive Messung der Vorlage
  • Machen Sie den Umfang der Aufgabe überschaubar und gut definiert
  • Testen Sie die spezifische Programmierumgebung, die Sie verwenden, mit diesen Technologien

Tu es nicht.

  • Nutzen Sie dies als Gelegenheit, um kostenlose Arbeit von den Kandidaten* zu erhalten

*In der Vergangenheit hat es einige Fälle gegeben (siehe diesen Frage von Quora), in denen Unternehmen, oft kapitalschwache Startups, eine Einstellungsaufgabe als billige Möglichkeit nutzen, um ihrem Produkt eine Funktion hinzuzufügen. Tun Sie es einfach nicht. Ihre Kandidaten werden es herausfinden und es wird sie von Ihrem Unternehmen abschrecken. Nicht nur das, sie werden es ihren Freunden erzählen und damit Ihren Ruf als Arbeitgeber ruinieren.

Wie beurteilen Sie die Coding-Fähigkeiten Ihrer Kandidaten? Ich freue mich darauf, Ihre Gedanken in den Kommentaren unten zu hören!

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.