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?
Réponses:
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.
la source
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.
la source
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é.
la source
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?
la source
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.
la source
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?
la source
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.
la source
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:
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".
la source
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.
la source