Ich wurde gebeten, an einem Vorstellungsgespräch mit einem Kandidaten für eine Junior-Programmierstelle in dem Unternehmen, in dem ich arbeite, teilzunehmen. Das Vorstellungsgespräch umfasst einen Kollegen von mir und einen Vertreter der Personalabteilung.
Beim Studieren der Lösungen für die Probleme (der anfängliche Test) habe ich festgestellt, dass einer von ihnen für einen Neuling ziemlich fortgeschritten aussah und das Gefühl hatte, dass er vom Kandidaten nicht gelöst wurde. Ich konnte schnell die genaue Lösung finden (gleiche Einrückung, gleiche Struktur, nur ein paar Variablennamen geändert, also klar kopiert).
Die Programmierplattform weist ausdrücklich darauf hin, dass das vollständige Kopieren einer Lösung nicht erlaubt ist (nur API-Dokumentation, StackOverflow usw. können verwendet werden)
Ich habe dem anderen Kollegen bereits erzählt, was ich gefunden habe, da die Stellenausschreibung in seiner Abteilung liegt und ich empfohlen habe, Kandidaten zu bevorzugen, die ihre Lösungen geliefert haben, auch wenn sie weniger Punkte haben.
Ich frage mich, wie ich darauf während des Vorstellungsgesprächs reagieren soll .
Frage: Wie geht man mit einem Kandidaten um, der beim Test kopiert hat?
[BEARBEITEN]
Danke an alle für die konstruktiven Kommentare und Antworten. In der Tat ist der Prozess nicht in Ordnung, da die meisten Codierungsprobleme mindestens 2 Jahre alt sind. Leider kann ich den Prozess nicht kontrollieren, aber ich kann meinem Vorgesetzten vorschlagen, ihn zu ändern (dh sicherzustellen, dass Probleme geändert/aktualisiert werden).
Das Interview – der Kandidat zeigte ein bescheidenes Wissen und konnte nicht nachweisen, dass er die Konzepte begreift, die für den von ihm geschriebenen Code erforderlich sind. Mein Kollege schlug vor, dass wir glauben, dass er Code von woanders verwendet haben könnte, und er war überrascht, dass wir es herausgefunden hatten.
Sie machen hier Vermutungen, wir haben keine Garantie dafür, dass der Kandidat betrogen hat, nur einen sehr großen Verdacht, dass er es getan hat. Anstatt sie zu konfrontieren, da Sie bereits ein Interview mit ihnen haben, bitten Sie sie, Sie durch ihre Lösung zu führen. Stellen Sie sicher, dass sie verstanden haben, was sie geschrieben haben und wie es funktioniert. Dies sollte schnell hervorheben, ob die Person betrogen hat oder nicht.
Es besteht immer die Möglichkeit, dass sie entweder eine sehr ähnliche Antwort erhalten haben oder der Benutzer ist, der die Frage auf SO beantwortet hat, und jemanden anzurufen, wenn Sie sich irren könnten, ist nicht der beste Weg. Es ist besser, nachzuforschen und zu beweisen, dass Sie Recht haben.
Man weiß nie, vielleicht sind sie so gut und haben die gleiche Antwort gefunden? Wenn ja, haben Sie einen starken Kandidaten für den Job (vorausgesetzt, die Antwort war gut) und Sie haben keine Brücken abgebrochen, indem Sie ihn direkt als Lügner bezeichnet haben.
Wenn sich herausstellt, dass sie betrogen haben, sollten sie verstehen können, dass sie bei Ihrer Befragung erwischt wurden. Lassen Sie sie einfach mit einem Danke, aber nein danke gehen und belassen Sie es dabei. Konfrontation, insbesondere in einem Vorstellungsgespräch, ist nicht der richtige Weg.
Wie geht man mit einem Kandidaten um, der beim Test kopiert hat?
Ich würde Ihre Zeit nicht damit verschwenden, dem Kandidaten irgendetwas zu sagen, er wird natürlich leugnen, dass er betrogen hat. Wenn Sie sicher sind, dass er geschummelt hat, lassen Sie es den Personalchef wissen und empfehlen Sie ihm, sich andere Kandidaten anzusehen.
Wenn jemand betrügt, was wird er sonst tun, wenn Sie ihn einstellen?
Kurze Antwort : Vergessen Sie den Betrüger und wechseln Sie zu anderen Kandidaten.
Aus dem, was geschrieben steht (in der Frage und in Kommentaren , die später in einen Chat verschoben wurden), scheint es, dass die Regeln, die dem Kandidaten vorgelegt wurden, besagten, dass die Verwendung von SO erlaubt ist, sie fanden die Lösung auf SO. Daher scheint es mir nicht, dass sie betrogen haben, und es wäre unfair, den Kandidaten zu disqualifizieren. Aber es würde viel vom genauen Wortlaut der Regeln abhängen, wie sie dem Kandidaten präsentiert werden.
In Kommentaren sagten Sie,
SO und/oder andere Dokumentation können für kleine Dinge verwendet werden (z. B. wie man ein Array oder eine Liste in einer Sprache effizient sortiert).
Sicherlich ist dies nicht genau die Sprache, die dem Kandidaten präsentiert wurde? Wenn es nicht explizit war, was ein "kleines Ding" und was ein "großes Ding" ist, scheint mir, dass der Kandidat Ressourcen verwendet hat, die ausdrücklich erlaubt waren.
Es ist die Pflicht Ihres Unternehmens, eine Frage zu stellen, die nicht per Copy & Paste von SO beantwortet werden kann, wenn Sie Kandidaten erlauben möchten, sich auf SO zu beziehen, aber nicht Copy & Paste.
Ihre beste Lösung an dieser Stelle ist es, die Zeit für das persönliche Vorstellungsgespräch mit diesem Kandidaten zu nutzen, um herauszufinden, ob er tatsächlich über die erforderlichen Kenntnisse für die Position verfügt, und Ihre Screening-Fragen zu überarbeiten, bevor Sie sie dem nächsten Kandidaten stellen.
Wenn Ihr Unternehmen nach genialen Programmierern sucht, dann wählen Sie aus anderen Kandidaten aus, die die Kriterien erfüllen.
Wenn nicht, müssen Sie Ihr Konzept des Betrugs neu definieren - ist es Betrug, Stackoverflow, API-Dokumente und Github zu durchsuchen, um Lösungen für Probleme zu finden?
Welche rechtlichen Konsequenzen dieses angeblichen Betrugs gibt es? Wird das Unternehmen verklagt? Dann ist dieser Kandidat nichts für Sie.
Ist Ihr Quellcode offen? Jeder Grund, sie einzustellen, da sie bewiesen haben, dass sie sehr gut darin sind, Probleme zu lösen.
Wenn Sie irgendwelche Zweifel haben, bedenken Sie, dass dieser "Neuling-Betrüger" die höchsten Punktzahlen erzielt hat. Was werden sie in 5 Jahren tun, wenn sie die Möglichkeit haben, mit anderen Fachleuten in einem Team zusammenzuarbeiten, das sie anleiten kann ...
Und seien Sie in Ihrer Diskussion direkt: Lassen Sie sie wissen, dass sie die Erwartungen (in Bezug auf die Punktzahl) übertroffen haben, aber äußern Sie Ihre Zweifel und Bedenken – Sie werden beide etwas Neues lernen. Diplomatie ist ein schwieriges Geschäft – vielleicht überlassen Sie das dem Personalvertreter. Machen Sie die Good-Cop-Bad-Cop-Routine.
Imho, wenn ein Kandidat genug Code-Limit hat, um Ihnen das zu besorgen, was Sie brauchen, dann wird er definitiv eine Bereicherung sein, vielleicht sogar Ihren Job übernehmen, wenn Sie in den Ruhestand gehen.
Das Interview könnte auch einen Live-Code-Test beinhalten, wie in den Kommentaren angegeben, um das Verständnis des Junior-Programmierers für die erforderlichen Sprachen zu bewerten.
Es scheint, dass die meisten Menschen hier implizit davon ausgehen, dass die Moral entscheidend sein sollte, um den richtigen Kandidaten auszuwählen. Ich glaube, das ist ein falscher Ansatz. In einem Stellenauswahlverfahren ist es Ihr Ziel, den Kandidaten auszuwählen, der für das Unternehmen am profitabelsten ist.
Nun, ich sage nicht, dass die moralische Frage (zu betrügen oder nicht zu betrügen) nicht entscheidend sein sollte. Ich sage nur, dass diese Frage nicht als offensichtlich angesehen werden sollte.
Bearbeitungen:
- The Photon wandte ein, dass ein Mitarbeiter, der aus Profitgründen betrügen würde, das Unternehmen rechtlichen und anderen Gefahren aussetze.
Ja, das ist die allgemeine Argumentation der Leute, aber der Kandidat könnte glauben, dass es kein Betrug war oder er würde keinen wirklichen Schaden anrichten und wüsste, wo er in einer realen Situation aufhören müsste (vielleicht).
Natürlich würde ich solche Fehlverhalten nicht empfehlen, aber ich möchte nur verdeutlichen, dass man die Dinge nicht schwarz auf weiß sehen sollte. In realen Lebenssituationen gibt es viel Grau, und man sollte einen solchen Fall wahrscheinlich mit einem breiteren Blickwinkel untersuchen, als sich nur an die Moral zu halten.
- Wenn der Kandidat bei einem gut gestalteten Test schummelt (ich glaube nicht, dass dies der Fall ist), verlieren Sie die Chance, seine Fähigkeiten zu bewerten.
Vielleicht wäre ein gut gestalteter Test einer, der dieses Denken berücksichtigt, und ein Kandidat, der in der Lage ist, einen so gut gestalteten Test zu betrügen, könnte als klüger angesehen werden als das Testdesign selbst.
Mehr bearbeiten: Abschließend möchte ich hinzufügen, dass es IMO aus diesen Gründen, aber abhängig von Ihren Bedürfnissen, die klügste Wahl sein könnte, ihn mit Ihren Beobachtungen zu konfrontieren und ihm die Möglichkeit zu geben, seine Handlung zu rechtfertigen.
Vorausgesetzt , Sie haben Recht, dass er betrügt. Ich denke, dass Sie abhängig davon handeln sollten, was Sie bei dem Kandidaten suchen:
Programmierer sollen Probleme lösen. Wenn es Ihnen darum geht, produktiv zu sein, ist der Kandidat meiner Meinung nach perfekt, da er nicht versucht hat, ein bereits gelöstes Problem zu lösen, sondern eine vorhandene Lösung verwendet hat.
Wenn Sie sich Sorgen machen, ob der Kandidat das Wissen hat oder nicht, können Sie ein weiteres Interview vereinbaren, um ihn nach seiner Lösung zu fragen.
Wenn Sie nach jemandem mit hoher Ethik suchen, können Sie darüber nachdenken, ihn zu verwerfen, oder ihn bitten, einen weiteren Test durchzuführen, um zu sehen, ob er erneut versucht zu betrügen.
Persönlich halte ich das nicht für ein Problem, weil ich jemanden finde, der eine vorhandene Lösung verwenden kann, hilfreicher als jemand, der mehr Zeit damit verbringt, neuen Code zu schreiben, zu reparieren, verschiedene Ansätze auszuprobieren ...
Bist du sicher, dass er betrogen hat? Wenn ja: Es geht nicht um „Lösungsfindung für bereits gelöste Probleme“ oder „Produktivität“ oder „verfügt über genügend Wissen“. Es geht auch nicht darum, ob er aufgrund dessen, was er getan hat, getestet werden könnte oder nicht ... nein.
Er hat betrogen. Er hat ein Prinzip gebrochen. Wenn er das Korrektheitsprinzip nicht hat, sollte er Teil des Unternehmens sein? Betrug ist stehlen. Wenn er für einen Gewinn stiehlt, was wird er das nächste Mal (von Ihrer Firma) stehlen?
Wenn nein:
Wenn Sie wirklich denken, dass er gut ist, sagen Sie ihm, dass Sie ihn verdächtigen , beim Test zu schummeln, und bieten Sie ihm eine weitere Chance mit einem anderen Test. Aber ein guter Programmierer muss nicht schummeln. Und ein guter Programmierer wird nicht durch Schummeln gut.
Am Ende ist es Ihre Wahl. Mein Rat ist, nicht nur auf die Ergebnisse zu schauen, die ihn für den Job qualifizieren würden. Es spielt auch eine Rolle, welche Art von Person Sie einstellen.
Monika Cellio
Nacht
EpicKip
Only API documentation, StackOverflow etc. can be used
ähm... das hat er getan?Andy