Wie geht man mit einem Kandidaten um, der beim Eingangstest geschummelt hat?

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 .

  • dem Kandidaten sagen - dies würde ihn eindeutig in Verlegenheit bringen und ihn in Zukunft möglicherweise auch dazu bringen, ausführlicher zu betrügen
  • sagen Sie es dem Kandidaten nicht - dies könnte als unfair ausgelegt werden (Feedback ist unvollständig)

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.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .
Wie lang war das Code-Snippet?
Only API documentation, StackOverflow etc. can be usedähm... das hat er getan?
Genau. Der Kandidat hat im Rahmen der erlaubten Quellen recherchiert. Die Frage ist: Versteht das OP, wie der Code funktioniert?

Antworten (7)

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.

Philosophisch gesehen habe ich keine Garantie dafür, dass er geschummelt hat, aber praktisch keine Erfahrung (aus dem Lebenslauf) in der Webentwicklung zu haben und einen verworrenen JS-Code zu schreiben, der praktisch mit einer SO-Antwort identisch ist, ist äußerst unwahrscheinlich.
In der Tat ist es jedoch unschuldig, bis seine Schuld bewiesen ist. Sie wissen nicht, wer diese SO-Antwort ursprünglich geschrieben hat, es könnte Ihr Bewerber sein. Das ist höchstwahrscheinlich nicht der Fall und sie werden bei der ersten Abfrage in ihren Code fallen, aber es ist besser, sie den Fehler machen zu lassen, als sie zu beschuldigen
„Unschuldig bis zum Beweis der Schuld“ gilt nur vor Gericht. Die Regel für Vorstellungsgespräche lautet „Keine Einstellung bis zur nachgewiesenen Einstellung“.
Wenn die Anweisungen besagen, dass Sie nicht aus dem Internet kopieren sollten, hat die Person die Anweisungen nicht befolgt oder war nicht vernünftig genug, um anzugeben, dass sie die Antwort bereits gepostet hat. Warum sollten Sie in diesem Fall kleine Änderungen an den Variablennamen vornehmen? Wenn jemand Rechtschreibfehler in seinem Lebenslauf hat, gehe ich davon aus, dass er nicht buchstabieren kann und nicht, dass jemand anderes seinen Lebenslauf geschrieben hat, was noch schlimmer wäre.
Als ich in der Junior High einen Einführungskurs ins Programmieren belegte, war sich der Ausbilder sicher , dass mein bester Freund und ich fremdgingen. Für Tests setzte er uns an gegenüberliegende Enden des Raums, schrieb die Fragen an die Tafel (damit wir die vervielfältigten Fragen nicht im Voraus sehen konnten) und beobachtete uns wie ein Falke. Dennoch können unsere Antworten Buchstabe für Buchstabe identisch sein – sogar Dinge wie Kommentare und Variablennamen. Er hat es nie herausgefunden: Wir waren einfach sehr ähnlich gesinnt und haben das gleiche Problem auf die gleiche Weise gelöst.
@Draken Es gibt keine Entscheidung in Ihrem Unternehmen, die sich mehr auf Ihr Endergebnis auswirkt als der Einstellungsprozess. In Bezug auf das Risiko pro Minute sind Vorstellungsgespräche das riskanteste Verhalten, das Sie bei der Arbeit tun. Ich würde lieber einen guten Kandidaten fälschlicherweise ablehnen, als einen schlechten Kandidaten fälschlicherweise annehmen. Und ich würde keine Zeit mit jemandem verschwenden, der mit großer Zuversicht betrogen zu haben scheint.
Ich würde sagen, ein erfahrener Programmierer kennt dieses Problem und würde absichtlich vermeiden, wie seine eigene gepostete SO-Antwort auszusehen. Das würde ich im Grunde machen. Nach der Beantwortung solcher Fragen würde ich einfach googeln, um genau dieses Szenario zu vermeiden. Ich denke, Sie können davon ausgehen, dass sie betrogen haben, als nicht. Ich stimme auch corsiKa zu.
@JeffO, die angegebenen Anweisungen, um die Frage zu zitieren: "Das vollständige Kopieren einer Lösung ist nicht zulässig (nur API-Dokumentation, StackOverflow usw. können verwendet werden)." Es hängt wirklich davon ab, wie lang das Snippet war. Unabhängig davon bietet diese Antwort den besten Ansatz.
@Alexei "... ist äußerst unwahrscheinlich" Aber darum geht es nicht. Wir alle hier stimmen Ihnen zu, dass es äußerst unwahrscheinlich ist. Draken hat nicht gesagt, dass Sie ihre Lösung akzeptieren sollten – er hat Ihnen eine clevere Möglichkeit geboten, ihr Wissen zu überprüfen, die kein unnötiges Drama erzeugt. Sie haben gefragt, was Sie mit dem Kandidaten machen sollen. Bitten Sie ihn persönlich, seine Lösung zu erklären, ist absolut die richtige Antwort darauf. Sie lernen, was Sie wissen müssen, und vermeiden es, eine Konfrontation beginnen zu müssen.
""Unschuldig bis zum Beweis der Schuld" gilt nur für Gerichte." - nein, es gilt nur rechtlich. Es ist immer noch eine gute Denkweise, da es Vorurteile beseitigt. Ihre Regel für Vorstellungsgespräche ist hier unnötig (und überflüssig, wenn Sie das Wortspiel verzeihen), da es in der Diskussion darum geht, wie man entscheidet, ob man einstellt oder nicht.
@Wildcard - Nicht wirklich. Selbst wenn es nur ein paar Codezeilen sind und Sie nur die Variablennamen geändert haben, ist das für alle praktischen Zwecke so ziemlich eine vollständige Kopie.
@Alexei Wenn Sie "Erfahrung" sagen, zählen Sie damit Erfahrung, die nicht aus einer Bildungseinrichtung stammt? Die StackOverflow-Umfrage hat (jedes Jahr) gezeigt, dass die meisten Programmierer „Autodidakten“ sind.
Ich mag die Vorstellung, dass der Kandidat die Antwort verstehen muss. Manchmal ist eine Lösung wirklich so einfach wie der Verweis auf StackOverflow, aber ich hatte Situationen, in denen ansonsten anständige Entwickler eine Lösung von dort in unsere App kopierten, ohne zu wissen, warum sie funktioniert. Das Schlimme daran ist, dass einige unnötige Dinge auch hineingezogen werden können, wenn es sich um Kopieren und Einfügen handelt, ohne dass weiter nachgedacht wird.
Nicht zuletzt hat er eindeutig gegen die Bedingungen der SO-Lizenz verstoßen, indem er es versäumt hat, den ursprünglichen Post(er) zu nennen, was für mich ein schwarzer Fleck ist.
@Pharap - mit "Erfahrung" meine ich relevante Erfahrung, die im Lebenslauf erwähnt wird, was Projekte mit dieser Sprache / diesem Rahmen, Kursen, SO-Antworten usw. sein können.
"aber praktisch keine Erfahrung (aus dem Lebenslauf) in der Webentwicklung zu haben und einen verworrenen JS-Code zu schreiben, der praktisch mit einer SO-Antwort identisch ist, ist äußerst unwahrscheinlich." Warum Testkandidaten, die behaupten, überhaupt keine JS-Erfahrung zu haben, für JS-Erfahrung? Das ist nur Zeitverschwendung für alle.
Ähm, haben Sie nicht das Gefühl, dass Sie die (große?) Gruppe von Leuten ignorieren, die eine vorhandene Lösung erklären könnten, ohne sie zu entwickeln?

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.

Aber was, wenn er es vom Stapelüberlauf bekommen hat?
@SandraK Ist das ein Witz, weil wir derzeit Stack Exchange verwenden, oder glaubst du, dass es darauf ankommt?
@MatthewRead OP sagte: "Das Kopieren einer Lösung ist nicht erlaubt (nur API-Dokumentation, StackOverflow usw. können verwendet werden) ". Ich meinte, was wäre, wenn der Kandidat die Lösung von Stack Overflow erhalten hätte. Ich habe Ihren Kommentar nicht erhalten.
Wenn das genau so steht, ist es unklar, ob Sie eine Lösung von StackOverflow kopieren können. Wie geschrieben, es ist nicht nur mehrdeutig, es ist verwirrend. Wenn es versucht zu sagen, dass Sie Lösungen von keiner Site kopieren können, aber StackOverflow genauso verwenden können wie jede andere Site, warum erwähnen Sie StackOverflow überhaupt? Es ist keine Ausnahme oder zusätzliche Einschränkung.
Meine Vermutung ist, dass sie von einem College-Professor ausgebildet wurden, der keine Tools verwendet hat, um herauszufinden, wer bei ihrer Programmierarbeit betrogen hat.
@DavidSchwartz Schwartz Nein, es ist überhaupt nicht mehrdeutig. Das Poster bedeutete offensichtlich, dass sie die Seite als Ressource nutzen dürfen. Dazu gehört natürlich nicht, eine Antwort direkt zu kopieren. Es ist eine Frage des gesunden Menschenverstandes und der Sprache. Wenn jemand sagt, dass Sie etwas auf StackOverflow nachschlagen können, sagt er Ihnen nicht, dass es in Ordnung ist, eine Antwort direkt zu kopieren. Sie sagen Ihnen, dass es in Ordnung ist, die Website als Ressource zu verwenden, um ein Konzept zu lernen, mit dem Sie sonst nicht vertraut waren. Der Versuch, eine Lücke zu finden, um das zu umgehen, was jeder weiß, ist offensichtlich Betrug, macht es nicht in Ordnung.
@DavidSchwartz Ich stimme BooleanChese hier zu, wenn es unklar ist, ob Sie eine SO-Lösung kopieren können, was sollten wir über einen Kandidaten ableiten, der eine Lösung kopiert hat, während er alle Variablennamen geändert hat?
@PierreArlaud Es könnte ein Kandidat sein, der – wie einige von uns – etwas unsicher ist, ob „ Stackoverflow verwenden “ bedeutet „ nur etwas darüber lesen “ oder das Heben von Codeschnipseln beinhaltet. Namensänderungen könnten zu anderen Teilen des Codes passen (die sie geschrieben haben). In meinem Job nehme ich gerne Snippets von SO (gutgeschrieben und oft angepasst): Wahrscheinlich ist ihr größter Fehler, dass sie keine Bestätigung enthalten, dass sie dies getan haben. Ich würde sie bitten, zu erklären, wie der Code funktioniert, und wenn sie das können, dann kein Problem.
Die Kollegen, mit denen ich am meisten Probleme hatte, waren diejenigen, die Anweisungen regelmäßig missverstanden und trotzdem weitergemacht haben. Könnte sowieso in Ordnung sein, wenn es sich um einen Job handelt, bei dem es eine erhebliche Flexibilität bei der Erledigung gibt, oder wenn das Gegenteil der Fall ist, wenn die Anforderungen so explizit geschrieben sind, dass keine Verwirrung aufkommen kann.
@SandraK: Die Verwendung von Stack Overflow und das direkte Kopieren / Einfügen ohne ursprünglichen Gedanken sind nicht unbedingt dasselbe. Es gibt einen "richtigen" und einen "falschen" Weg, SO zu verwenden.
@LightnessRacesinOrbit Candidate hat die richtige Antwort bekommen und einige Variablennamen geändert. Das ist kein Kopieren/Einfügen ohne nachzudenken.
@SandraK: Das Ändern einiger Variablennamen ist kein "Denken".
@SandraK Bestenfalls denkt es darüber nach, wie sie die Tatsache verbergen könnten, dass es sich um Kopieren / Einfügen handelt. Das ist nur ein weiterer Beweis dafür, dass es sich um vorsätzlichen Betrug handelte, anstatt um eine ehrliche Fehlinterpretation der Anweisungen.

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.

Einverstanden, er fand eine fortschrittliche Lösung, die gut funktionierte. Wollen Sie einen Kandidaten, der mit einer schlechteren Lösung aufwartet, wenn eine bessere leicht verfügbar ist? Wenn Sie Kopieren/Einfügen vermeiden möchten, geben Sie eine Aufgabe, bei der vollständiges Kopieren/Einfügen unmöglich wäre. Wenn Sie das nicht tun und die guten Lösungen ablehnen, dann verdienen Sie wohl Ihre durchschnittlichen Entwickler.
Sie sind hier auf das große Problem gestoßen: Dies war eine schlechte Screening-Frage. "Open Book"-Tests sollten fortgeschrittener sein, als eine einfache SO-Frage beantworten kann. Außerdem, wie würden Sie wissen, ob ein anderer Kandidat gerade jemanden bezahlt hat, um seine Antwort zu schreiben? Verbuchen Sie es mit einem schlechten Screening und interviewen Sie ihn. Ich begrüße ihn dafür, dass er wusste, dass die Antwort richtig war. Ich würde ihn trotzdem bitten, mich durch seine Lösung zu führen, da ich keine Programmierer haben möchte, die von SO kopieren/einfügen, ohne zu verstehen, warum die Antwort das ist, was sie brauchen.
Wenn dies passiert ist (und ich vermute, dass es so ist), besteht ihr größter Fehler wahrscheinlich darin, dass sie keine angemessene CC-by-SA-Bestätigung enthalten. Wenn sie den Code angemessen erklären können (ob sie ihn geschrieben oder aufgehoben haben), möchten Sie das vielleicht in Zukunft erwähnen.
@BloodGain offensichtlich ist der Grund, warum die Antwort das ist, was ich brauche, weil es funktioniert hat. lol

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.

Einige „Ethik und Compliance“-Vorträge mussten wir einfach über sich ergehen lassen. Es scheint, dass Sie in Zukunft keinen von Ihnen erstellten Code verkaufen können, wenn er kopiertes Material enthält, selbst wenn er von einer Hilfeseite stammt und kopiert werden soll. Wir haben Inspektoren, die kommen und tatsächlich eine Websuche nach Teilen des Codes durchführen, um zu sehen, ob es sich um ein Plagiat handelt. Kopierter Code muss ordnungsgemäß gutgeschrieben und ggf. lizenziert werden. Sonst kann man wirklich verklagt werden.
@RedSonja Ist dies der Status Quo in Bezug auf die rechtlichen Aspekte für Produkte mit geschlossenem Quellcode? Was ist mit GPL- oder MIT-lizenziertem Code (um nur zwei zu nennen)? Soweit ich weiß, ist es gültig (Lesen Sie legal), frei lizenzierten Code in proprietärer lizenzierter Software zu verwenden
@RedSonja Bist du in den USA? Das ist in den USA absolut nicht der Fall
Ich bin kein Jurist, daher kenne ich mich mit dem Urheberrecht nicht aus. Aber in dem Vortrag, den wir gehört haben, wurde gesagt, dass man gegebenenfalls eine gültige Lizenz haben muss - dem können wir alle zustimmen. Selbst kostenloser Code hat einige Einschränkungen, wenn Sie das Kleingedruckte lesen. Sie möchten, dass Sie es gutschreiben. Jetzt haben wir Kunden, die den Quellcode von uns kaufen, nicht nur die ausführbare Datei, und die Verwendung von kopiertem Code ist ein sensibler Bereich. Wir behaupten, dass es alles unsere eigene Arbeit ist, und dann ist es das nicht. Ja, es ist schwierig.

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:

  1. 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).

  • Wir sollten uns fragen, ob alle Menschen, die jemals in ihrem Leben eine Schulprüfung geschummelt haben, eine Gefahr für ihr Unternehmen darstellen;
  • auch Risikofähigkeit ist für die Position wünschenswert;
  • selbst in einigen Fällen sind die Vorteile des Betrugs für das Unternehmen größer als die Nachteile; oder auch
  • Das Unternehmen würde davon profitieren, jemanden zu haben, der die Schuld an seiner Stelle für einige Handlungen trägt (z. B. bei Softwareprodukten: Es gibt bekannte Fälle von Unternehmen, die GPL-Code in ihrer Software gestohlen haben. Sie könnten froh sein, jemanden zu haben, den sie feuern können, wenn es wird entdeckt).

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.

  1. 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.

1. Ein Mitarbeiter, der aus Profitgründen betrügen würde, setzt das Unternehmen rechtlichen und anderen Gefahren aus. 2. 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.
Ja, das ist die allgemeine Argumentation, aber der Mitarbeiter kann dies in dem Glauben tun, dass er keinen wirklichen Schaden anrichten würde und wüsste, wo er in einer realen Situation aufhören müsste (vielleicht). Sind alle Menschen, die jemals in ihrem Leben eine Schulprüfung geschummelt haben, eine Gefahr für ihr Unternehmen? auch sind in einigen Fällen die Vorteile größer als die Nachteile, oder sogar das Unternehmen würde davon profitieren, wenn jemand an seiner Stelle die Schuld für einige Handlungen trägt (z. B. bei Softwareprodukten: Es gibt bekannte Fälle von Unternehmen, die GPL-Code gestohlen haben in ihrer Software. Sie könnten froh sein, jemanden zu haben, den sie feuern können, wenn es entdeckt wird).
Natürlich empfehle ich solche Fehlverhalten nicht, 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.
Oh, und zum "Betrug bei einem gut gestalteten Test" würde ich hinzufügen, dass ein gut gestalteter Test einer ist, der dieses Denken berücksichtigt (z. B. um die Fähigkeit zu bewerten, Risiken einzugehen) und dass ein Mitarbeiter schummeln kann ein Test, könnte intelligenter sein als der Test selbst.
Wenn der Kandidat nicht glaubt, dass Betrug Schaden anrichtet, ist das ein Grund, ihn nicht einzustellen, kein Grund, ihn einzustellen.
"Ein Kandidat, der in der Lage ist, einen so gut gestalteten Test zu betrügen, könnte als schlauer angesehen werden als das Testdesign selbst." Denkt noch jemand sofort an Capt Kirk und die Kobayashi Maru? Version natürlich neustarten.....
@The Photon: Es gibt Fälle, in denen ein guter Betrug wünschenswert ist. Im Allgemeinen würde ich Ihnen aus vielen Gründen zustimmen, aber es ist im Allgemeinen eine gute Praxis, Dinge über den Tellerrand hinaus zu denken. Nehmen wir als Beispiel die Debatte zwischen Emmanuel Kant und Benjamin Constant über das Recht zu lügen: Ist es falsch, Mörder anzulügen, die dich nach deinem in deinem Haus versteckten Freund fragen? Das soziale Konstrukt basiert auf der Einhaltung der Regeln, aber die soziale Evolution basiert auf deren Übertretung. Der wichtige Punkt ist, dass die Gesellschaft die Übertretung gering halten, aber nicht ausrotten muss.
Übrigens ist es interessant, die Anzahl der Likes und die Reaktion auf meine Antwort mit den anderen und mit der Frage zu vergleichen. Es veranschaulicht gut die Tatsache, dass die Gesellschaft ihre Regeln und Verwendungen in gewissem Maße in Frage stellt und dass diese Menge in einem bestimmten Bereich gehalten werden muss, der klein, aber nicht null ist ... Und ich glaube, die optimale Menge ist etwas, das kommt aus natürlicher Auslese: Die richtige Menge verschafft den Gruppen, die ihr nahe stehen, einen evolutionären Vorteil. Nicht genug behindert die Fähigkeit der Gruppe, sich an die Umstände anzupassen, aber zu viel bricht das Vertrauen.

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 ...

Realistisch gesehen, in wie vielen Situationen befinden Sie sich als Programmierer, in denen Sie nicht einfach von SO kopieren und einfügen können. Sie sollten sowieso ein Folgegespräch führen, in dem Entwickler ihre Designentscheidungen verteidigen sollten, an dem Sie ihn nach seiner Meinung dazu fragen können. Er wird Ihnen entweder den Code erklären oder er wird Ihnen den Code erklären und Ihnen sagen, dass es schneller ging, als ihn zu schreiben. Die Leute gehen davon aus, dass alle Jr.-Entwickler gleich sind. Manche Leute haben ein besseres Programmierhirn. Jr. Dev ist nur ein Titel für einen Programmierer der Einstiegsklasse

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.