Ich denke, unser Unternehmen kann Herausforderungen schaffen, um Kandidaten für Softwareentwickler zu finden, die:
- Gut darin, Probleme zu lösen, nicht darum, Personalvermittler zu überzeugen.
- Eher Angst haben, auf einer Karrieremesse zu uns zu kommen.
- Wahrscheinlicher, dass sie in ihrem aktuellen Programmierjob nicht ausgelastet sind, aber zu introvertiert, um etwas dagegen zu unternehmen.
Ein Beispiel finden Sie in diesem Artikel , in dem beschrieben wird , wie Facebook mithilfe von Piet eine E-Mail-Adresse in einem Bild versteckt .
Ich kann einfach keine Studien oder harten Daten darüber finden, ob dies tatsächlich funktioniert oder nicht.
Antworten:
Wie jedes Werkzeug können sie äußerst hilfreich oder äußerst gefährlich sein. Eine Bohrmaschine macht Ihnen das Leben so viel leichter - bis Sie Ihre Hand durchbohren und in der Notaufnahme landen. Gleiches gilt für die Programmierherausforderungen bei der Personalbeschaffung.
Das Gute : Dies ist möglicherweise eine effektive Methode, um jemanden zu erkennen, der auf dem Papier als Programmierer möglicherweise nicht so überzeugend ist. Derjenige mit einem Abschluss in etwas, das sehr wenig mit dem zu tun hat, was die Leute normalerweise als "Programmieren" betrachten - Biologie, Politikwissenschaft, Kunstgeschichte ...
Wenn sie Ihre Herausforderungen meistern, dann großartig. Sie haben das Programmieren irgendwie gelernt und es steckt anscheinend fest. Wenn sie festsitzen, ist ihre Bewerbung möglicherweise nur etwas, das durch die Personalabteilung gerutscht ist.
Das Schlechte : Eine schlecht geschriebene Programmierherausforderung bewertet die Programmierfähigkeiten nicht wirklich . Es testet das Lösen von Rätseln mittels Programmierkenntnissen . Das Problem ist, dass es sich bei der zweiten Frage um eine Frage mit zwei Variablen handelt - sind Sie gut im Lösen von Rätseln und können Sie das genannte Lösen von Rätseln über Code durchführen? Es ist möglich, einen perfekt talentierten Programmierer zu haben, der beim Lösen von Rätseln völlig versagt.
Die meisten Programmierprobleme, die ich gesehen habe, scheitern auch daran, Personen zu erkennen, die dem nahe stehen , was Sie wollen, je nachdem, wie es geschrieben wurde.
Es gibt Möglichkeiten, beide zu mildern. Für letztere würde ich in Betracht ziehen, "Teilkredite" in Form von Lösungen zu akzeptieren, die sich nicht wirklich anbieten. "So würde ich das lösen ..." usw., wenn Sie wirklich nach Problemen suchen Löser. Immerhin codieren nur sehr wenige Menschen ganz alleine, und wenn ihre Antwort richtig gewesen wäre, wenn sie einen älteren Kollegen fragen könnten: "Hey Jim, kennen Sie eine gute Möglichkeit, X zu implementieren?" dein Team.
Ersteres ist etwas schwieriger, denn die Last dafür liegt bei Ihnen. Wähle Rätsel / Probleme / Herausforderungen, die wichtig sind. Wenn noch nie jemand in Ihrer Gruppe auf etwas gestoßen ist, das dem Problem des Handlungsreisenden in seiner Arbeit auch nur annähernd ähnelt, sollten Sie Travelling Salesman nicht zu einer cleveren Herausforderung machen. Auf diese Weise versagen sie, wenn sie den Problemlösungsaspekt von "Lösen Sie das Problem und kodieren Sie es" nicht beherrschen, zumindest bei etwas, das tatsächlich auftaucht, anstatt bei einem willkürlichen Schachzug, den Ihr Team während des Mittagessens ausspuckte.
quelle
Sehr effektiv.
... solange Ihr Rekrutierungsprozess nicht nur mit Programmierproblemen verbunden ist. Ich ärgere mich und hasse es, die technische Bewertung eines Interviews vorzunehmen, aber es ist ein einfaches Maß, um Idioten herauszufiltern. Das Herausfiltern von Idioten ist der Kern des Rekrutierungsprozesses, damit Sie mehr Zeit für diejenigen aufwenden können, die für die Rolle geeignet sind .
Ich halte es beim Interview für sehr wichtig zu sehen, was die Leute unter Druck sagen. Wenn sie dazu neigen, einen Haufen eklatanten Mist auszuspucken, ist das leicht zu erkennen, und ich werde wissen, dass diese Person meine Zeit nicht wert ist.
Das ist keine schlechte Sache. Wenn Ihr potenzieller Kandidat nicht bereit ist zu wetten, dass er es wert ist, dort angestellt zu werden, möchten Sie ihn dann wirklich einstellen?
quelle
Ich gehe davon aus, dass Sie möchten, dass jemand Teil eines Teams ist - als solcher ist der bessere Programmierer die Person, die besser mit den vorhandenen Teammitgliedern zusammenarbeitet. Sie möchten eine Gruppe von Menschen zusammenbringen, die effektiv miteinander kommunizieren können, die tatsächlich gut miteinander auskommen (sie müssen keine Freunde sein, aber sie brauchen ein gutes Verhältnis und Respekt), die bereit sind zuzustimmen und Verwenden Sie gemeinsame Entwicklungsstandards (Code und Prozess), die bereit sind, ihren Hochschulen zu helfen, wenn sie sich mit einem neuen Problem befassen oder eine mentale Blockade haben (Vier-Augen-Theorie). Sie müssen auch eine Mischung aus Persönlichkeitstypen finden. Wenn Sie also ein Team von Introvertierten haben, die selten sprechen, kann es durchaus hilfreich sein, ein gesprächigeres Teammitglied hinzuzuziehen, um die Teamdynamik zu verbessern, wodurch das Team produktiver wird. Auf der anderen Seite,
Nachdem Sie eine Person dazu gebracht haben, in diese Mischung zu passen, sollten Sie die technischen Fähigkeiten / Fertigkeiten berücksichtigen. Auch diese müssen sich ergänzen. Jeder hat andere Bereiche, in denen er stark ist, andere sind in Ordnung und einige haben keine Ahnung. Sie müssen also einen Stärkenmix zusammenstellen, der für das jeweilige Projekt relevant ist. Denken Sie daran, dass ein fortgeschrittener Programmierer, der gut mit einem guten Programmierer zusammenarbeitet, das Niveau seiner Arbeit von der stärkeren Person erhöht bekommt. Das schwache Glied in der Kette sind Beziehungen, nicht Fähigkeiten (vorausgesetzt, die Fähigkeit ist im Team)
Viel Glück beim Zusammenstellen.
quelle