我正在面试一家互联网创业公司的职位。该职位涉及在他们非常大的用户信息数据库上进行数据挖掘。作为(远程)面试程序的一部分,该程序涉及检查数据库的一个子集,他们要求我提交用于分析的代码。
我主要担心的是,该代码是“专有的”,因为缺少更好的词。如果最终为他们工作,我可以毫无问题地给他们提供所有代码,但是考虑到他们可能会采用这些代码,而不是雇用我,并在更大的数据库上使用它来产生收入,我很犹豫。我只是在偏执吗?这是合理的关注吗?
我正在面试一家互联网创业公司的职位。该职位涉及在他们非常大的用户信息数据库上进行数据挖掘。作为(远程)面试程序的一部分,该程序涉及检查数据库的一个子集,他们要求我提交用于分析的代码。
我主要担心的是,该代码是“专有的”,因为缺少更好的词。如果最终为他们工作,我可以毫无问题地给他们提供所有代码,但是考虑到他们可能会采用这些代码,而不是雇用我,并在更大的数据库上使用它来产生收入,我很犹豫。我只是在偏执吗?这是合理的关注吗?
Answers:
如果您想要工作,并且这是他们的过程,则可能必须提交。我认为您应该考虑他们可以“窃取”您的代码并且免费工作的可能性。但是,如果您的代码有效并给他们留下了深刻的印象,他们可能会想要更多。
您还应该权衡自己保留代码与发布代码以获得工作之间的潜在收益。
通常我不在乎,除非很明显他们试图免费获得工作。使用“实时”数据等编写一些代码很好,可以从产品积压中交付任务,并期望以“示例”的形式免费实施,这就是您应该拒绝(或向他们发送帐单)。
使用您自己的判断,但是如果工作值得,那么我就不会太在意,只要他们不是公然地试图让您不付薪就从事真正的工作。
如果您担心有人会盗用您的代码,则最好的保护措施是使用Creative Commons许可对其进行许可。我会亲自选择Attribution-NoDerivs 3.0 Unported。但是,您永远都不会阻止人们查看您的代码并重新编写它,这是您可以穿的凯夫拉尔背心,可从法律上保护您免受盗版者的侵害,这些盗版者试图将您的代码逐行撕掉。
如果您对这项工作很认真,请向他们展示点点滴滴或代码的重点。让他们知道您在逻辑上所做的事情而不会泄露您的商业秘密。如果您在编码中实践良好的设计,他们会首先将其提交给您的代码。
我只是在偏执吗?这是合理的关注吗?
我想你可能偏执。还是佣兵。或两者。
您担心的是某种不太可能具有任何重大内在价值1的东西。
您这样评论:
这真的重要吗?如果是四分钟或四天,则固有值相同。
嗯...这是不现实的。2行“ hello world”程序与您花费数天,数周,数月的工作时间不同。但无论哪种方式,这个代码的实际价值(即赚钱的潜力)到你是最有可能为零。如果您对知识产权问题大惊小怪,准雇主很可能将此视为即将发生的事情的标志。
而且在道德方面,他们当然有合法的需要了解您如何实现代码。他们还将如何评估您的工作质量?他们还有道义上的义务将您的代码视为您的财产。但是您不需要法律协议或类似的东西。这只不过是大家的时间了浪费琐碎的努力量。
脚注1-唯一的例外是,如果您对“面试作业”问题的解决方案包括您花费数月/数年开发的大量私人代码,并且您有切实可行的计划可以从中赚钱。如果是这种情况,则不应在“面试作业”问题中使用它。
没有哪个雇主愿意雇用程序员只是为了争辩谁拥有关键代码的知识产权,而这些关键代码可能在工作时间之外编写,也可能不是。而且,如果您作为程序员的效率取决于您使用一堆自己的私人代码,那么当您“继续前进”时,您的雇主将遇到重大问题。
是的,如果有人像我一样在Google搜索中偶然发现此问题,两年后就会发出imma铃声。
我会提交。通过诱使受访者为他们工作,他们的编程工作是什么样的IT商店?那只是倒退。如果您的代码足以让他们使用,那么他们可能会雇用您编写更多代码。这就是为什么他们要面试您...以了解您的代码是否足够适合他们的应用程序。就像您正在提交为他人编写的专有内容的源代码一样……您不拥有他们的数据库或产品,那么这对您有什么帮助?即使他们窃取了您的代码,也不会伤害您。您真的没有什么可以失去的,只是您的时间,那……您无论如何都会失去它。如果您不打算将代码提供给他们,我将完全放弃潜在客户。如果那是他们的过程 他们的过程。如果不给他们代码,您将不会有任何收获。