Soumettre le code pendant l'entrevue [fermé]

20

J'interviewe pour un poste dans une startup internet. Le poste consiste à faire de l'exploration de données sur leur très grande base de données d'informations sur les utilisateurs. Dans le cadre de la procédure d'entrevue (longue distance) qui consiste à examiner un sous-ensemble de leur base de données, ils ont demandé que je soumette le code que j'ai utilisé pour l'analyse.

Ma principale préoccupation est que ce code est "propriétaire", faute d'un meilleur mot. Je n'ai aucun problème à leur donner tout mon code si je finis par travailler pour eux, mais étant donné qu'ils pourraient potentiellement prendre le code, ne pas m'engager et l'utiliser sur leur plus grande base de données pour générer des revenus, j'hésite. Suis-je simplement paranoïaque? Est-ce une préoccupation légitime?

dharel
la source
8
combien d'heures avez-vous passé à écrire ce code?
Matthieu
1
Est-ce vraiment important? La valeur inhérente est la même si elle est de quatre minutes ou de quatre jours.
dharel
8
Je pense que la question de Matthieu est valable, en fait. Ignorant un instant que certaines personnes peuvent faire en une heure ce que cela pourrait prendre une autre par semaine, je serais très méfiant si elles vous demandaient d'effectuer une tâche qui prendrait un travailleur moyen plus de quelques heures.
David Ruttka
2
Que diriez-vous de mettre une licence restrictive sur le code avant de le soumettre?
fejd
4
@dharel: pour moi, ce serait le cas. plus d'un certain temps ressemblerait à ces stages non rémunérés où il y a une promesse d'emploi en échange de travail gratuit, et non à un processus d'entretien régulier.
Matthieu

Réponses:

30

Si vous voulez le travail, et si c'est leur processus, vous devrez probablement soumettre. Je pense que vous êtes sage d'envisager la possibilité qu'ils puissent "voler" votre code et vous aurez travaillé gratuitement. Cependant, si votre code fonctionne et les impressionne, ils en voudront probablement plus.

Vous devriez également peser les gains potentiels de garder le code pour vous-même par rapport à le publier pour obtenir le travail.

David Ruttka
la source
3
J'aime cette réponse. Si elle est spécifique à leur base de données, qu'allez-vous faire d'autre avec elle? Notez-le comme prix de l'entretien. En outre, il est fort probable que vous n'allez pas leur faire exploser leurs esprits avec votre brio ... Ce n'est pas méchant, mais je connais suffisamment ce genre de personnes pour savoir qu'elles ne recherchent jamais d'emploi ou d'interview.
Satanicpuppy
@satan - :) aucune infraction prise, je doute que je le serai non plus.
dharel
1
@dharel - Personnellement, je ne le ferais pas pour une start-up. S'il s'agissait d'une entreprise établie, les risques sont plus faibles. Mais j'ai été brûlé par des consultants essayant de trouver un problème lors d'une fausse interview, m'obligeant à écrire du code pour faire ce dont ils ont besoin, puis à ne plus jamais entendre parler d'eux. J'ai découvert par quelqu'un d'autre dans l'entreprise qu'ils avaient mis en œuvre au moins une version de la solution que j'avais fournie.
SoylentGray
17
mec s'ils obtiennent leur meilleur code à partir d'une fausse interview, ils seront coulés dans un an de toute façon.
Kevin
2
S'ils prennent votre code et s'exécutent, vous ne voulez pas travailler pour eux de toute façon ..
Styler
7

Habituellement, je m'en fiche, sauf s'il est évident qu'ils essaient de trouver du travail gratuitement. Écrire un peu de code en utilisant des données "en direct" ou similaires est très bien, se voir confier une tâche à partir du backlog de produit et être censé l'implémenter gratuitement comme un "exemple" est sournois et c'est à ce moment-là que vous devez refuser (ou leur envoyer un facture après).

Utilisez votre propre jugement sur la question, mais si le travail en vaut la peine, je ne serais pas trop inquiet tant qu'ils n'essaient pas ouvertement de vous faire faire du vrai travail sans payer.

Wayne Molina
la source
5

Si vous ne faites que deux heures, vous pouvez vous attendre à ce que leurs programmeurs le fassent aussi rapidement et aient probablement passé plus de temps à faire l'interview et à trouver un travail intéressant à faire que ce qu'ils pourraient gagner en volant. votre code. Votre question ne serait pertinente que si vous avez écrit une grande quantité de code ou si vous aviez une certaine connaissance du domaine qu'ils n'ont pas eux-mêmes. Le vol de travail ne commencerait à payer que si vous obtenez au moins plusieurs jours de code professionnel de chaque personne interrogée. Et vous ne savez jamais à l'avance si le code sera de bonne qualité.

thorsten müller
la source
4

Vous devriez renoncer à ce travail. Sérieusement - si vous pensez vraiment qu'il y a même une chance sur dix que l'entreprise soit si néfaste qu'elle élabore un plan pour obtenir de la main-d'œuvre gratuite grâce à un processus d'embauche factice, il y a clairement un manque de confiance entre vous et eux. Si vous ne pouvez pas leur faire confiance avec quelques heures de travail, comment pouvez-vous leur faire confiance pour votre gagne-pain?

Alternativement, essayez de le regarder de leur point de vue: vous embaucheriez-vous sans une certaine mesure de votre niveau de compétence?

Caleb
la source
3

J'ai soumis de petits morceaux de code qui n'ont pris que quelques heures à écrire, mais ont résolu un vrai problème pour les gens à deux reprises. Les deux fois, je n'ai pas obtenu le poste. Les deux fois, je ne suis pas sûr qu'il y ait vraiment du travail.

Dans votre cas, vous pourriez avoir l'avantage que si jamais vous découvriez votre code dans leur produit, vous auriez probablement une bonne affaire contre eux dans un procès, donc avant de le soumettre, si vous le faites, vous devriez peut-être faire quelque chose pour vous permettre de prouver vous l'avez écrit et quand vous l'avez écrit.

psr
la source
2
Pour se développer - aux États-Unis, au moins, cela peut être aussi simple que de l'imprimer et de le poster à vous-même (mais ne l'ouvrez pas!). Cela vous donne une copie papier scellée et un enregistrement de la date soutenu par le gouvernement.
Shauna
1

Ne passez pas trop de temps à travailler sur le code pendant le processus de recrutement (c'est-à-dire plus d'une journée sur celui-ci) car il s'agit essentiellement d'un travail gratuit pour votre employeur potentiel. Si cela se produit, ils n'agissent pas de manière très professionnelle et vous devriez envisager de les fuir doucement.

Habituellement, lors de ces types d'interviews, lorsque vous soumettez du code pour résoudre un petit problème spécifique, il est stupide de supposer que vous aurez des problèmes avec. Pourquoi?

  • Si c'est du code que vous avez écrit pour un problème très spécifique, à jeter et que le code peut avoir besoin d'être refactorisé pour être utile de toute façon.
  • Dans les zones géographiques où les brevets logiciels sont en vigueur, ils pourraient de toute façon faire l'objet d'une contrefaçon et aucun droit d'auteur ne vous protégera des tactiques effrayantes utilisées par les avocats avides. (Avertissement: je ne suis pas avocat.)
Spoike
la source
0

Si vous craignez que des personnes volent votre code, la meilleure protection contre celui-ci est de le concéder sous licence à l'aide des licences Creative Commons . Je choisirais personnellement l' Attribution-NoDerivs 3.0 Unported . Cependant, vous n'empêcherez jamais les gens de regarder votre code et de le réécrire, c'est le gilet en Kevlar que vous pouvez mettre pour vous protéger légalement contre les pirates qui tentent de déchirer votre code ligne pour ligne.

Si vous êtes sérieux au sujet de ce travail, montrez-leur des morceaux, ou des faits saillants du code. Faites-leur savoir ce que vous faites logiquement sans révéler vos secrets commerciaux. Si vous pratiquez une bonne conception dans votre codage, ils le verront directement dans votre code.

Styler
la source
0

Suis-je simplement paranoïaque? Est-ce une préoccupation légitime?

Je pense que vous êtes probablement paranoïaque. Ou mercenaire. Ou les deux.

Vous vous inquiétez de quelque chose qui a très peu de chances d'avoir une valeur intrinsèque significative 1 .

Vous avez commenté ainsi:

Est-ce vraiment important? La valeur inhérente est la même si elle est de quatre minutes ou de quatre jours.

Euh ... ce n'est pas réaliste. Un programme "bonjour le monde" en 2 lignes n'est pas la même chose que quelque chose sur lequel vous avez passé des jours, des semaines, des mois à travailler. Mais de toute façon, la valeur réelle de ce code (c'est-à-dire le potentiel de gagner de l'argent) pour VOUS est très probablement nulle. Si vous faites des histoires sur les problèmes de propriété intellectuelle, un employeur éventuel prendra probablement cela comme un signe des choses à venir.

Et du côté de l'éthique, bien sûr, ils ont un besoin légitime de voir comment vous avez mis en œuvre le code. Sinon, comment vont-ils évaluer la qualité de votre travail? Ils ont également l'obligation morale de traiter votre code comme votre propriété. Mais vous n'avez pas besoin d'accords juridiques et d'autres choses pour quelque chose comme ça. C'est tout simplement une perte de temps pour tout un effort insignifiant .


Note de bas de page 1 - L'exception serait que si votre solution au problème des «devoirs d'entretien» comprenait un grand corps de code privé que vous avez passé des mois / années à développer et que vous avez des plans réalistes pour en tirer de l'argent. Si tel est le cas, vous ne devriez pas l'utiliser dans des questions "devoirs d'entretien".

Aucun employeur ne veut employer un programmeur uniquement pour se disputer pour savoir qui détient les droits IP pour le code critique qui peut ou non avoir été écrit par ledit programmeur en dehors des heures de travail. Et si votre efficacité en tant que programmeur dépend de votre utilisation d'un tas de votre propre code privé, alors votre employeur aura des problèmes majeurs si / quand vous "passez".

Stephen C
la source
-3

Ouais, imma carillon dans 2 ans plus tard au cas où quelqu'un tomberait dessus dans une recherche Google comme je l'ai fait.

Je voudrais simplement le soumettre. Quel genre de boutique informatique fait leur programmation en incitant les personnes interrogées à faire leur travail pour elles? C'est juste à l'envers. Si votre code est assez bon pour eux, ils vous embaucheront probablement pour en écrire davantage. C'est pourquoi ils vous interviewent ... pour savoir si votre code est assez bon pour leur application. Ce n'est pas comme si vous soumettiez du code source pour quelque chose de propriétaire que vous avez écrit pour quelqu'un d'autre ... vous ne possédez pas leur base de données ou leurs produits, alors qu'est-ce que cela vous fait? Même s'ils volent votre code, cela ne vous fera pas de mal. Tu n'as vraiment rien à perdre que ton temps, ce que ... tu vas perdre de toute façon. Si vous ne prévoyez pas de leur donner le code, je m'éloignerais complètement de la perspective. Si tel est leur processus, s leur processus. Vous n'allez rien gagner en ne leur donnant pas le code.

Shonenknife
la source