Estou entrevistando para uma vaga na internet. A posição está relacionada à mineração de dados em um banco de dados muito grande de informações do usuário. Como parte do procedimento de entrevista (de longa distância), que envolve o exame de um subconjunto do banco de dados, eles solicitaram que eu enviasse o código que usei para análise.
Minha principal preocupação é que esse código seja "proprietário", por falta de uma palavra melhor. Não tenho problemas em fornecer todo o meu código a eles, se acabar trabalhando para eles, mas, considerando que eles poderiam pegar o código, não me contratar, e usá-lo em um banco de dados maior para gerar receita, hesito. Eu estou sendo paranóico? Esta é uma preocupação legítima?
Respostas:
Se você quiser o trabalho e se esse for o processo deles, provavelmente terá que enviar. Eu acho que você é sábio em considerar a possibilidade de que eles possam "roubar" seu código e você terá trabalhado de graça. No entanto, se o seu código funcionar e os impressionar, provavelmente eles desejarão mais.
Você também deve avaliar os ganhos potenciais de manter o código para si mesmo e liberá-lo para conseguir o emprego.
fonte
Normalmente, eu não me importo, a menos que seja óbvio que eles estão tentando conseguir trabalho de graça. Escrever um pouco de código usando dados "ao vivo" ou algo semelhante é bom, receber uma tarefa do backlog do produto e espera-se implementá-lo gratuitamente, pois um "exemplo" é dissimulado e é nesse momento que você deve recusar (ou enviar a eles um depois).
Use seu próprio julgamento sobre o assunto, mas se o trabalho valer a pena, não ficaria muito preocupado se eles não estivessem tentando fazer com que você faça um trabalho real sem pagar.
fonte
Se você tiver apenas duas horas de duração, pode esperar que seus programadores o façam o mais rápido possível e provavelmente gastaram mais tempo fazendo as entrevistas e encontrando um trabalho interessante para você do que eles poderiam ganhar roubando. seu código. Sua pergunta só seria relevante se você escrevesse uma quantidade muito grande de código ou tivesse algum conhecimento de domínio de que eles não têm eles próprios. O roubo de trabalho só começaria a ser pago se você obtiver pelo menos vários dias de código profissional de cada entrevistado. E você nunca sabe com antecedência se o código terá boa qualidade.
fonte
Você deve pagar a fiança neste trabalho. Sério - se você realmente acha que há uma chance em dez de que a empresa seja tão nefasta a ponto de criar um esquema para obter mão-de-obra livre através de um processo de contratação fraudulenta, há claramente uma falta de confiança entre você e eles. Se você não pode confiar neles com algumas horas de trabalho, como pode confiar neles com seu sustento?
Como alternativa, tente analisá-lo da perspectiva deles: você se contrataria sem medir o seu nível de habilidade?
fonte
Enviei pequenos pedaços de código que levaram apenas algumas horas para escrever, mas resolvi um problema real para as pessoas duas vezes. Nas duas vezes não consegui o emprego. Nas duas vezes, não tenho certeza se realmente havia um emprego.
No seu caso, você pode ter a vantagem de que, se descobrir seu código em seu produto, provavelmente terá um grande argumento contra ele em uma ação judicial; portanto, antes de enviá-lo, se o fizer, talvez faça algo para permitir que você prove você escreveu e quando escreveu.
fonte
Não gaste muito tempo trabalhando no código durante o processo de recrutamento (ou seja, mais de um dia), porque esse é essencialmente um trabalho gratuito para o seu potencial empregador. Se isso acontecer, eles não estão sendo muito profissionais e você deve considerar fugir com cuidado deles.
Geralmente, durante esse tipo de entrevista, em que você envia um código para resolver um pequeno problema específico, é tolice supor que você terá problemas com ele. Por quê?
fonte
Se você está preocupado com pessoas que roubam seu código, a melhor proteção contra isso é licenciá-lo usando as licenças Creative Commons . Eu pessoalmente escolheria o Attribution-NoDerivs 3.0 Unported . No entanto, você nunca impedirá que as pessoas olhem para o seu código e o reescrevam, este é o colete Kevlar que você pode usar para protegê-lo legalmente dos piratas que tentam copiar sua linha de código por linha.
Se você é sério sobre esse trabalho, mostre-lhes partes ou destaques do código. Diga a eles o que você está fazendo logicamente, sem revelar seus segredos comerciais. Se você praticar um bom design em sua codificação, eles o verão em primeira mão em seu código.
fonte
Eu acho que você provavelmente está sendo paranóico. Ou mercenário. Ou ambos.
Você está preocupado com algo que é altamente improvável que tenha algum valor inerente significativo 1 .
Você comentou assim:
Erm ... isso não é realista. Um programa "olá mundo" de duas linhas não é o mesmo que você passou dias, semanas, meses trabalhando. Mas de qualquer forma, o valor real desse código (ou seja, o potencial de ganhar dinheiro) para VOCÊ provavelmente é zero. Se você se incomodar com os problemas de PI, um possível empregador provavelmente entenderá isso como um sinal do que está por vir.
E no lado da ética, é claro que eles têm uma necessidade legítima de ver como você implementou o código. De que outra forma eles avaliarão a qualidade do seu trabalho? Eles também têm uma obrigação moral de tratar seu código como sua propriedade. Mas você não precisa de acordos legais e outras coisas para algo assim. É simplesmente uma perda de tempo de todos para uma quantidade trivial de esforço.
Nota de rodapé 1 - A exceção seria que se sua solução para o problema da "lição de casa da entrevista" incluísse um grande corpo de código privado que você passou meses / anos desenvolvendo e que tenha planos realistas para ganhar dinheiro com isso. Se for esse o caso, você não deve usá-lo nas perguntas da "lição de casa da entrevista".
Nenhum empregador quer empregar um programador apenas para brigar sobre quem possui os direitos de IP para códigos críticos que podem ou não ter sido escritos por esse programa fora do horário de trabalho. E se sua eficácia como programador depende do uso de vários códigos privados, seu empregador terá grandes problemas se / quando você "seguir em frente".
fonte
Sim, eu vou gritar 2 anos depois, caso alguém se depare com isso em uma pesquisa no Google como eu.
Eu apenas enviaria. Que tipo de loja de TI sua programação engana os entrevistados para que façam seu trabalho por eles? Isso é apenas ao contrário. Se o seu código for bom o suficiente para eles usarem, provavelmente o contratarão para escrever mais. É por isso que eles estão entrevistando você ... para descobrir se seu código é bom o suficiente para a aplicação deles. Não é como se você estivesse enviando o código-fonte para algo proprietário que escreveu para outra pessoa ... você não possui o banco de dados ou os produtos deles, então o que é isso para você? Mesmo que eles roubem seu código, isso não vai prejudicá-lo. Você realmente não tem nada a perder além do seu tempo, o que ... você vai perder isso de qualquer maneira. Se você não planeja fornecer o código a eles, eu simplesmente me afasto completamente da perspectiva. Se esse é o processo deles que ' é o processo deles. Você não vai ganhar nada, não dando a eles o código.
fonte