Frage:
Der Befragte bot Codebeispiele des aktuellen Arbeitgebers an - sollte ich akzeptieren?
Alpha
2016-10-22 20:36:40 UTC
view on stackexchange narkive permalink

Ich hatte ein technisches Interview mit einer Person (Softwareentwicklung) und fordere normalerweise keine Codebeispiele an. Abgesehen von den Gründen bot diese eine Person an, mir Code zu zeigen, den sie für ihren aktuellen Arbeitgeber getan hat.

Soll ich akzeptieren? Könnte ich eine Kopie behalten?

Hier sind die Gründe, warum ich denke, ich sollte nicht:

  • Es ist Eigentum eines anderen Unternehmens
  • Ich habe noch keine rechtliche Vereinbarung mit diesem Befragten oder seiner Firma.
  • Auch wenn ich nicht gefragt habe, gibt es keinen Beweis dafür, so dass ich mich nicht verteidigen konnte, wenn ich in Schwierigkeiten geriet

Hier sind die Gründe, warum ich denke, dass ich sollte:

  • Es sind wirklich wertvolle Informationen, insbesondere bei der Bewertung der Codequalität und -sauberkeit
  • Sie sagten, es sei in Ordnung, da sie es immer wieder schreiben könnten.
  • Die rohesten Informationen, die ich von einem Kandidaten erhalten kann, helfen bei der Validierung meiner Bewertung mit anderen Bewertern.

Für Im Kontext arbeite ich in den USA, habe aber nach Antworten gesucht, die keine Rechtsberatung geben, sondern eher häufig / ungewöhnlich oder für Unternehmen empfohlen / nicht empfohlen.

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (http://chat.stackexchange.com/rooms/47404/discussion-on-question-by-alpha-interviewee-offered-code-samples-from-current-em).
Dreizehn antworten:
enderland
2016-10-22 20:45:48 UTC
view on stackexchange narkive permalink

Nein, Sie sollten ihr Angebot nicht annehmen und diesen Kandidaten unbedingt weitergeben. Dies ist schrecklich unprofessionell und wird in den USA allgemein als unethisch angesehen.

Jeder, der bereit ist, Code von seinem derzeitigen Arbeitgeber anzubieten, ohne richtig zu erklären, warum er dies tun kann, ist jemand, der das geistige Eigentum eindeutig missachtet. Der Grund, den sie Ihnen gegeben haben, ist lächerlich.

Sie wollen diese Person nicht in Ihrer Firma. Warum würden Sie erwarten, dass sie Ihre IP besser behandeln?

Warum sofort keine Einstellung

Meine Antwort ignoriert das "Wie akzeptiere ich den Code in a?" Weg, der Sie nicht entlassen oder in rechtliche Schwierigkeiten bringt "Teil der Frage, weil es irrelevant ist, weil Sie die Codebeispiele nicht akzeptieren und diesen Kandidaten nicht einstellen sollten. Es wäre auch sehr anders, wenn der Kandidat eine gute Erklärung dafür hätte, warum Sie den Code sehen könnten (z. B. war er Open Source und auf GitHub verfügbar).

Aber dann Sie würde diese Frage nicht stellen. Sie hätten einfach auf den GitHub-Link geklickt.

Wenn jemand ein Vorstellungsgespräch für eine Softwareentwicklungsposition führt und es mir nicht 100% klar macht , wenn Sie sich freiwillig melden Geben Sie proprietären Code an, warum dies zulässig ist, ich möchte sie nicht in meinem Team haben.

Warum sollte ich diesem Kandidaten den Code meines Unternehmens anvertrauen, wenn wir ihn einstellen?

Warum sollte ich dem Kandidaten überhaupt vertrauen, dass er den Code geschrieben hat, den er mir gibt (ein weiterer Vorteil von GitHub gegenüber proprietär)?

Wenn ich als Interviewer fragen muss Ein Kandidat, der mir sagt, dass er es einfach "erneut schreiben" würde, ob er über die entsprechenden IP- und Lizenzberechtigungen verfügt, um dies mit mir zu teilen, beweist, dass er kein angemessenes professionelles Verständnis dafür hat, wie wichtig dies ist. Ein Teil der Tätigkeit als professioneller Softwareentwickler besteht darin, dies zu wissen und zu respektieren, insbesondere angesichts der Tatsache, wie einfach es ist, eine gesamte Codebasis zu kopieren.

Ich möchte nicht, dass diese Person für mein Unternehmen arbeitet.

es sei denn natürlich, der andere Arbeitgeber hat diesen Code als Open-Source-Version bereitgestellt oder verfügt bereits über eine NDA speziell für dieses Projekt, die die gemeinsame Nutzung dieses Codes ermöglicht
@atk sicher.Aber das würde in "richtig erklären" fallen und das ist, was das OP sagte: _ "Sie sagten, es sei in Ordnung, da sie es immer wieder schreiben könnten" _
"* und in den USA würde allgemein als unethisch angesehen *" Wenn die Frage nicht speziell danach gestellt würde, könnten Sie "in den USA" fallen lassen, da dies allgemein als unethisch angesehen wird.
Sie wissen, dass der Kandidat illegal IP von Drittanbietern bereitstellt.Entsorgen Sie es, es sei denn, Sie beabsichtigen, es als Beweis für die Strafverfolgung vorzulegen.Wenn diese Firma herausfindet, dass Sie illegal eine Kopie ihrer eigenen IP-Adresse hatten, kann dies Ihre eigenen Codebasen beeinträchtigen, und Ihr Entwicklerteam muss einen zweiwöchigen Prüfungsprozess durchlaufen, während sehr teure Anwälte und P.Eng. Ein Interview führenIhre Mitarbeiter.
Vielleicht liegt es daran, dass ich bemerkenswert nette und geduldige Manager hatte, aber wenn er ein Junior-Entwickler ist, sollte er den Vorteil des Zweifels erhalten.Akzeptieren Sie den Code natürlich nicht, aber machen Sie die Situation auch nicht zum Deal-Breaker.Dies ist eine Gelegenheit, dem Kandidaten beizubringen, warum das, was er vorgeschlagen hat, eine schlechte Idee ist, und zu sehen, wie er reagiert.Seine Folgereaktion kann dann in Ihre Entscheidung (nicht) einfließen, ihn einzustellen.
Abhängig von der Erfahrung der Person möchten Sie ihnen möglicherweise eine Notiz senden - wenn sie beispielsweise gerade das College abgeschlossen haben (und der vorherige Arbeitgeber jemand war, mit dem sie interniert waren oder mit dem sie zusammengearbeitet haben)Keine Ahnung, dass dies unethisch ist.
Ich bin neugierig, @enderland, ob Sie Ihre Meinung ändern würden, wenn der Benutzer angeboten hätte, Ihnen zu zeigen, was sein Code tut, anstatt den Code selbst?Sie erwähnen zwar "Gültigkeit des Codes", aber ich bin gespannt, ob das Anzeigen der Funktionalität ebenfalls ein Problem darstellt.Ich wollte auch fragen, ob er die Erlaubnis hat, aber das fällt unter Ihren "richtig erklärenden" Kommentar, imo.
@XaolingBao Das Problem besteht darin, mir proprietären Code mit einer Erklärung zu zeigen, die effektiv besagt: "Die IP meines Unternehmens ist mir egal."Es besteht die Möglichkeit, dass es sich um einen naiven Fehler handelt. In diesem Fall könnte er korrigiert werden. Wenn ich jedoch für eine Vollzeitstelle interviewe, ist dies kein Risiko, das ich eingehen möchte.
Bei dieser Antwort wird davon ausgegangen, dass der betreffende Code nicht freigegeben werden darf.Es gibt viele Fälle, in denen ein Unternehmen einem ausscheidenden Entwickler gestattet, einen Teil der Codebasis mit interessierten Dritten zu teilen.Wenn dies der Fall ist, ist diese Antwort genau das Gegenteil von richtig.
@coteyr in diesem Fall hätte der Befragte dem OP nicht gesagt: _ "Sie [der Kandidat] sagten, es sei in Ordnung, da sie es immer wieder schreiben könnten" _ und hätten stattdessen gesagt, was Sie gerade gesagt haben.
Wenn es ein Junior-Entwickler ist, werden Sie ihnen hoffentlich den Grund nennen, warum sie nicht berücksichtigt wurden.Es könnte ein dummer Fehler aufgrund von Unwissenheit sein.
@enderland sollte eine Person in der Situation des OP den Arbeitgeber des Bewerbers über dieses Problem informieren?Ist es eine gute Idee oder könnte es den Ruf schädigen?
Wie viel von dem Müllcode, den Ihr Arbeitgeber besitzt, ist in einem Ausmaß revolutionär, das Sie überhaupt interessieren würden?Die Antwort ist Mist.
@Gusdor fragt Ihren derzeitigen Arbeitgeber und dessen Rechtsabteilung: "Hey, der größte Teil unseres Codes ist ziemlich langweilig und nicht wirklich so einzigartig. Ich habe ein paar davon kopiert und an jemanden weitergeleitet, der für ein anderes Unternehmen arbeitet. Interessiert Sie das?"
@enderland * @coteyr In diesem Fall hätte der Befragte dem OP nicht gesagt: "Sie [der Kandidat] sagten, es sei in Ordnung, da sie es immer wieder schreiben könnten" und hätten stattdessen gesagt, was Sie gerade gesagt haben. * Begründung beiseite,"Es war in Ordnung" könnte sich auf den aktuellen Arbeitgeber beziehen, der die Erlaubnis erteilt.In diesem Fall würde die Unbestimmtheit ihrer Antwort keine Verletzung des geistigen Eigentums darstellen, sondern nur eine schlechte Kommunikation.Fallen Sie nicht in dieselbe Falle, in der Sie den Kandidaten beschuldigen, indem Sie Annahmen treffen.Ich stimme Ihrem Punkt zu, aber ich denke, OP sollte vor dem Nixen überprüfen, ob der Kandidat die Erlaubnis hat, IP zu teilen
Es ist ein bisschen komisch, dass sie behaupten, sie könnten es "einfach" noch einmal schreiben, was impliziert, dass es einfach ist, sich aber nicht darum gekümmert hat.Selbst wenn sie richtig wären, wäre es immer noch eine rote Fahne.
@enderland, würde stark von der Programmiersprache und dem Kontext abhängen.HTML, CSS und JavaScript auf einer öffentlichen Website unterscheiden sich drastisch vom Benutzerauthentifizierungsdienst, der auf einem sicheren Server ausgeführt wird.
@I'mnotpaidtothink Sie werden überrascht sein, wie unterschiedlich die Normen in Bezug auf geistiges Eigentum auf der ganzen Welt sind.In Korea besteht die Erwartung für Universitätsklassen häufig darin, dass die Klasse für eine Kopie eines Lehrbuchs eingeht und es dann zu einem Buchkopierdienst bringt, der direkt außerhalb des Campus üblich ist, und eine Kopie für alle erstellt, die sich eingeschlichen haben. Die US-Ansicht ist nicht dienur anzeigen.
@Myles ist es sicherlich nicht (und es ist nicht das, was ich habe).Aber dieses Beispiel aus Korea ist etwas anders.Ich bezweifle, dass koreanische Buchautoren und Verleger dieser Praxis im Allgemeinen zustimmen würden.Es ist auch Bildung, die nicht unbedingt mit einem Arbeitsplatz identisch ist.Drittens unterscheidet sich dies nicht wesentlich von dem, was eine Bibliothek tut.
DJClayworth
2016-10-22 21:34:27 UTC
view on stackexchange narkive permalink

Fragen Sie den Kandidaten nach der Situation.

Sie wissen tatsächlich nicht, ob dem Kandidaten die Erlaubnis zur Offenlegung dieses Codes erteilt wurde. Sie sofort abzulehnen, ohne zu wissen, dass dies eine Überreaktion ist.

Fragen Sie sie ausdrücklich, ob sie die Erlaubnis dazu haben. Sie erhalten vermutlich eine der folgenden Antworten:

  1. Ja, ich habe die Erlaubnis. Mit einem plausiblen Grund. Es liegt an Ihnen, wenn Sie sie beim Wort nehmen. Wenn es für das Unternehmen eindeutig nicht kritisch ist und sie Ihnen mitgeteilt haben, dass sie über eine Berechtigung verfügen, werden Sie keine Probleme bekommen.
  2. Ich habe nicht über Berechtigungen nachgedacht. Erinnern Sie sich Sie, dass alle ihre Arbeiten vertraulich sind und jeder Arbeitgeber, der sie eingestellt hat, erwarten würde, dass der Code vertraulich behandelt wird, auch Sie. Löschen Sie alle Kopien des Codes, den Sie haben. Verfolgen oder nicht, je nachdem, ob Sie glauben, dass sie ihre Lektion gelernt haben.
  3. Die Vertraulichkeit ist mir egal. Sofortige Ablehnung. Vergessen Sie nicht, diesen Code zu löschen. ol>

    Die einzige Antwort, über die Sie gesprochen haben, war " Es ist in Ordnung, da ich ihn immer wieder schreiben konnte. " Ihre Antwort auf das wird sein "Dann schreibe es noch einmal und gib mir die neue Version."

In den USA ist IP ein * ernstes * Geschäft. Sie möchten sich nicht einmal mit einem Kandidaten auf dieser Ebene beschäftigen. Es ist viel zu riskant, nicht nur für den Interviewer, sondern auch für das Unternehmen, für das sie arbeiten.Ich war einmal in einer ähnlichen Situation wie ein Interviewer, und ich verstehe es am besten. Die einzig richtige Antwort des Interviewers besteht darin, ein solches Angebot sofort und kategorisch abzulehnen und den Personalchef darüber zu informieren, was passiert ist (der Personalchef kann dann nachverfolgen)die Rechtsabteilung, falls dies als notwendig erachtet wird).
@njuffa "Dieser Code ist seit Ewigkeiten Open Source. Tut mir leid, ich dachte, Sie würden das wissen. Es ist mein Fehler, dass ich das nicht richtig kommuniziere."Das wäre ein Glück, wenn es der Fall wäre, aber ich denke, es ist ein vollkommen fairer Rat, sich auf der Seite der Kommunikation zu irren.
@djechlin Ich sehe keine Möglichkeit, den rechtlichen Status eines Codes im Verlauf eines 45-minütigen Interviews zu bestimmen, und es wäre viel zu riskant, einfach den Behauptungen des Befragten zu glauben.Je nachdem, in welchem Geschäft Sie tätig sind, kann es sogar riskant sein, einen Open-Source-Code zu studieren, wenn dieser unter einer viralen Lizenz wie GPL steht.
@njuffa "Es steht unter der MIT-Lizenz, die auf seinem Github veröffentlicht ist" sgtm
"Dann schreiben Sie es noch einmal und geben Sie mir die neue Version." - Wählen Sie alle aus, Kopieren, Einfügen, löschen Sie einige Kommentare, haben Sie das getan! Sie haben keine Möglichkeit zu wissen, dass der Kandidat es tatsächlich "erneut geschrieben" hat.Ich weiß nicht einmal, ob der Kandidat die erste Version geschrieben hat, die Ihnen angeboten wurde - jeder bei seinem derzeitigen Arbeitgeber hat sie möglicherweise geschrieben.
Es könnte ein sehr allgemeiner Code sein, den das Unternehmen einfach nicht als angemessen erachten würde.Er könnte sagen, dass das meiste davon bereits gemeinfrei ist, da ich Code auf SO gepostet habe.Ich hatte die Erlaubnis, auf SO zu posten.
@Paparazzi Wenn ein Code trivial genug ist, fällt er möglicherweise nicht unter das Urheberrecht oder die Patentbeschränkungen.und ein trivialer Code wäre auch für die Bewertung eines Kandidaten nutzlos.
@jpaugh Ich habe nicht trivial gesagt und ich habe keine Frage.
@njuffa Wie riskant ist es, nur Code unter der GPL zu betrachten?
@MarcStober "Riskant" war möglicherweise ein zu starkes Wort, "potenziell problematisch" ist möglicherweise besser.Es ist möglicherweise am besten, die Möglichkeit des "unbewussten Kopierens" zu vermeiden, um eine "unabhängige Erstellung" Ihrer Werke zu gewährleisten.
@Paparazzi Ich meinte nur, dass jeder Code, den die Anwälte von einem anderen Unternehmen verwenden durften, trivial wäre.Wenn der Code generisch im Sinne von "Open Source" wäre, gäbe es natürlich kein Problem.
@njuffa Ich finde Ihre Aussage ebenfalls mysteriös.Meinen Sie, problematisch / riskant für einen Entwickler oder Personalchef?Als Entwickler schaue ich ziemlich oft auf Open Source Code und bevorzuge ihn (zumindest persönlich).Wenn Ihre Branche so strenge rechtliche Parameter hat, werden wir uns wahrscheinlich nie als Mitarbeiter wiederfinden.
@jpaugh Sie wissen nicht, dass Anwälte nur trivial OK wären.Es könnte sich um eine C # -Implementierung der TF-IDF-Cosinus-Ähnlichkeit handeln, bei der der Algorithmus gemeinfrei ist.
Ich sehe jetzt, woher du kommst.Wenn der Algorithmus gemeinfrei ist, ist das wieder eine andere Geschichte.Ohne weiteren Kontext des Entwicklers muss das OP (und die Anwälte des OP) jedoch davon ausgehen, dass der Code proprietär ist.In diesem Fall kann das Kopieren selbst trivialer Abschnitte, obwohl dies * legal * sein mag, dennoch zu einer Klage führen.(Beispiel: Die Behauptung von Oracle in Oracle gegen Google, Rechte an einer API zu besitzen, ist für mich lächerlich lächerlich (da der Sinn von APIs darin besteht, die Interaktionen zwischen verschiedenen Benutzern zu standardisieren), aber die Gerichte haben es bis jetzt ernst genommen.)
@jpaugh Ich bin kein Anwalt.Mein Laie versteht: (1) Untersuchungen haben gezeigt, dass unbewusstes Kopieren routinemäßig beim Menschen stattfindet. (2) US-Gerichte haben entschieden, dass unbewusstes Kopieren in urheberrechtlichen Fällen keine gültige Verteidigung darstellt. Wichtig ist nur eine sachliche Feststellung, dass das Kopieren erfolgt ist (3)* Jeder * Code unter einer Virenlizenz in eine Codebasis unterwirft den gesamten Code den Bestimmungen der Virenlizenz.Deshalb: Wenn ich an Closed-Source-Code arbeite, lese ich niemals Patente (Risiko einer "vorsätzlichen Verletzung") und auch keinen relevanten GPL-Code (Risiko eines "unbewussten Kopierens").Ihre Einstellung kann abweichen
@njuffa Jetzt verstehe ich.Mit "viral" meinen Sie die Selbstreplikation und beziehen sich auf die Einschränkung der GPL, sie unter einer anderen Art von Lizenz wiederzuverwenden.Ich dachte, Sie meinten, es sei riskant, überhaupt Open-Source-Code zu verwenden, einschließlich beispielsweise MIT-lizenziertem Code, der die Wiederverwendung in proprietären Kontexten ermöglicht.
Vielen Dank für diese Antwort.Es überrascht mich, dass so viele Leute davon ausgehen, dass der betreffende Code proprietär ist, als uns nur mitgeteilt wurde, dass der Kandidat ihn für seinen aktuellen Arbeitgeber geschrieben hat.Soweit wir wissen, könnte es sich um ein Open-Source-Projekt dieses Arbeitgebers handeln.
Chris Cirefice
2016-10-23 01:03:09 UTC
view on stackexchange narkive permalink

Das Teilen von Code mit einem Interviewer ist ein offensichtlicher Verstoß gegen den Ethik- und Berufskodex für Softwareentwicklung:

2.05 . Halten Sie vertrauliche Informationen, die Sie in Ihrer beruflichen Tätigkeit erhalten haben, privat, wenn diese Vertraulichkeit im Einklang mit dem öffentlichen Interesse und dem Gesetz steht.

Aus Ihrer Frage geht hervor, dass der Kandidat dies nicht getan hat Holen Sie sich die Erlaubnis, den Code zu teilen. Der Code gehört dem Arbeitgeber und ist vertraulich, sofern nicht anders angegeben. In diesem Fall ist dies also unethisches Verhalten und Sie akzeptieren den Code absolut nicht . Entlassen Sie den Kandidaten sofort.

Bearbeiten : Zur Verdeutlichung ist der SE-Ethikkodex der ACM kein Gesetz . Es handelt sich um einfache Richtlinien zu den "Do's and Don'ts" unserer Branche. Viele Universitäten und Arbeitgeber übernehmen den Kodex jedoch als unseren Standardsatz ethischer Richtlinien, um sicherzustellen, dass Studenten und Mitarbeiter den Kodex kennen und seine Praktiken befolgen. Z.B. In meinem Informatikstudium hatte ich mindestens 4 bedeutende Projekte mit dem SE-Code. Viele Arbeitgeber in meiner Region testen Kandidaten auch während der Befragung mit ethischen Fragen und erwarten, dass sie den SE-Code kennen und ihn in ihren Antworten verwenden.


Nebenbei:

Sie erwähnen, dass Sie in der Lage sein möchten, die Fähigkeit eines Kandidaten zu beurteilen, Code zu schreiben, seine Qualität und Sauberkeit zu bewerten usw., oder? Lassen Sie sie eine einfache Programmieraufgabe ausführen, die etwas mehr Gedanken erfordert als die typischen FizzBuzz-Fragen (die dazu dienen, Nicht-Programmierer oder inkompetente Programmierer auszusondern).

Persönlich würde ich eine anstreben Die Frage zur Beschreibung eines realen Systems im Code und nicht irgendeine komplexe algorithmische "mathematische" Frage, aber was Sie fragen, hängt natürlich von Ihrer Branche ab.

Danke für die Rückmeldung.Ja, eine Programmierübung zu haben, ist etwas, über das ich selbst diskutiere - aber das ist wahrscheinlich eine andere Frage.Tolles Zeug, das den Ethikkodex aufwirft - ich denke, die meisten von uns haben mit Ihrer Antwort herausgefunden, dass es ihn gibt.
Es wäre nur dann ein Verstoß, wenn es sich um * vertrauliche * Informationen handelt, die Tatsachen voraussetzen, die nicht bewiesen sind.
Ich muss mich fragen - wie viel Prozent der Programmierer in der realen Welt kennen dieses erstaunlich ausführliche Dokument der ACMs überhaupt, geschweige denn, dass sie es brauchen?Oder sogar die ACM selbst.Nicht dass ich mit der edlen Absicht nicht einverstanden wäre ...
@mickeyf Viele Universitäten (zumindest in den USA) machen * Ethik * zu einem Teil des Lehrplans für einen Informatik-Abschluss.Ich denke, es ist eine gute Idee, eine Reihe ethischer Richtlinien für unsere Branche zu haben, genau wie viele andere.Es hilft zu klären, was unsere Verantwortung gegenüber uns selbst, unseren Arbeitgebern und der Öffentlichkeit ist.
@DavidConrad gut, wenn man bedenkt, dass die Frage überhaupt erst gestellt wurde, kann man davon ausgehen, dass der Kandidat nicht ausdrücklich gesagt hat, dass er die Erlaubnis seines Arbeitgebers hat, was bedeutet, dass wir davon ausgehen können, dass es sich um vertrauliche Informationen handelt.
* Ethik- und Berufskodex für Software-Engineering * - ähm, ich habe das nie abonniert ... und ich vermute, dass es auch nur wenige andere getan haben.Scheint mir eine selbsternannte Autorität zu sein.Es ist mit ziemlicher Sicherheit eine Verletzung des aktuellen Vertrags des Mitarbeiters - dies ist der einzige Code, an den er gebunden ist.
@AntP Natürlich haben Sie nicht abonniert.ACM ist weder eine "Behörde" noch der SE-Code.Siehe meine Antwort bearbeiten zur Verdeutlichung.
@ChrisCirefice, das ist mein ganzer Punkt - das Zitieren eines Ethikkodex ist bedeutungslos, es sei denn, dieser Ethikkodex wurde bereits von den Parteien, auf die Sie sich beziehen, festgelegt und akzeptiert.
@AntP Ich bin anderer Meinung.Aus diesem Grund habe ich diese Antwort veröffentlicht, um die Leute auf die Existenz des Codes aufmerksam zu machen.Darüber hinaus können diejenigen, die * über den Code Bescheid wissen *, diese bestimmte Passage als Mittel zur Bestimmung der Ethik von z. B. der vom OP gestellten Frage zitieren.Wie werden solche Richtlinien Ihrer Meinung nach angenommen?Indem Sie das Wort verbreiten und in der Praxis zur Lösung von Problemen einsetzen.Genau das mache ich hier.
Das Wort zu verbreiten und zu versuchen, einen Code zu übernehmen, ist eine Sache (die Notwendigkeit eines de facto geschriebenen Ethikkodex in der Softwareentwicklung geht über den Rahmen dieser Diskussion hinaus), aber das Zitieren als Antwort auf eine Frage ist nur gültig, wenn der Code gültig isthat bereits Autorität in der Gruppe etabliert, in der es zitiert wird.Sie können die Regeln nicht aufrufen, bevor die Regeln vereinbart wurden - es ist bedeutungslos.
Es mag angebracht gewesen sein, den Code beiseite zu erwähnen, aber es als Grundlage Ihrer Antwort zu betrachten, bedeutet nichts, es sei denn, seine Autorität wurde bereits festgelegt.
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/47399/discussion-between-chris-cirefice-and-ant-p).Aber ich denke, wir müssen uns darauf einigen, hier nicht zuzustimmen, nicht viel mehr, was jeder von uns sagen kann, und wir haben uns beide entschieden.Lass die Stimmen entscheiden!
@ChrisCirefice Es ist absolut nicht fair anzunehmen, und es gibt keinen Grund für OP, etwas anzunehmen, wenn OP einfach den Kandidaten fragen kann.
Vietnhi Phuvan
2016-10-22 22:23:50 UTC
view on stackexchange narkive permalink

Ich würde das Angebot des Bewerbers für seinen Arbeitgeberkodex ablehnen UND den Bewerber darüber informieren, dass er nicht mehr für eine Anstellung bei der Firma in Betracht gezogen wird.

Welchen Kodex von seinem Arbeitgeber er zur Einsichtnahme anbietet Seien Sie versichert, dass er Ihnen irgendwann in der Zukunft, wenn er nach einem anderen Job sucht, das antun wird, was er seinem derzeitigen Arbeitgeber antut.

Natürlich verschlechtert sich das Bild für Ihren Kandidaten, wenn Ihr Kandidat bei seinem derzeitigen Arbeitgeber eine NDA unterzeichnet hat, da er jetzt möglicherweise gegen diese NDA verstößt. Seien Sie versichert, dass nichts ihn daran hindert, Ihnen dasselbe anzutun, wenn er bereit ist, gegen die NDA seines derzeitigen Arbeitgebers zu verstoßen, wenn er irgendwann in der Zukunft ein Interview mit seinem nächsten potenziellen Arbeitgeber führt.

Wenn Sie die Programmierfähigkeiten Ihrer Kandidaten bewerten müssen, überprüfen Sie deren Githubs und / oder geben Sie diesem Kandidaten ein Take-Home-Projekt Ihrer Entwicklung. Lassen Sie dann den Kandidaten seinen Code mit Ihnen überprüfen.

Das scheint hart zu sein, aber ich denke, es ist die richtige Antwort.Sie darüber zu informieren, warum dies eine Höflichkeit ist, von der sie hoffentlich in Zukunft lernen werden, aber ich denke, es ist ein ernstes Problem, dass ich Schwierigkeiten haben würde, einem solchen Kandidaten unsere eigene Codebasis anzuvertrauen.Es gibt das offensichtliche "Oh, aber es ist Open Source" -Ausstieg und das könnte bedeuten, dass ich nicht von Anfang an alle Waffen einsetzen würde, wenn ich mit ihnen darüber spreche, aber das ist ungefähr so weit, wie ich gehen würde.
@Rob Moir - Ich würde das Wort "It's Open Source" von jemandem nicht zum Nennwert nehmen.Was wäre, wenn es Ihr Code wäre, den dieser Kandidat einseitig als Open Source deklariert?Wenn es wirklich Open Source ist, sollte es sich in einem öffentlichen Github-Repository befinden, damit alle sehen können, einschließlich ihres aktuellen Arbeitgebers.Ein Mitarbeiter, der keine Kenntnisse über Open Source-Lizenzen hat und einen Teil Ihres Codes als Open Source deklariert, ist eine existenzielle Bedrohung für Ihre Codebasis.Siehe zum Beispiel die Bedingungen von GPL v2. Wenn Sie gemäß den Bedingungen der GPL v2-Lizenz GPL v2-Code in Ihre App aufnehmen, ist Ihre App Open Source
Glauben Sie mir, Vietnhi, ich teile Ihre Bedenken und würde ihren Anspruch nicht zum Nennwert annehmen.Es würde ihnen nur die Möglichkeit geben, sich selbst zu erklären, bevor ich sie auf den Müllhaufen legte, aber es müsste eine gute Erklärung sein, die durch mehr als nur schnelles Reden gestützt wurde.
Ich wundere mich, dass Programmierer dieses Zeug zur gleichen Zeit sagen wie andere [die Befragten fragen] (https://www.theladders.com/career-advice/what-to-do-if-company-asks-for-facebook-password-in-job-interview /) "Wenn das Unternehmen, bei dem ich interviewe, [meinen Facebook-Benutzernamen und mein Passwort möchte] (https://www.linkedin.com/pulse/20140919143915-80607522-2-reasons-why-employers)-wollen-dein-Facebook-Passwort) soll ich sie angeben ".Ja, in einem Interview zu sagen, dass Sie Vertraulichkeitsvereinbarungen missachten, ist eine schlechte Idee!Und wenn ein Kandidat das tut, sollten Sie ihn nicht einstellen.
@VietnhiPhuvan Open Source existierte lange bevor Github erstellt wurde.
@David Conrad - na und?Sie geben mir keinen Code aus Ihrem privaten Repository und behaupten, es sei Open Source.Wenn Ihr angeblich Open Source Code nicht dort gespeichert ist, wo jeder ihn sehen kann, schrauben Sie ihn - ich bin nicht interessiert.Ich möchte beide Hände mit offenen Handflächen sehen, und sie sollten besser sauber sein.
@VietnhiPhuvan Es gibt unzählige Orte, an denen es gespeichert werden könnte, "wo jeder es sehen kann", die nicht Github sind.Github hat kein Monopol auf Open Source-Entwicklung.
mhoran_psprep
2016-10-22 20:45:58 UTC
view on stackexchange narkive permalink

Der einfachste Weg, darüber nachzudenken, ist: Ändern Sie die Situation leicht. Stellen Sie sich vor, Sie sollten eine Geheimhaltungsvereinbarung unterzeichnen, bevor Sie den Code anzeigen. Aber Sie hatten nie erwartet, sich ihren Code anzusehen. Würden Sie unterschreiben? Nein. Sie möchten, dass die Anwälte des Unternehmens zuerst die NDA prüfen. Die NDA gilt nicht nur für Sie, sondern für Ihr gesamtes Unternehmen. Du willst diese Verantwortung nicht.

Sie haben keine Ahnung, ob der Befragte das Recht auf diesen Code hat. Sie haben keine Ahnung, ob es einem anderen Unternehmen (einem seiner Kunden) gehört, ob es ein Unternehmensgeheimnis ist oder noch schlimmer im Besitz der Regierung.

Ich würde das Angebot, den Code zu sehen, höflich ablehnen. Ich würde auch sicherstellen, dass ich in meinen angebotenen Notizen hervorhob und nein sagte.

Ich würde dieses Problem mit meinen Managern und anderen, die die Interviews durchführen, besprechen. Es könnte sogar als negativ in unserer Bewertung des Kandidaten angesehen werden.

Upvote für die Empfehlung, (1) schriftlich zu dokumentieren, was passiert ist (2), den Personalchef unverzüglich zu benachrichtigen.Das wahrscheinliche Ergebnis (meiner Erfahrung nach) ist, dass der Personalchef den Rest der geplanten Interviews absagt und den Kandidaten entlässt.
David W. Thrower
2016-10-23 02:47:00 UTC
view on stackexchange narkive permalink

Jeder spricht das Problem der Erlaubnis des Unternehmens an, diese Informationen freizugeben, aber ich denke, ein Aspekt des Problems, der übersehen wird, ist folgender:

Sind die Daten proprietärer Natur?

Wird der Code proprietär angeboten? Ist es eine Bibliothek, die ein allgemeines allgegenwärtiges Problem löst oder in vielen Systemen als gemeinsames Zahnrad dient und dem Empfänger dieses Codes keinen wirklichen Vorteil gegenüber oder eine einzigartige Fähigkeit bietet, mit diesem Arbeitgeber zu konkurrieren? Ist der Code, den er anbietet, beispielsweise eine Bibliothek mathematischer Funktionen, die es einer Sprache ermöglichen, die keine eingebauten trigonometrischen Funktionen enthält, trigonometrische Operationen auszuführen, und sonst nichts? Wenn ja, sehe ich wirklich nicht, wie dies in irgendeiner Weise die IP des Arbeitgebers schädigt. Tatsächlich denke ich, dass solche Dinge öffentlich auf GitHub veröffentlicht werden sollten. Wenn dieser Code jedoch ein wesentlicher Bestandteil eines proprietären Systems ist, das das Schema und den Mechanismus eines internen Workflows, interner Finanzdaten oder der Funktionalität der Unternehmensanwendungen aufzeigt, ist dies ein Problem. Wenn er jedoch einfach etwas enthüllt, das nicht proprietäre Probleme löst, die in der Coding-Community allgegenwärtig sind, würde ich sagen, dass es kein Schaden ist - kein Foul.

Trotzdem wäre es höflich, vor dem Teilen zu fragen.

Es kann kein Schaden verursacht werden (tatsächlich vermute ich, dass es kein wirklicher Schaden wäre, selbst wenn es proprietär wäre).In diesem Fall zeigt es jedoch eine Art faule Haltung.Der Kandidat * könnte * erwägen, einen Code speziell für die Freigabe zu schreiben, ist jedoch bereit, einen einfacheren Weg einzuschlagen, an den möglicherweise moralische Bedenken geknüpft sind oder nicht.Einige mögen diesen Pragmatismus nennen oder in diesem Fall nicht "höflich" sein, aber als Arbeitgeber, der sich mit potenziellen Arbeitnehmern befasst, die mit geistigem Eigentum arbeiten, denke ich, dass Bedenken darüber hinausgehen.
Ja!Danke.Sehr wenig Code ist eigentlich eine proprietäre Information.Meistens ist es nur Code.
Der Zweck / die Verwendung des Codes ist irrelevant, wenn er ihm nicht gehört.Er hat den Code vielleicht geschrieben, aber das bedeutet nicht, dass er ihn besitzt und frei ist, ihn zu teilen.
Der gesamte Code, den ich für die Arbeit schreibe, ist proprietärer Natur.
user42272
2016-10-23 00:42:43 UTC
view on stackexchange narkive permalink

Die Situation ist faul, aber ich stimme zu, dass es besser ist, nicht zu Schlussfolgerungen zu springen, bevor Sie müssen (als Interviewer müssen Sie möglicherweise nur). Das Zeigen eines Screenshots von Code zeigt eine andere Urteilsfarbe als das Ablegen eines Repos. Ich interessiere mich weniger für die Ethik von Maßnahmen, die ein Kandidat ergriffen hat, als vielmehr für Urteils- und Denkprozesse, die zu diesen Maßnahmen geführt haben, die manchmal Spielraum lassen können. Aber das?

Sie sagten, es sei in Ordnung, da sie es immer wieder schreiben könnten.

Ist das tatsächlich passiert? Übersetzung: "Ich besitze alles, was ich geschrieben habe, und versuche nicht, mich anders zu überzeugen. Entweder weiß ich nichts über grundlegende Geschäftsethik und Gesetze oder es ist mir einfach egal." Ich würde es schwer haben -übergeben Sie diesen Kandidaten.

Danke, dass du meine Gedanken in Worte gefasst hast.Ja, das war abschreckend.
@Alpha danke.Enderlands Antwort war ziemlich umfassend, aber ich fand die Art und Weise, wie diese Linie zu mir heraussprang, besonders aussagekräftig.
Klingt eher nach einem Argument "Dies ist ein sehr allgemeiner und unspezifischer Code, der keinen intrinsischen Bezug zu meiner aktuellen Rolle hat und von mir oder jemand anderem jederzeit in derselben Form geschrieben werden könnte"
@LightnessRacesinOrbit ist ein großartiges Beispiel für eine Meinung, die nicht relevant ist, ob ein Entwickler etwas besitzt, das er geschrieben hat.Zum Beispiel könnten Sie diese Meinung vielleicht verwenden, um das Unternehmen davon zu überzeugen, den Code zu lizenzieren, z.als Open Source.
@Alpha ehrlich gesagt, je mehr ich darüber nachdenke, desto mehr klingt es nach Unwissenheit.Irgendwann in meinem Leben habe ich gelernt, dass das, was der Befragte getan hat, falsch ist.Ich habe es definitiv nicht im Kindergarten oder während meines nicht geschäftlichen, nicht technischen College-Hauptfachs gelernt.Ist es wirklich so überraschend, wenn der Chef des Befragten dies nicht erklärt hat?Wenn ich mit meiner Ethik * locker * wäre, würde das bedeuten, dass ich sie gut genug verstehe, um zu wissen, dass dies einen zukünftigen Arbeitgeber abschrecken könnte.Ich sage nicht "einstellen", sondern versuche nur herauszufinden, was ich von diesem Kandidaten halten soll.
@djechlin: Kann dem nicht widersprechen
user59158
2016-10-23 14:48:05 UTC
view on stackexchange narkive permalink

Es ist okay, wenn er nur eine Idee gemäß seiner Arbeit gibt. Nur so können Sie sich in einem Interview vertreten. Sie erklären Ihre bisherigen Erfahrungen und Lösungen.

Ich kann mir nicht vorstellen, dass jemand in einem Interview exakten Code bei sich hat. Oder wenn er eine E-Mail hat oder bereitstellt, was ist dann die Garantie, dass er diesen Code geschrieben hat? Vielleicht versucht er dadurch eine Gelegenheit zu ergreifen. Wirf ihn einfach mit Respekt raus: D

CWilson
2016-10-25 19:04:06 UTC
view on stackexchange narkive permalink

Nein. Und nein.

Aber ...

Wir kennen das Erfahrungsniveau des Befragten noch nicht.

In vielen Bereichen, insbesondere in kreativen Bereichen In der Natur ist ein „Portfolio“ früherer Arbeiten erforderlich, und wenn Sie es nicht zu einem Vorstellungsgespräch bringen, ist dies Grund genug, keine Mitarbeiter einzustellen.

Eine Lebenslauf- / Lebenslauf- / Entwicklergeschichte ist cool, erzählt aber nicht so viel wie die genauen Logos, die beim Grafikdesign-Gig erstellt wurden, oder die von Ihnen veröffentlichte Kurzgeschichte oder ein Video von a Vortrag, den Sie gehalten haben. Es kann sich sogar um Code / Software handeln, die Sie für eine Klasse oder in Ihrer Freizeit erstellen. Und eine Internetsuche nach "Interview-Portfolio" findet einige leidenschaftliche Ansichten, dass ein solches Portfolio eine gute Idee ist.

Sagen wir, dies ist ihr zweiter Job außerhalb des College, sie haben ihren ersten Job mit einem Portfolio und einem Ein angesehener Mentor / Professor / Elternteil, der nicht in der Softwareentwicklung tätig ist, sagte ihnen, dass sie für jedes Interview immer ein Portfolio benötigen. Das Erwähnen, ohne den proprietären Code tatsächlich einzubringen und zu übergeben, kann tatsächlich ein Schritt in die richtige Richtung sein und darauf hinweisen, dass sie das geistige Eigentum im Allgemeinen verstehen, aber noch nicht wissen, wie sie mit den Einzelheiten umgehen sollen.

Wenn diese Position sehr jung ist, ist dies nicht unbedingt ein Problem und kann vom Interviewer tatsächlich verwendet werden, um zu sehen, wie er mit neuen Informationen umgeht (in einem Bereich, mit dem er nicht vertraut ist, Recht) widerspricht der respektierten Autorität. Das erfordert jedoch einen erfahrenen und motivierten Interviewer, um Diamanten zu polieren. Ein Interviewer, der sich die Zeit nimmt, um hier eine Frage zu einem bestimmten Fall zu stellen, kann nur dieser Interviewer sein.

Auf der anderen Seite bin ich mir nicht sicher, ob Sie das ändern können, wenn dies ihr fünfter Job ist, mehr als 10 Jahre auf dem Gebiet, und das geistige Eigentum unbekümmert herumwirft.

Michael Shaw
2016-10-23 15:08:08 UTC
view on stackexchange narkive permalink

Nein, Sie sollten sich das Codebeispiel nicht ansehen. Es hilft nicht wirklich bei der Interviewentscheidung, da Sie sich nicht sicher sind:

  1. Hat er es geschrieben?
  2. Wie lange hat es gedauert?
  3. Wie viel Hilfe aus dem Internet hat er bekommen?
  4. ol>

    Keine dieser Fragen kann in einem Interview definitiv beantwortet werden.

    Jetzt anwesend Whiteboard und geben eine technische Herausforderung in Code zu lösen. Auf diese Weise können Sie sehen, wie er über Code denkt. Kennt er die Sprache? Oder auf Intelisense setzen? Sie können Einschränkungen hinzufügen und sehen, wie flexibel er denkt.

    All dies hilft Ihnen bei der Entscheidung, wie viel Unterstützung diese Person für die Rolle benötigt, die Sie ausfüllen möchten.

Ich denke, dies ist ein guter Rat, aber er geht nicht direkt auf die gestellte Frage ein
Ich stimme dir nicht zu.Wenn er Code hat und ihn erklärt, kann er über Designentscheidungen sprechen, von denen er bereits weiß. Wenn ich also keine gute Erklärung dafür bekomme, weiß ich, dass ich ihn aussortieren kann.Ein neues Problem kann herausfordernd, mehrdeutig oder viel zu einfach sein oder nicht für die Dauer eines Interviews geeignet sein (was die Zeit des Befragten nicht missbrauchen sollte).Ja, ich werde nicht wissen, wer und wie es genau geschrieben wurde, aber die Diskussion darüber wird mir das sagen.
Marc Stober
2016-10-23 19:49:22 UTC
view on stackexchange narkive permalink

Aus einem praktischeren Grund, "Nein" zu sagen: Wenn Sie ein gutes System zur Bewertung von Kandidaten haben, sollten Sie kein zusätzliches Material von einem Kandidaten verwenden, das Sie normalerweise von anderen Kandidaten nicht betrachten würden.

Das heißt, ich werde einigen der anderen Personen, die hier geantwortet haben, ein wenig widersprechen. Wenn es sich um eine minimale Menge an Code handelt, die nicht spezifisch für das vorherige Geschäft ist, ist dies keine so große Sache im gesamten Schema der Diskussion, die während eines Interviews stattfindet und die notwendigerweise darauf abzielt, was ein Kandidat für einen früheren Arbeitgeber getan hat. Sich auf Open Source-Beiträge zu verlassen oder einen Kandidaten dazu zu bringen, Beispielcode nur für Sie zu schreiben, hat seine eigenen Probleme, da sie dadurch unbezahlte Arbeit leisten und möglicherweise kein gutes Beispiel für ihre Arbeit sind, die sie im Job erledigen würden.

coteyr
2016-10-24 04:46:02 UTC
view on stackexchange narkive permalink

Bevor Sie das "ist häufig / ungewöhnlich oder empfohlen / nicht empfohlen" beantworten können, müssen Sie eine andere Frage beantworten.

Hat der Kandidat das Recht, den Code zu verbreiten?

Wenn dies der Fall ist, ist dies üblich und ratsam. Einige Beispiele dafür, wo der Entwickler dieses Recht haben würde:

  • Open Source-Projekt
  • Vereinbarungen mit Unternehmen über vorhandene IP, die der Entwickler in seiner Freizeit geschrieben hat.
  • Vereinbarungen mit früheren Arbeitgebern zur Verwendung eines Teils einer Codebasis bei der Suche nach neuer Arbeit.

Als Freiberufler arbeite ich "für Miete", was bedeutet, dass der Code, den ich schreibe, Eigentum der Person ist, die dafür bezahlt. Trotzdem treffe ich normalerweise Vorkehrungen, um Teile meiner Arbeit als Open Source zu nutzen oder Rechte daran zu behalten. Ein gutes Beispiel ist eine Änderung, die ich am aktiven Händler vorgenommen habe, um einen Kartenprozessor hinzuzufügen. Ich habe mit der Firma gesprochen und mit ihrer Erlaubnis diese Module als Open-Source-Version bereitgestellt und sie wieder zu Active Merchant hinzugefügt. Wenn mich jemand nach einem Codebeispiel fragen würde, könnte ich diese Arbeit bereitstellen, ohne neue Berechtigungen zu erhalten.

Ich halte auch Vereinbarungen mit Kunden, um über Teile ihres Codes sprechen und diese mit potenziellen Arbeitgebern teilen zu können.

Es ist sehr schlecht anzunehmen, dass der Entwickler keine Berechtigung zum Freigeben des betreffenden Codes hat. Sie verfügen möglicherweise über alle erforderlichen Berechtigungen.

Wenn sie nicht über die Berechtigung verfügen, den betreffenden Code weiterzugeben, sollten Sie den Kandidaten einfach weitergeben. Es ist normalerweise illegal (IANAL) und sicherlich unprofessionell, Code zu teilen, wenn Sie keine Erlaubnis dazu haben.

Das Einrichten der Berechtigung zum Freigeben von Code auf dieser Ebene ist einfach. Fragen Sie einfach. Sie brauchen keine ausgefallenen Papiere oder lange juristische Dinge. Fragen Sie einfach den Kandidaten. Sie werden den Code nicht in Ihren Projekten / Ihrer Software verwenden, sodass dort kein wirkliches Risiko besteht. Sie (der Kandidat) sind am Haken für das Teilen, Ihr nicht, solange Sie sie nicht bitten, diesen bestimmten Code bereitzustellen. (Denken Sie an IANAL)

Kilisi
2016-10-23 06:08:08 UTC
view on stackexchange narkive permalink

Ich würde jede zukünftige Kommunikation mit dieser Person einfach ignorieren. Es ist höchst unethisch und wahrscheinlich illegal, was sie vorschlagen, und ich würde keine Notwendigkeit sehen, einen weiteren Dialog mit ihnen aufzunehmen. Ihre E-Mail-Adresse würde direkt zu meinen Spam-Filtern gehen.

Ich würde mich nicht darum kümmern, sie oder irgendetwas anderes zu informieren. Ich habe keinen produktiven Grund dazu. Ich habe bereits alle Informationen, die ich über sie benötige.

Wenn der Interviewer Zeit hat, sich bei SE nach einem bestimmten Fall eines bestimmten Interviews zu erkundigen, hat er wahrscheinlich Zeit, eine Ablehnungs-E-Mail zu schreiben.Nicht zu sagen, dass jeder muss, und nicht zu sagen, dass @Kilisi die Zeit nehmen sollte.Aber ich würde.Und ich drückte diese Meinungsverschiedenheit mit einer Ablehnung aus.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...