Code während des Interviews einreichen [geschlossen]

20

Ich interviewe für eine Stelle bei einem Internet-Startup. Die Position bezieht sich auf das Data Mining in einer sehr großen Datenbank mit Benutzerinformationen. Im Rahmen des (Fern-) Interviewverfahrens, bei dem eine Teilmenge ihrer Datenbank untersucht wird, forderten sie mich auf, den für die Analyse verwendeten Code einzureichen.

Mein Hauptanliegen ist, dass dieser Code "proprietär" ist, da es kein besseres Wort gibt. Ich habe keine Probleme, ihnen meinen gesamten Code zu geben, wenn ich für sie arbeite, aber da sie möglicherweise den Code nehmen, mich nicht einstellen und ihn in ihrer größeren Datenbank verwenden könnten, um Einnahmen zu generieren, zögere ich. Bin ich nur paranoid? Ist das ein berechtigtes Anliegen?

Dharel
quelle
8
Wie viele Stunden haben Sie damit verbracht, diesen Code zu schreiben?
Matthieu
1
Ist das wirklich wichtig? Der inhärente Wert ist der gleiche, wenn er vier Minuten oder vier Tage beträgt.
Dharel
8
Ich denke, Matthieus Frage ist tatsächlich richtig. Wenn ich für einen Moment ignoriere, dass einige Leute in einer Stunde etwas tun können, was in einer Woche noch einmal nötig sein könnte, wäre ich sehr misstrauisch, wenn sie Sie bitten würden, eine Aufgabe auszuführen, die einen durchschnittlichen Arbeiter länger als ein paar Stunden in Anspruch nehmen würde.
David Ruttka
2
Wie wäre es mit einer restriktiven Lizenz für den Code, bevor Sie ihn einreichen?
Fejd
4
@dharel: für mich wäre es. mehr als eine bestimmte Zeit würde aussehen wie jene unbezahlten Praktika, bei denen ein Job im Austausch für freie Arbeit versprochen wird, und nicht wie ein regelmäßiger Interviewprozess.
Matthieu

Antworten:

30

Wenn Sie den Job haben möchten und dies der Prozess ist, müssen Sie ihn wahrscheinlich einreichen. Ich denke, Sie sollten die Möglichkeit in Betracht ziehen, dass sie Ihren Code "stehlen" und Sie kostenlos gearbeitet haben. Wenn Ihr Code jedoch funktioniert und sie beeindruckt, werden sie wahrscheinlich mehr davon wollen.

Sie sollten auch die möglichen Einnahmen abwägen, wenn Sie den Code für sich behalten oder freigeben, um den Job zu bekommen.

David Ruttka
quelle
3
Ich mag diese Antwort. Wenn es spezifisch für ihre Datenbank ist, was werden Sie sonst noch damit machen? Schreiben Sie es als Preis für das Interview ab. Es besteht auch die Möglichkeit, dass Sie sich nicht von Ihrer Brillanz beeindrucken lassen ... Das ist nicht gemein, aber ich kenne diese Art von Leuten genug, um zu wissen, dass sie niemals nach Jobs suchen oder ein Interview führen.
Satanicpuppy
@satan - :) nichts für ungut, ich bezweifle, dass ich es auch sein werde.
Dharel
1
@dharel - Ich persönlich würde nicht für einen Anfang sorgen. Wenn es sich um ein etabliertes Unternehmen handelt, sind die Risiken geringer. Aber ich wurde von Beratern verbrannt, die versuchten, ein Problem bei der Durchführung eines gefälschten Interviews herauszufinden und mich dazu zu bringen, Code zu schreiben, um das zu tun, was sie brauchen, und dann nie wieder von ihnen zu hören. Ich habe von einer anderen Person in der Firma erfahren, dass sie mindestens eine Version der von mir bereitgestellten Lösung implementiert hat.
SoylentGray
17
Alter, wenn sie ihren besten Code aus einem gefälschten Interview erhalten, werden sie sowieso innerhalb eines Jahres versenkt.
Kevin
2
Wenn sie Ihren Code nehmen und ausführen, möchten Sie sowieso nicht für sie arbeiten ..
Styler
7

Normalerweise ist es mir egal, es sei denn, es ist offensichtlich, dass sie versuchen, Arbeit kostenlos zu bekommen. Ein bisschen Code mit "Live" -Daten oder ähnlichem zu schreiben ist in Ordnung. Eine Aufgabe aus dem Produkt-Backlog zu erhalten und sie als "Beispiel" kostenlos zu implementieren, ist nicht ausreichend Rechnung danach).

Verwenden Sie Ihr eigenes Urteil über die Sache, aber wenn der Job es wert ist, dann würde ich nicht zu besorgt sein, solange sie nicht offensichtlich versuchen, Sie dazu zu bringen, echte Arbeit zu leisten, ohne dafür zu bezahlen.

Wayne Molina
quelle
5

Wenn Sie nur ein paar Stunden darin verbringen, können Sie davon ausgehen, dass ihre Programmierer dies genauso schnell erledigen können und wahrscheinlich mehr Zeit für das Interview und die Suche nach einer interessanten Arbeit für Sie aufgewendet haben, als sie jemals durch Diebstahl gewinnen könnten dein Code. Ihre Frage wäre nur relevant, wenn Sie eine sehr große Menge an Code geschrieben hätten oder Domain-Kenntnisse hätten, die sie selbst nicht haben. Diebstahl würde sich erst auszahlen, wenn Sie von jedem Befragten mindestens einige Tage professionellen Code erhalten. Und Sie wissen nie im Voraus, ob der Code eine gute Qualität hat.

thorsten müller
quelle
4

Sie sollten bei diesem Job auf Kaution gehen. Im Ernst - wenn Sie wirklich der Meinung sind, dass es sogar eine Chance von zehn gibt, dass das Unternehmen so schändlich ist, einen Plan auszuarbeiten, um durch einen Schein-Einstellungsprozess freie Arbeitskräfte zu erhalten, besteht eindeutig ein Mangel an Vertrauen zwischen Ihnen und ihnen. Wenn Sie ihnen ein paar Stunden Arbeit nicht anvertrauen können, wie können Sie ihnen dann Ihren Lebensunterhalt anvertrauen?

Versuchen Sie es alternativ aus ihrer Perspektive: Würden Sie sich einstellen, ohne ein Maß für Ihr Können zu haben?

Caleb
quelle
3

Ich habe kleine Code-Teile eingereicht, die nur ein paar Stunden zum Schreiben brauchten, aber ein echtes Problem für die Leute zweimal lösten. Beide Male habe ich den Job nicht bekommen. Beide Male bin ich mir nicht sicher, ob es wirklich einen Job gab.

In Ihrem Fall könnten Sie den Vorteil haben, dass Sie, wenn Sie jemals Ihren Code in ihrem Produkt entdecken, wahrscheinlich eine großartige Anklage gegen sie haben. Bevor Sie ihn einreichen, sollten Sie möglicherweise etwas tun, um dies zu beweisen du hast es geschrieben und als du es geschrieben hast.

bA
quelle
2
Zum Erweitern - zumindest in den USA kann dies so einfach sein, dass Sie es ausdrucken und an sich selbst senden (aber nicht öffnen!). Auf diese Weise erhalten Sie einen versiegelten Ausdruck und eine von der Regierung unterstützte Aufzeichnung des Datums.
Shauna
1

Verbringen Sie während des Einstellungsprozesses nicht zu viel Zeit mit der Bearbeitung von Code (dh mehr als einen Tag), da dies für Ihren potenziellen Arbeitgeber im Wesentlichen kostenlos ist. Wenn so etwas passiert, verhalten sie sich nicht sehr professionell und du solltest dir überlegen, vor ihnen wegzulaufen.

Normalerweise ist es bei solchen Interviews, bei denen Sie Code zur Lösung eines bestimmten kleinen Problems einreichen, nur dumm anzunehmen, dass Sie Probleme damit haben. Warum?

  • Wenn es sich um Code handelt, den Sie für ein bestimmtes, wegwerfbares Problem geschrieben haben, und der Code muss möglicherweise überarbeitet werden, um trotzdem nützlich zu sein.
  • An geografischen Standorten, an denen Softwarepatente in Kraft sind, kann es ohnehin zu Patentverletzungen kommen, und Sie werden nicht durch Urheberrechte vor Schreckenstaktiken geschützt, die von gierigen Anwälten angewendet werden. (Haftungsausschluss: Ich bin kein Anwalt.)
Spoike
quelle
0

Wenn Sie Bedenken haben, dass Personen Ihren Code stehlen könnten, besteht der beste Schutz dagegen darin, ihn mit den Creative Commons-Lizenzen zu lizenzieren . Ich würde persönlich die Attribution-NoDerivs 3.0 Unported wählen . Sie werden jedoch niemals verhindern, dass andere Ihren Code einsehen und neu schreiben. Dies ist die Kevlar-Weste, die Sie tragen können, um sich legal vor Piraten zu schützen, die versuchen, Ihren Code Zeile für Zeile zu rippen.

Wenn Sie diesen Job ernst nehmen, zeigen Sie ihnen Teile oder Highlights des Codes. Lassen Sie sie wissen, was Sie logisch tun, ohne Ihre Geschäftsgeheimnisse preiszugeben. Wenn Sie in Ihrem Code gutes Design üben, wird es zuerst in Ihrem Code übergeben.

Styler
quelle
0

Bin ich nur paranoid? Ist das ein berechtigtes Anliegen?

Ich denke du bist wahrscheinlich paranoid. Oder Söldner. Oder beides.

Sie sorgen sich um etwas, das höchstwahrscheinlich keinen wesentlichen inhärenten Wert hat 1 .

Sie kommentierten so:

Ist das wirklich wichtig? Der inhärente Wert ist der gleiche, wenn er vier Minuten oder vier Tage beträgt.

Ähm ... das ist nicht realistisch. Ein 2-zeiliges "Hallo Welt" -Programm ist nicht dasselbe, an dem Sie Tage, Wochen, Monate gearbeitet haben. Aber so oder so ist der wahre Wert dieses Codes (dh das Potenzial, Geld zu verdienen) für SIE höchstwahrscheinlich Null. Wenn Sie sich über die IP-Probleme aufregen, wird dies wahrscheinlich von einem potenziellen Arbeitgeber als ein Zeichen für die kommenden Dinge gewertet.

Und auf der ethischen Seite besteht natürlich ein berechtigtes Bedürfnis danach, zu sehen, wie Sie den Code implementiert haben. Wie bewerten sie sonst die Qualität Ihrer Arbeit? Sie haben auch eine moralische Verpflichtung, Ihren Code als Ihr Eigentum zu behandeln. Dafür braucht man aber keine gesetzlichen Vereinbarungen und so. Es ist einfach eine Verschwendung von jedermanns Zeit für eine unbedeutende Menge an Mühe.


Fußnote 1 - Eine Ausnahme wäre, wenn Ihre Lösung für das Problem der "Interview-Hausaufgaben" eine große Menge privaten Codes enthält, den Sie monatelang / jahrelang entwickelt haben und mit dem Sie realistische Pläne haben, Geld zu verdienen. Wenn dies der Fall ist, sollten Sie es nicht in "Interview-Hausaufgaben" -Fragen verwenden.

Kein Arbeitgeber möchte einen Programmierer beschäftigen, nur um sich darüber zu streiten, wer die IP-Rechte für kritischen Code besitzt, der von diesem Programmierer außerhalb der Arbeitszeit geschrieben wurde oder nicht. Und wenn Ihre Effektivität als Programmierer von der Verwendung eines Bündels Ihres eigenen privaten Codes abhängt, wird Ihr Arbeitgeber große Probleme haben, wenn Sie weitermachen.

Stephen C
quelle
-3

Ja, imma Glockenspiel in 2 Jahren später für den Fall, dass jemand in einer Google-Suche darauf stößt, wie ich es getan habe.

Ich würde es einfach einreichen. Welche Art von IT-Shop programmiert sie, indem sie die Befragten dazu bringt, ihre Arbeit für sie zu erledigen? Das ist nur rückwärts. Wenn Ihr Code gut genug für sie ist, werden sie Sie wahrscheinlich einstellen, um mehr davon zu schreiben. Das ist der Grund, warum sie Sie interviewen, um herauszufinden, ob Ihr Code für ihre Anwendung gut genug ist. Es ist nicht so, als würden Sie Quellcode für etwas einreichen, das Sie für eine andere Person geschrieben haben ... Sie besitzen weder deren Datenbank noch deren Produkte, also was geht Sie das an? Selbst wenn sie deinen Code stehlen, wird dich das nicht verletzen. Sie haben wirklich nichts zu verlieren als Ihre Zeit, die Sie sowieso verlieren werden. Wenn Sie nicht vorhaben, ihnen den Code zu geben, würde ich mich einfach von dem potenziellen Kunden entfernen. Wenn das ihr Prozess ist, s ihr Prozess. Sie werden nichts gewinnen, wenn Sie ihnen nicht den Code geben.

Shonenknife
quelle