Enviar código durante la entrevista [cerrado]

20

Estoy entrevistando para un puesto en una startup de internet. La posición se relaciona con la extracción de datos en su gran base de datos de información del usuario. Como parte del procedimiento de entrevista (a larga distancia) que implica examinar un subconjunto de su base de datos, solicitaron que envíe el código que utilicé para el análisis.

Mi principal preocupación es que este código es "propietario", por falta de una palabra mejor. No tengo problemas para darles todo mi código si termino trabajando para ellos, pero teniendo en cuenta que potencialmente podrían tomar el código, no contratarme y usarlo en su base de datos más grande para generar ingresos, dudo. ¿Estoy siendo solo paranoico? ¿Es esta una preocupación legítima?

dharel
fuente
8
¿Cuántas horas pasaste escribiendo este código?
Matthieu
1
¿Eso realmente importa? El valor inherente es el mismo si son cuatro minutos o cuatro días.
dharel
8
Creo que la pregunta de Matthieu es válida, en realidad. Ignorando por un momento que algunas personas pueden hacer en una hora lo que podría tomar otra semana, sospecharía si le pidieran que realizara una tarea que le tomaría a un trabajador promedio más de un par de horas.
David Ruttka
2
¿Qué tal poner una licencia restrictiva en el código antes de enviarlo?
febrero
44
@dharel: para mí lo haría. más de cierto tiempo se vería como esas pasantías no remuneradas donde existe la promesa de un trabajo a cambio de trabajo gratuito, y no como un proceso de entrevista regular.
Matthieu

Respuestas:

30

Si desea el trabajo, y si este es su proceso, probablemente tendrá que enviarlo. Creo que es prudente considerar la posibilidad de que puedan "robar" su código y habrá trabajado de forma gratuita. Sin embargo, si su código funciona y los impresiona, probablemente querrán más.

También debe sopesar las ganancias potenciales de conservar el código para usted mismo frente a liberarlo para obtener el trabajo.

David Ruttka
fuente
3
Me gusta esa respuesta Si es específico de su base de datos, ¿qué más vas a hacer con ella? Escríbelo como el precio de la entrevista. Además, lo más probable es que no estés volviendo loco con tu brillantez ... No siendo malo, pero sé lo suficiente de ese tipo de personas como para saber que nunca buscan trabajo o entrevistas.
Satanicpuppy
@satan - :) sin ofender, dudo que lo sea tampoco.
dharel
1
@dharel: personalmente no lo haría para empezar. Si se tratara de una empresa establecida, los riesgos son menores. Pero los consultores me han quemado tratando de resolver un problema que organiza una entrevista falsa, haciéndome escribir un código para hacer lo que necesitan, y luego nunca volví a tener noticias de ellos. Me enteré por otra persona de la compañía que implementaron al menos alguna versión de la solución que proporcioné.
SoylentGray
17
amigo, si obtienen su mejor código de una entrevista falsa, de todos modos serán hundidos dentro de un año.
Kevin
2
Si ellos toman su código y lo ejecutan, no querrá trabajar para ellos de todos modos ..
Styler
7

Por lo general, no me importa a menos que sea obvio que intentan obtener trabajo gratis. Escribir un poco de código utilizando datos "en vivo" o similares está bien, recibir una tarea de la cartera de pedidos del producto y esperar que lo implementen de forma gratuita como un "ejemplo" no es correcto y es entonces cuando debe rechazar (o enviarles un factura después).

Use su propio criterio al respecto, pero si el trabajo lo vale, entonces no estaría demasiado preocupado mientras no estén tratando descaradamente de hacer que usted haga un trabajo real sin pagar.

Wayne Molina
fuente
5

Si solo lleva unas dos horas, puede esperar que sus programadores puedan hacerlo tan rápido y que probablemente hayan dedicado más tiempo a la entrevista y encuentren un trabajo interesante para usted que el que podrían ganar robando tu codigo. Tu pregunta solo sería relevante si escribieras una cantidad de código realmente grande o tuvieras algún conocimiento de dominio que no tienen ellos mismos. El trabajo de robo solo comenzaría a pagar si obtiene al menos varios días de código profesional de cada entrevistado. Y nunca se sabe de antemano si el código tendrá buena calidad.

Thorsten Müller
fuente
4

Deberías abandonar este trabajo. En serio: si realmente cree que hay una posibilidad entre diez de que la empresa sea tan nefasta como para tramar un plan para obtener mano de obra gratuita a través de un proceso de contratación simulada, es evidente que existe una falta de confianza entre usted y ellos. Si no puede confiar en ellos con un par de horas de trabajo, ¿cómo puede confiar en ellos con su sustento?

Alternativamente, intente mirarlo desde su perspectiva: ¿ se contrataría a usted mismo sin alguna medida de su nivel de habilidad?

Caleb
fuente
3

He enviado pequeños fragmentos de código que solo tomaron un par de horas para escribir, pero resolvieron un problema real para las personas dos veces. En ambas ocasiones no conseguí el trabajo. En ambas ocasiones no estoy seguro de que realmente haya un trabajo.

En su caso, puede tener la ventaja de que si alguna vez descubre su código en su producto, probablemente tenga un gran caso contra ellos en una demanda, por lo que antes de presentarlo, si lo hace, tal vez debería hacer algo que le permita probar lo escribiste y cuando lo escribiste.

psr
fuente
2
Para expandir, al menos en los EE. UU., Esto puede ser tan simple como imprimirlo y enviárselo por correo (¡pero no lo abra!). Al hacerlo, obtendrá una copia impresa sellada y un registro de la fecha respaldado por el gobierno.
Shauna
1

No pase demasiado tiempo trabajando en el código durante el proceso de contratación (es decir, más de un día en él) porque eso es esencialmente trabajo gratuito para su posible empleador. Si esto sucede, no están actuando de manera muy profesional y debe considerar huir suavemente de ellos.

Por lo general, durante este tipo de entrevistas, donde envía un código para resolver un pequeño problema específico, es una tontería suponer que tendrá problemas con él. ¿Por qué?

  • Si se trata de un código que ha escrito para un problema de descarte muy específico y el código puede necesitar ser refactorizado para que sea útil de todos modos.
  • En ubicaciones geográficas donde las patentes de software están vigentes, podría estar sujeto a una infracción de patente de todos modos y ninguna cantidad de derechos de autor lo protegerá de las tácticas de miedo utilizadas por los abogados codiciosos. (Descargo de responsabilidad: no soy un abogado).
Spoike
fuente
0

Si le preocupa que las personas roben su código, la mejor protección contra él es licenciarlo utilizando las Licencias Creative Commons . Yo personalmente elegiría el Attribution-NoDerivs 3.0 Unported . Sin embargo, nunca evitará que las personas vean su código y lo reescriban, este es el chaleco Kevlar que puede ponerse para protegerse legalmente de los piratas que intentan rasgar su código línea por línea.

Si te tomas en serio este trabajo, muéstrales partes o partes del código. Hágales saber lo que está haciendo lógicamente sin revelar sus secretos comerciales. Si practica un buen diseño en su codificación, lo verán primero en su código.

Styler
fuente
0

¿Estoy siendo solo paranoico? ¿Es esta una preocupación legítima?

Creo que probablemente seas paranoico. O mercenario. O ambos.

Te preocupa algo que es muy poco probable que tenga un valor inherente significativo 1 .

Comentaste así:

¿Eso realmente importa? El valor inherente es el mismo si son cuatro minutos o cuatro días.

Erm ... esto no es realista. Un programa de 2 líneas "hello world" no es lo mismo que algo en lo que pasó días, semanas o meses trabajando. Pero de cualquier manera, el valor real de este código (es decir, el potencial para ganar dinero) para USTED es probablemente cero. Si se preocupa por los problemas de propiedad intelectual, es probable que un posible empleador tome esto como una señal de lo que vendrá.

Y en el lado de la ética, por supuesto, tienen una necesidad legítima de ver cómo implementaste el código. ¿De qué otra manera van a evaluar la calidad de su trabajo? También tienen la obligación moral de tratar su código como su propiedad. Pero no necesita acuerdos legales ni nada para algo como esto. Es simplemente una pérdida de tiempo de todos por un esfuerzo trivial .


Nota 1 - La excepción sería que si su solución al problema de "tarea de entrevista" incluyera un gran cuerpo de código privado que pasó meses / años desarrollando, y que tiene planes realistas para ganar dinero con él. Si ese es el caso, no debería usarlo en preguntas de "tarea de entrevista".

Ningún empleador quiere emplear a un programador solo para entrar en peleas sobre quién posee los derechos de propiedad intelectual para el código crítico que puede o no haber sido escrito por dicho programador fuera del horario laboral. Y si su efectividad como programador depende del uso de un montón de su propio código privado, entonces su empleador tendrá problemas importantes si / cuando "se muda".

Stephen C
fuente
-3

Sí, voy a tocar dos años después en caso de que alguien se encuentre con esto en una búsqueda en Google como lo hice yo.

Solo lo enviaría. ¿Qué tipo de TI compra su programación engañando a los entrevistados para que hagan su trabajo por ellos? Eso es solo al revés. Si su código es lo suficientemente bueno para que lo usen, probablemente lo contratarán para que escriba más. Es por eso que lo están entrevistando ... para averiguar si su código es lo suficientemente bueno para su aplicación. No es como si estuvieras enviando el código fuente de algo que escribiste para otra persona ... no eres el propietario de su base de datos o sus productos, entonces, ¿qué es para ti? Incluso si te roban el código, eso no te hará daño. Realmente no tienes nada que perder excepto tu tiempo, que ... de todos modos lo perderás. Si no planea darles el código, simplemente me alejaría de la perspectiva por completo. Si ese es su proceso que ' s su proceso. No ganarás nada al no darles el código.

Navaja
fuente