**
Ich wage zu behaupten, dass Sie das nicht wollen.
Programmierer einzustellen, die nicht in der Lage sind, Probleme zu lösen und Code zu schreiben, ist ein guter Weg, ein Technologieunternehmen zu ruinieren. Und Sie werden die Programmierer, die nicht programmieren können (und davon gibt es eine Menge da draußen), nicht effektiv aussortieren können, wenn Ihr Einstellungsverfahren keine Art von Programmiertest beinhaltet.
Sind Sie bereit, Ihre Standards zu senken, weil jeder versucht, Programmierer einzustellen?
Vielleicht sind Sie es, aber ich denke nicht, dass Sie es tun sollten. Wie in den Kommentaren und Antworten bemerkt wurde, gibt es da draußen Kandidaten, die sich nicht die Mühe machen werden, Programmierübungen als Teil eines Bewerbungsgesprächs zu machen, weil sie es einfach nicht müssen, um einen Job zu bekommen.
Aber sind das wirklich die Leute, die Sie sowieso einstellen wollen? Diejenigen, die den Weg des geringsten Widerstandes gehen, das tun, was ihnen kurzfristig am meisten nützt, und sich nicht wirklich genug um Ihr Unternehmen kümmern, um eine einfache Programmierübung zu absolvieren? Das scheinen keine positiven Eigenschaften zu sein, und sie geben nicht viel Vertrauen in die Fähigkeit, diese Kandidaten langfristig an sich zu binden (was auch für ein Technologieunternehmen wichtig ist, da die Lernkurven tendenziell steil sind und die Kosten für den Ersatz des vorhandenen Personals sehr hoch sind).
Lassen Sie also diese anderen Unternehmen die Programmierer haben, die nicht einmal belästigt werden können. Sie wollen sie sowieso nicht einstellen. Im Gegensatz zu ihnen haben Sie einen Plan. Einen, der nicht auf dem Trugschluss “ein Programmierer ist ein Programmierer” basiert. Ihr Schwerpunkt sollte auf Qualität und Nachhaltigkeit liegen, nicht auf der Zahl der Mitarbeiter.
Ist es ein Problem, Kandidaten abzuschrecken?
Im Allgemeinen nein, solange sie aus einem guten Grund abgeschreckt werden. Sie wollen keine Leute einstellen, die nicht auf der Höhe der Zeit sind. Und einige der Leute, die sagen, dass sie aufgrund der hohen Nachfrage “nicht belästigt werden können”, könnten das tatsächlich als Ausrede benutzen, um eine Situation zu vertuschen, in der sie “nicht wirklich so gut im Programmieren sind und daher die ganze Woche brauchen würden, um eine einstündige Übung zu absolvieren”…
Es ist gut, diese Kandidaten zu verscheuchen. Sie wollen die fähigen, motivierten Kandidaten einstellen. Solange Sie diese nicht auch verscheuchen, sind Sie gut.
Jeder Kandidat, den Sie nicht verscheuchen, ist einer, den Sie ausprobieren und bewerten müssen. Und das kann schwierig sein, wenn Sie Ihren technischen Kandidaten keine technischen Übungen zur Beurteilung geben.
Wie kann ich unseren Einstellungsprozess verbessern?
Überprüfen Sie den Inhalt Ihrer Programmierübung. Ist er vernünftig und angemessen für einen Interview-Kontext?
Sie wollen nicht, dass etwas, das Tage (oder sogar Stunden) dauert, abgeschlossen wird. Was Sie wollen, ist etwas Einfaches, um die Leute auszusortieren, die nicht programmieren können, idealerweise mit genügend Raum für Nuancen, damit die Leute, die wirklich gut programmieren können, sich differenzieren können. Denken Sie daran, was Sie erreichen wollen (ungelernte und nicht seriöse Kandidaten aussortieren), und stellen Sie sicher, dass Ihr Inhalt auf dieses Ziel zugeschnitten ist. Übertreiben Sie es nicht.
Wenn Sie bereits über technisches Personal verfügen, können Sie es zur Gesundheitskontrolle (und/oder Hilfe bei der Gestaltung) Ihrer Übung einsetzen.
Und überlegen Sie auch, wie Sie die Übung verwalten. Wenn Sie ihnen einfach ein paar Unterlagen geben und sagen: “Hier, machen Sie das in der nächsten Woche und schicken Sie es mir per E-Mail”, wird das wahrscheinlich nur minimal effektiv sein.
Besser wäre es vielleicht, wenn Sie die Übung über ein Webportal laufen lassen könnten, in das die Kandidaten einchecken und die Übung starten können, und sobald sie starten, beginnt ein Timer, der von 1 Stunde herunterzuzählen beginnt. Dann reichen sie entweder innerhalb dieser Stunde etwas ein oder nicht. Das ist weniger ergebnisoffen, behält den Fokus des Kandidaten besser bei und bietet eine klare Deadline/Zeitbox, so dass 1) Sie nicht die ganze Woche auf ein Ergebnis warten müssen, das nie kommen wird, und 2) nicht qualifizierte Kandidaten nicht eine Woche ihrer Zeit wegwerfen, um Ihre Programmierübung zu beenden. Sie bekommen 1 Stunde, entweder lösen sie das Problem oder sie lösen es nicht, und Sie kennen das Ergebnis sofort.
Und noch besser wäre es, sie zu einem Vorstellungsgespräch vor Ort zu bringen. Stellen Sie sie einem Mitglied Ihres Entwicklungsteams vor. Schließen Sie sie in einem Raum zusammen mit einer Arbeitsstation ein. Lassen Sie Ihren Entwickler mit einigen allgemeinen/sanften Interviewfragen beginnen, und dann kann er mit dem Kandidaten ein Pairing programmieren, um die Programmierübung zu lösen. Dadurch erfahren Sie nicht nur, ob der Kandidat programmieren kann oder nicht, sondern auch, wie gut er mit Ihrem Team zusammenarbeitet. Ihr Entwickler sollte auch in der Lage sein, eine Menge zusätzlicher Informationen zu sammeln, die Sie einfach nicht bekommen, wenn Sie sich einen Haufen Code ansehen, den ein Kandidat geschrieben und Ihnen dann per E-Mail zugeschickt hat.
** Fazit**
Nein, Sie wollen Ihre Programmierübung nicht loswerden. Aber vielleicht möchten Sie sie auf geeignete Inhalte überprüfen, sicherstellen, dass die Lösung nicht zu lange dauert, und auch darauf achten, wie Sie sie in Ihren übergreifenden Interviewprozess einpassen.
Eine selbstgesteuerte Übung zum Mitnehmen ist wahrscheinlich nicht der beste Ansatz. Aber die Lösung dafür ist nicht, die Übung ganz zu streichen. Jedenfalls nicht, wenn man mit der Einstellung von Mist-Programmierern einverstanden ist.
Besser eine Menge schlechter Kandidaten und eine Handvoll guter Kandidaten verscheuchen, als die Schleusen zu öffnen und ein paar schlechte einzustellen.