¿Deberías guardar una copia de todo el código que escribes? [cerrado]

197

Sé que la compañía para la que trabaja posee el código y obviamente será arrestado si intenta venderlo. ¿Pero es poco común que los desarrolladores conserven una copia personal del código que escribieron (para referencia futura)?

Aparentemente, este tipo fue enviado a prisión por copiar el código fuente.

superFoo
fuente
13
podría ser un problema legal grave si de alguna manera lo vende / reutiliza a la empresa competidora.
EL Yusubov
19
Tenga en cuenta que en el artículo vinculado, es un caso bastante específico, ya que se fue con un código que probablemente estaba cubierto por NDA (considerando el cliente), e incluso si no fuera así, no estoy seguro de que me arriesgaría de alejarse con el código que fue desarrollado para el maldito Banco de la Reserva Federal ! No debe tener todo allí si usted piensa que nada puede ir mal con eso y que no va a ser por lo menos un par de personas influyentes que no le gustaría esta idea en absoluto , si es que alguna vez se escucharon ha tomado el código con el que .
haylem
10
Suponiendo que fue un trabajo por cuenta propia y que su antiguo empleador posee los derechos de autor sobre el código que escribió para ellos y no lo ha publicado como código abierto, diría que guardar copias del código que escribió es exactamente tan inapropiado como conservar copias del código que escribieron sus compañeros de trabajo.
Keith Thompson
37
@DavidPeterman: ¿por qué un empleador que lo contrató no posee todo lo que usted hace por ellos? ¿Crees que parte de tu casa pertenece al carpintero que hizo el enmarcado?
Reactgular
10
@MathewFoscarini Entiendo lo que estás diciendo, pero estoy hablando de los algoritmos. Eso sería como decir que el carpintero no es dueño de los pasos que da para construir la casa
David Peterman

Respuestas:

303

¿Pero es poco común que los desarrolladores conserven una copia personal del código que escribieron (para referencia futura)?

No sé qué tan común es, pero común o no, sigue siendo una mala idea.

Los programadores a menudo operan con la mentalidad de que resolver el mismo problema dos veces es una pérdida de tiempo. Intentamos diseñar nuestro código para que sea reutilizable (a veces). Construimos bibliotecas de clases y funciones para reutilizar en algún momento en el futuro. A veces incluso regalamos nuestro código para que nadie más tenga que escribir código para resolver el mismo problema que acabamos de hacer. Por lo tanto, puede ser comprensible querer llevar "su" código cuando se mude de un trabajo a otro. Pero aún no debe hacerlo, por las siguientes razones:

  1. No es su código tomar.

  2. El código que escribió para su antiguo empleador es parte del negocio que construyeron. Su código es parte de su ventaja competitiva. Claro, los competidores podrían escribir su propio código para resolver el mismo problema, pero no deberían tener la ventaja de aprovechar el trabajo que su empleador pagó, posee y no le autorizó a tomar.

  3. Si tienen algún sentido, su nuevo empleador no quiere ninguna parte del código que le quitó a su antiguo empleador. Cuanto más se "refiera" al trabajo que hizo para algún empleador anterior, más pondrá a su nuevo empleador en peligro legal.

  4. Si alguna vez accidentalmente deja que se le escape a New Employer que todavía tiene una copia de las cosas que hizo para Old Employer, su jefe en New probablemente se dará cuenta de que tomará una copia de su código cuando se vaya para otro trabajo. Eso podría no estar bien con él o ella.

  5. Incluso si no está cruzando líneas reales o solo ideas vagas de sus cosas viejas, solo tener sus cosas viejas en su posesión podría levantar sospechas de que podría estar usándolas para algo. Imagínese que Old Employer demanda a New Employer, y como uno de los pocos empleados que se mudaron de Old a New, de repente se encuentra dando una declaración. Ninguno de ustedes copió el código de Old en el producto de New, pero el abogado que está frente a usted pregunta: "Sr. SuperFoo, ¿lo tiene o lo tiene en algún momento desde que dejó Old Employer tenía en su poder una copia de cualquier código que usted o alguien más escribió mientras trabajaba en Old Employer? "

  6. No necesita el código que escribió el mes pasado, el año pasado o hace más tiempo. Usted resolvió el problema una vez y ahora sabe cómo resolverlo nuevamente. O bien, puede saber cómo no resolver el problema: su nueva implementación será mejor porque tiene experiencia.

  7. Hay mejores formas Es difícil regresar y aprender algo útil al leer el código antiguo fuera de contexto. Un diario o diario que describe lo que aprende, las ideas que tiene, etc., es mucho más útil más adelante.

  8. Incluso si Old Employer sabe que tienes su código y está de acuerdo con eso, ¡ todavía no lo quieres! Lo único que puede surgir de tenerlo es una llamada telefónica a las 3 am: "¿Hola, SuperFoo? ¿Cómo estás? Escucha, tienes una copia de nuestras cosas, ¿verdad? Mira, tenemos un problema con el sistema, y ​​lo hemos reducido a un par de archivos que usted escribió que nuestro nuevo tipo simplemente no entiende. Sé que es tarde, pero ¿podría guiarlo a través de SuperDuper.pl? "

Déjalo ir. No lo necesitas

Caleb
fuente
77
Además, si los medios en los que mantiene el contenido se pierden o son robados, es un gran problema. A decir verdad, prefiero evitar tener cualquier tipo de conectividad VPN o fuentes en mis PC personales si es posible. Su PC podría ser parte de la botnet sin que usted lo sepa, ¿por qué arriesgarse?
Codificador
8
Excelente respuesta! En realidad, me ofrecieron una copia del código (o acceso continuo) al dejar a mi antiguo empleador. Me negué, exactamente por razones cercanas al número 8. Después de todo, había una razón para renunciar a ellos. Si todavía quisiera bifurcarlos, me quedaría :)
harald
79
+1: No lo necesitas La parte difícil es descubrir qué escribir, no escribirlo realmente. Si lo escribe por segunda vez, probablemente será aún mejor.
Kevin Cline
66
Cuando resuelvo un problema con mi código, tiendo a escribir la solución en un blog. No es el código fuente de mi trabajo, sino un código genérico que sigue el mismo patrón (una sola línea o unas pocas líneas para lograr el objetivo, no gigantes de código). Considero que este es un gran método para almacenar lo que aprendí en trabajos anteriores. +1 para la bala # 7!
Gaʀʀʏ
11
¿No debería haber un umbral de algún tipo para la cantidad de código que califica? Si utilizo for (int i=0; i < N; ++i)en mi código, seguramente no es ilegal utilizar en otro lugar en otra compañía ...
vsz
159

Siempre guardo una copia del código que escribo y la llevo entre trabajos. Los empleadores posteriores nunca llegan a ver / ejecutar el código, pero lo uso como referencia en casa: "Ah sí, ¿no hice algo similar a eso en el Proyecto X?".

¿Es esto legal? Depende de la jurisdicción y las circunstancias, pero es bastante común. Moralmente, no tengo ningún problema con eso, siempre que no solo le des código a nuevos empleadores ... Es un recordatorio y una demostración de lo que has hecho, en lugar de un recurso gratuito para tu empleador.

[La otra cara de esto es la vergüenza inevitable que aparece cuando miras el código anterior: '¿Qué estaba pensando? ¿Por qué demonios lo hice que forma ?? ']

cjmUK
fuente
35
+1 Y ni siquiera es relevante si es legal. Muchos de nosotros lo hacemos de todos modos. No perjudica a su empleador anterior (no está vendiendo el código a un competidor), y de todos modos no se puede regular. En cierto modo, si "recuerda" cómo resolvió un problema para un empleador anterior, está "robando" este secreto para ellos, de una manera que no se puede regular hasta que inventan el control mental;)
Andres F.
89
@AndresF. Eso no es más que una racionalización. El código es propiedad de su antiguo empleador, sus recuerdos no lo son. Si recuerdas cómo resolviste un problema, no necesitas el código, entonces, ¿qué sentido tiene tomarlo?
Caleb
10
+1 por hacer el argumento moral. Personalmente, sigo esto, principalmente porque la mayoría de mi código no es específico del dominio. Recuerdo cómo resolví algo, pero no necesariamente los matices.
Telastyn
46
En el caso de una acusación de robo de propiedad intelectual de una empresa, tener una copia del código actuará como un gran factor agravante en su contra. Tener el recuerdo no lo es. Esa es la diferencia.
Oleksi
13
@Caleb Independientemente, muchos desarrolladores toman fragmentos de código después de que se van. Esta es una acción completamente separada del uso de este código para competir o dañar a su antiguo empleador, y generalmente se toma solo como referencia, como en "¿cómo demonios resolví este problema / configuré este software antes? quieres, pero sigue siendo una práctica generalizada, y en realidad no lastima a nadie. Puedes enterrar tus cabezas colectivas en la arena, o afirmar que está mal, pero aún sucede. Especialmente con la subcontratación / deslocalización, si crees que no pase, te espera una sorpresa!
Andres F.
51

Esta es una muy mala idea. Ese código no te pertenece (legalmente hablando) y tenerlo en posesión puede meterte en muchos problemas. Esto se vuelve aún más cierto cuando te mudas a un nuevo trabajo y aún mantienes ese código fuente. Peor aún si es un competidor. Su empresa no estaría contenta si tuviera acceso a su código fuente cuando ya no trabaje para ellos.

Se trata de gestionar su riesgo. Obviamente, se espera que conserve cosas de un empleador anterior que pueda usar en otro lugar. Es por eso que hacen que sus cláusulas de no competir firmen que duran X meses / años después de que las deja, sin embargo, tener posesión del código lo hace más vulnerable a alguien que lo acusa de copiar descaradamente el código de la compañía (incluso si no lo hizo, y solo usé las mismas ideas). ¿Vale la pena tener el código para gestionar este riesgo?

Seguramente lo útil que obtuviste al escribir el código no es la sintaxis exacta; es el conocimiento que obtuviste. Probablemente no valga la pena lidiar con todas estas cosas legales.

Oleksi
fuente
99
No es una mala idea, a menos que haya estrictos controles de seguridad en su oficina (como rechazar correos electrónicos y pendrives). De todos modos, nadie va a buscar en la computadora de su hogar, y se entiende que los desarrolladores le quitan el conocimiento a sus trabajos anteriores. No puede evitar eso, y no sería razonable hacerlo, ya sea que el código sea "recordado" o copiado textualmente. Lo que puede hacer como empleador es hacer cumplir las cláusulas de no competencia o NDA o cualquier mecanismo legal disponible en su país.
Andres F.
14
@Malfist No, no lo haces. IANAL, pero está bastante bien establecido que, al menos en los EE. UU., Los productos de trabajo que alguien le paga para crear son de su propiedad, no suyos. Ver trabajo por contrato en Wikipedia.
Caleb
55
@Malfist De nuevo, no. Ver el enlace en mi comentario anterior.
Caleb
44
@Malfist: "si eres el único desarrollador y no te obligaron a renunciar a tus derechos de autor, puedes llevarte el código cuando te vayas (siempre lo hago)". Sin embargo, no estoy seguro de que sus contratos reflejen la mayoría de la realidad. La mayoría de los contratos de alquiler de software dicen explícitamente que debe entregar todas las fuentes y archivos binarios, y transferirles la propiedad y los derechos de autor. Lo cual es bastante normal para trabajar independientemente. Puede negociar eso, pero es más o menos de hecho las cláusulas que espero ver en los contratos (tanto para contratos internos como independientes).
haylem
55
Consideremos hipotéticamente a un desarrollador que recuerda cualquier línea que escribió durante su carrera. ¿Sería ilegal si usara esta memoria mientras trabajaba en proyectos futuros? ¿Por qué hace distinciones entre recordar su código y guardar una copia en su disco duro privado? Si se le permite tomar un ejemplo de su experiencia, debería hacerlo incluso si está escrito en su cuaderno en lugar de estar almacenado en su cerebro. Y si no se le permite volver a leer su antiguo código, que guardó en su PC, tampoco se le debe permitir "recordarlo", lo que obviamente no tiene sentido.
Nadir Sampaoli
36

No es raro

Tengo una copia de casi 1 cada código que escribí profesionalmente, y ciertamente todo el código de mis proyectos actuales, independientemente de quién lo escribió 2 . Junto con el código , tengo una gran cantidad de documentos legales que definen claramente lo que puedo y no puedo hacer con él. Simplemente tener el código no es lo mismo que tratar de sacar provecho del código.

Dicho esto, es un problema legal, y los problemas legales tienden a ser extremadamente complicados y localizados. En caso de duda, realmente necesita hablar con un abogado. Puedo mantener mi código, pero estoy 99% seguro de que no me meteré en problemas por hacerlo.

1 Lo que falta es principalmente lo que no me importó archivar. Solo falta un código de proyecto pequeño por razones legales.
2 Naturaleza de los proyectos y mi papel en ellos, soy uno de los tipos que necesitan tener al menos una idea de lo que sucede, incluso si no estuve involucrado en la construcción de un módulo específico.

Yannis Rizos
fuente
44
@haylem nunca estoy en las instalaciones de la empresa;)
yannis
3
sin embargo, yo estoy seguro de que sabes lo que quiero decir, y que probablemente no importa mucho donde está físicamente :)
haylem
3
Escuché a un desarrollador hablar en una conferencia de WordPress y dijo algo como "Si contrato trabajo para usted, me aseguro de que sepa que posee el código que escribo para usted, pero eso no significa que no haya aprendido nada nuevo escribiendo su código ".
programador
3
@Caleb Tener la documentación adecuada puede ser poco común (no lo sé), sin embargo, no creo que sea necesario guardar copias del código. Simplemente tengo ambos;)
Yannis
2
@Krelp, las claves de cifrado, como las claves de las cajas fuertes, se pueden obligar a través de una citación.
Malfist
29

Veo a su hombre chino arrestado y lo crío con un "código no es propiedad, por lo tanto no puede ser robado".

Ref .: Código 'no propiedad física', reglas de la corte en el caso de espionaje de Goldman Sachs

Con eso dicho.

  • ¿Guardo el código que escribo? Absolutamente.
  • ¿Mantengo proyectos completos? Absolutamente.
  • ¿Me aseguro de pasar el código de mi PC desde el trabajo a una máquina doméstica? ¡Puedes apostar!
  • ¿Alguna vez vuelvo a usar ese código en otra empresa o en un proyecto personal? No.
  • ¿A menudo miro el código antiguo y me pongo WtF? Todo el tiempo.
TimSonOfSteve
fuente
14
+1 Jeje, una respuesta agradable y honesta. La mejor parte es que es cierto que en realidad nunca vuelves al código anterior. ¡Te sientes más seguro si te lo llevas contigo, para nunca volver a mirarlo en tu vida!
Andres F.
¿No fue este un problema importante en el reciente caso de Oracle v Google también?
robertc
1
Totalmente de acuerdo contigo. Estoy haciendo lo mismo. Es una muy buena referencia.
Andrea Girardi
2
el código no es propiedad, por lo tanto, no puede ser robado es un terrible resumen de ese caso de Goldman Sachs. El tipo ruso fue absuelto, no porque no haya hecho nada malo, sino porque su robo no calificaba según la ley que el fiscal intentaba usar en su contra. Eso no significaba que no violó su contrato con GS, o que violó las leyes de propiedad intelectual. Por favor, lea el artículo con más cuidado, y tal vez tome algunos de los comentarios a continuación.
Nate
Artículo relacionado: ¿Goldman Sachs sobrepasó la carga penal de su exprogramador? . Este es también un buen ejemplo de que incluso si ganas al final, la batalla legal en sí misma puede doler mucho.
CodesInChaos
10

Aquí hay una pregunta simple para ti. Diríjase a su jefe y dígales: "Tengo una copia de todo el código que escribí mientras trabajaba aquí. Solo el código que escribí, no otras personas. Esto es para mi propia educación, y nunca lo entregaré".

Sus próximas acciones dictarán (sí, esa palabra existe en América del Norte / Mundo) si usted está equivocado o correcto en sus ojos.

Independientemente de su propia "ética", usted trabaja para un empleador. Si ellos consideran que lo que estás haciendo está mal, entonces está mal basado en su ética. A medida que le pagan, y usted está empleado por ellos, entonces está en su tribunal acordar con ellos o estar en desacuerdo, lo que podría hacer que lo despidan.

Ahora es una cuestión de integridad. Dejé que un empleado anterior tomara parte de nuestro código, pero primero lo examiné todo.

El hecho de que creas que estás en lo correcto no te convierte en lo correcto. Por lo general, los desarrolladores de software firman contratos cuando están empleados. Si firmó uno, debe cumplir con su palabra.

Ryan Ternier
fuente
"mientras trabajaba aquí" implica que la persona en cuestión ya no es tu jefe. Si es tu antiguo jefe, ¿por qué te importaría preguntarle?
Alexander
¿Por qué? Contratos? ¿Integridad?
Ryan Ternier
Puede conservar el código que escribió sin utilizarlo para nada y, a la vez, mantener sus contratos y mantener su integridad.
Alexander
2
Si firma un contrato que establece que todo el código es propiedad de su empleador, llevarlo a casa es una violación de ese contrato si no sabe que lo tiene o si le dio permiso para tenerlo. Es efectivamente un robo. Sí, es "código", 0 y 1 digitales, pero en la mayoría de los casos es en blanco y negro.
Ryan Ternier
Es la clásica discusión "piratería es robo".
Alexander
8

¿Es raro que los desarrolladores conserven una copia personal del código que escribieron?

Respondiendo la pregunta directamente, diré en mis experiencias que esto es poco común. La excepción a esto que he visto son las personas que hacen mucho trabajo independiente y mantienen el código a mano para futuros proyectos de mantenimiento y mejora de sus clientes, y me imagino que esto está claramente establecido en el contrato (aunque no estoy en la costumbre de revisar los contratos independientes de mis amigos, así que quién sabe). Las personas que conozco que trabajan en empresas más grandes nunca han admitido guardar el código de los antiguos empleadores.

Sé que no lo haría porque no puedo pensar en una sola situación en la que sería útil (sin mencionar que estoy bastante seguro de que mi empleador actual prohíbe tales cosas; solo tendría que buscar los documentos para estar seguro ) El código que he escrito / arreglado suele ser tan específico para un requisito comercial particular que no puedo imaginar que vuelva a aparecer en el futuro de tal manera que sea más fácil reutilizar el código anterior que escribir nuevo código.

FrustratedWithFormsDesigner
fuente
3
Como profesional independiente, guardaré todo el código. Reutilizarlo es extremadamente improbable, pero eventualmente lo mantendré, lo conservaré (por ejemplo, si el empleador contrata a otra persona que arruina el código y me contrata nuevamente para arreglarlo).
Camilo Martin
1
En mi trabajo independiente, encuentro que hay mucho código que se reutiliza comúnmente. ¿Cuántas veces termino escribiendo el mismo código de inicio de sesión de usuario antes de reutilizarlo? Si bien mantengo el código para mantenimiento, las áreas comunes de código generalmente se copian. Si he encontrado un código que es esencialmente el mismo entre dos proyectos, hago una copia de él de forma generalizada y lo copiaré en otros proyectos según sea necesario.
Chris
8

En el pasado, era común que los desarrolladores tuvieran su biblioteca personal de rutinas que usarían para resolver problemas en el trabajo actual. La fuente se quedaría atrás cuando el desarrollador se fuera, pero cualquier mejora también fue con él.

Esto resultó en una situación de ganar-ganar. También era solo un subconjunto de todo el código escrito.

Por supuesto, la mayoría de lo que había en las bibliotecas personales estaría en las bibliotecas estándar de hoy.

Jon Strayer
fuente
En algunos entornos, existe una clara delimitación entre la biblioteca o el código de componente, o las clases diseñadas explícitamente para su reutilización (analizadores, etc.) y aquellas que son específicas del dominio del problema. El código que es específico del dominio del problema (la principal aplicación interna de XWare o entidad comercial) podría no ser útil fuera de ese lugar, pero los componentes / bibliotecas de bajo nivel o reutilizables pueden ser muy útiles.
Warren P
6

Bajo una relación de empleador a empleado en la mayor parte de América del Norte, es ilegal transferir o transmitir material digital (es decir, el código fuente) desde el equipo de su empleador sin la autorización legal previa del empleador.

Parte de las leyes legales relacionadas con la definición de un empleado en el lugar de trabajo, es la descripción de que el empleado no proporciona su propio equipo de trabajo a menos que se indique lo contrario en el contrato del empleado, con excepción de los oficios que requieren que el empleado compre su propio equipo (es decir, trabajador de la construcción).

La mayoría de las leyes laborales en América del Norte definen al empleador como el principal tomador de riesgos en una relación de empleado a empleador. Al empleado se le paga por su tiempo mientras el empleador proporciona materiales, equipos y controla las actividades laborales del empleado.

¿En qué momento durante esta relación está bien robar material valioso del empleador, que ha pagado y se ha arriesgado al crear dicho material?

El problema clave con esto fue la pregunta "¿código fuente que escribiste?". No señor, no fue usted quien lo escribió. Bajo la guía de su empleador, fueron ellos quienes lo escribieron. Usted es solo la mano contratada que lo escribió. No hay un tribunal en América del Norte que se ponga del lado de usted en caso de que su empleador tome medidas legales para asegurar su propiedad. Solo copiar el código fuente a una memoria USB puede llevarte al agua caliente.

Dicho esto, si un empleador le permitió usar su propio equipo (es decir, una computadora portátil) o transmitir el material, entonces es un asunto diferente. El empleador debe notificarle al finalizar que cualquier material debe ser devuelto / destruido.

Solo pensé en publicar esta respuesta, porque parece que algunas personas pensaron que era un área gris. Realmente no creo que si usted es un desarrollador, deba ir a Internet publicando copias de los materiales del empleador. Quiero decir, claramente ya sabías la respuesta a esta pregunta porque creaste una nueva cuenta de miembro solo para hacer esta pregunta. ;)

Mathew Foscarini
fuente
El empleador debe notificarle al finalizar que cualquier material debe ser devuelto / destruido. ¿Es esto realmente cierto? ¿Tiene el empleador la obligación legal y / o contractual de hacer esto?
Radu Murzea
El empleador no tiene la obligación legal de hacerlo, pero puede solicitar en cualquier momento que cualquier material que le pertenezca sea devuelto por un empleado, a menos que exista un acuerdo entre el empleador y el empleado que le permita al empleado conservar dicho material.
Reactgular
5

He hecho esto en el pasado hace unos pocos trabajos.

Sin embargo, nunca volví y lo miré. Ocasionalmente he reutilizado ideas y cosas que aprendí, pero no he encontrado una razón para volver y mirar el código.

Entonces no me molestaría más. Es legalmente dudoso, y nunca lo he encontrado útil en la práctica.

JohnB
fuente
4

Seguro. Me gusta guardar una copia de todo el trabajo que hago, ya sea escribir código o no. Llámalo álbum de recortes, si quieres. ¿Rompiendo las reglas? Quizás.

Los comentarios sobre la ventaja competitiva son irrelevantes a menos que su próximo empleador sea un competidor directo. Si pasa de una compañía telefónica a una casa de software, o de un desarrollador de juegos a un desarrollador de bases de datos, no importa. Si realmente planea reutilizar el código, bueno, esa es una historia diferente.

Curiosamente, a menudo escuchas que los desarrolladores web traen una "caja de herramientas" con un conjunto estándar de bibliotecas JavaScript y hojas de estilo CSS . Pero no he visto eso mencionado aquí.

Steve Bennett
fuente
3

Recientemente he eliminado todo el código antiguo que mantenía de mi empleador anterior. Solo mantuve partes de código que pensé que eran buenas para futuras referencias. De hecho, he descubierto que me he movido considerablemente desde que me fui y nunca me he referido al código anterior. He encontrado / descubierto / aprendido formas mucho mejores de resolver los mismos problemas.

Sin embargo, fue un pequeño viaje agradable por el carril de la memoria :)

Antony Scott
fuente
2

Creo que debe haber una distinción entre un patrón de diseño y un código real (copiar línea por línea)

Anotar algo de psuedocode es algo así: esta es una excelente manera de cargar de manera diferida X en Y es una cosa. Escribir todo el código es otra cosa.

PSU_Kardi
fuente
1

Con el permiso de su empleador, publique el código ordenado y reutilizable como proyectos de código abierto para que otras personas lo usen. Entonces su empleador también puede beneficiarse de las contribuciones de otras personas a este código.

De esta manera, puede mantener el código legalmente, crear una cartera pública de código que ha escrito y el código puede beneficiar a otras personas.

Sarel Botha
fuente
1

Por una cantidad diferente de razones, como trabajar desde casa, es posible que ya tenga una copia, y por mi parte no las eliminaría después de un trabajo, ¿por qué hacer eso? No va en contra de mis creencias o algo así.

Pero, con respecto a su uso, ¡no es tan útil como una publicación de blog!

En pocas palabras: escriba su código, escriba un blog sobre los problemas que ha enfrentado y cómo los resolvió (especialmente cuando se trata de cosas genéricas y amplias), y no le importe guardar un recuerdo (posiblemente encriptado) del último trabajo.

Camilo Martin
fuente
1

En finanzas, el CFA aborda este problema. No se le permite tomar información relacionada con los clientes o su trabajo para la empresa (en este caso, el código). Pero nada le impide memorizar lo que puede y luego escribirlo más tarde.

No estoy seguro de cuán legítimo es eso, pero creo que su mejor opción es dejar su código fuente, pero anote sus ideas y cómo lo hizo tan pronto como llegue a casa. Robar es robar y en la corte lo único que intentan averiguar para decidir es si copiaste el código o no.

Peter Mortensen
fuente
Tenga en cuenta que algunos empleadores harán todo lo posible para evitar que "escriba sus ideas" cuando llegue a casa. El escenario de pérdida para ellos no es el código copiado, sino la competencia contra ellos, y para eso, las ideas son mucho mejores. No estoy seguro de si es aplicable, pero algunos intentan intimidarlo para que piense que son dueños de cualquier idea que pueda tener durante las horas de trabajo.
Andres F.
1
@AndresF. Una vez trabajé en un fondo de cobertura que trató de evitar esto. Honestamente, no pudieron evitarlo, por lo que obligaron a las personas a firmar contratos de no competencia y les pagaron por no trabajar durante 1-2 años después de su renuncia. Aunque es extremadamente costoso (está pagando 2 años de salario a alguien que no trabaja para usted), hace que su conocimiento se vuelva rancio cuando se va e inútil como amenaza competitiva.
Lostsoul
+1 solo para ideas y no para el código. Estuvo involucrado con una empresa que demandó a un ex programador por robar código y vender un producto similar. El juez dictaminó que debido a que los errores eran idénticos, debe haber robado el código.
jqa
He visto que muchos empleadores requieren que un nuevo empleado acuerde por escrito que no se involucrarán en otras actividades comerciales mientras estén empleados por el empleador, y cualquier otro proyecto que el empleado realice de forma paralela también es propiedad del empleador. Creo que este tema en sí mismo es un tema completamente diferente, pero estos acuerdos están presentes en la mayoría de los contratos de trabajo.
Reactgular
@MathewFoscarini Estoy de acuerdo. En mi empresa, requerimos que los empleados tengan una aprobación por escrito antes de participar en cualquier cosa de la que reciban un beneficio (incluye proyectos paralelos, obras de caridad, etc.). Si arregla el automóvil de su vecino y él le compra una cerveza, sería de calidad, aunque los empleados se dan cuenta de que lo más probable es que no lo busquemos.
Lostsoul
1

Si está guardando su código con el objetivo de reutilizarlo más tarde, tengo dos problemas con eso:

  • Si el código es específico del dominio, probablemente también sea propietario. De todos modos, no hay dos negocios o problemas exactamente iguales e intentar solucionar un problema con la solución para otro no es un buen patrón.

  • Si el código que está guardando resuelve un problema común, debe cuestionar su enfoque. ¿Por qué gasta tanto esfuerzo para resolver un problema común cuando es probable que existan (y mejores) soluciones de código abierto?

    Si cree que tiene la mejor solución para un problema común, realmente debería intentar compartir su código públicamente en un repositorio público y / o blog de código cuando lo escriba, no guardarlo para usted. Su jefe no debe oponerse a compartir una biblioteca genérica ni forzarlo a reinventar la rueda (si lo hace, busque un nuevo trabajo).

Si está guardando su código porque desea mostrárselo a un posible empleador o para mejorar sus habilidades, le sugiero que contribuya a un proyecto de código abierto.

David Veksler
fuente
1
El segundo elemento asume que habría una solución de código abierto, que está lejos de ser segura. Pero lo más importante, parte del código que he retenido es código que demuestra cómo he usado componentes / servicios de terceros. Por ejemplo, si desarrollo una solución de pago decente que se integre con Paypal, tomaré el código para referirme más tarde, así que no necesito reinventar la rueda la próxima vez.
cjmUK
0

Todavía no he guardado ningún código que he hecho para los empleadores. Cosas independientes que he guardado (puede ser difícil soportar a un cliente si pierdo mi código).

Sin embargo, estoy considerando mantener el código que hice para este empleador. La razón es que soy desarrollador web y he desarrollado muchas cosas del lado del cliente que se ven bastante bonitas. No los diseñé, pero los implementé y a menudo se me ocurrió la idea. Me gustaría guardar una copia de estas cosas para crear una cartera en línea. Como todos sabemos, los sitios no duran para siempre, por lo que no puedo contar de manera realista con mi trabajo en línea. Tener una copia de seguridad me permitiría tener una cartera en línea.

Sé que los diseñadores a menudo guardan copias de su trabajo (incluso si se trata de trabajo por contrato) para fines de cartera.

No estoy seguro de cuál es la legalidad de esto (no se menciona explícitamente en mi contrato).

Xandor Schiefer
fuente
44
but what are your thoughts on this?No invites abiertamente una conversación sobre tu respuesta introduciendo otra pregunta. Usted nos dice si debemos guardar una copia de todo el código que escribimos. Puedes mejorar la respuesta editándola.
maple_shaft
1
Creo que hay una diferencia en mantener los archivos fuente originales (en su caso, archivos gráficos como .ai o .psd) frente a tener una captura de pantalla del producto final para su cartera. Aún debe pedirle permiso a su empleador, pero deben ser más agradables para este último.
Sarel Botha
Debido a que el trabajo es a menudo de naturaleza interactiva, una captura de pantalla no lo cortará para una cartera. Eso solo mostraría el diseño (que en su mayoría no es mío). Podría tomar una captura de pantalla de mí usando el trabajo en cuestión, pero eso aún no transmite cosas como la latencia, el rendimiento y la compatibilidad entre navegadores.
Xandor Schiefer
0

Bueno, para desarrollar la lógica comercial de mi empresa, no puedo guardar el código porque es propiedad ilegal y personal de la empresa. Como desarrollador, sé cómo desarrollar esa lógica, por lo que puedo tener esa lógica en mi mente. Básicamente, por defecto, está almacenado en su mente, y si lo necesita la próxima vez, automáticamente debe implementar la lógica / mejor lógica que la anterior. Es la naturaleza humana y la inteligencia. :)

Pero el problema se crea cuando desarrolla alguna lógica de utilidad, son reutilizables y siempre importantes, es posible que la necesite con frecuencia en diferentes proyectos. Por lo tanto, deberías tenerlo contigo.

Tengo una solución alternativa para eso. Simplemente cree un JAR sin fuente / documentación para esas utilidades y agréguelo como un JAR externo de terceros en su proyecto. Probablemente al hacer esto puede confirmar su responsabilidad, así como su auto satisfacción de que tiene el código ;)

Soumyadip Das
fuente
1
El otro enfoque para esto es que cuando encuentro un código útil / reutilizable que me gustaría "llevar conmigo" ... simplemente me voy a casa y escribo una publicación de blog sobre la API o técnica particular que me ha interesado yo. Por supuesto, esta publicación de blog no hace referencia a mi empleador, ni utiliza, línea por línea, el código escrito en el centavo de mi empleador.
Joel Martinez
Si hay reglas, entonces deben ser antirreglas. Que puedes usar a tu favor. Hay diferentes técnicas para lograr esto. Lo más importante es: mantener el trabajo despejado.
Soumyadip Das
0

No guardo el código por una simple razón: la compañía me pagó para escribir el código para ellos. Les doy mi código y ellos me dan mi cheque de pago. El tipo que hizo mi almuerzo no puede quedarse con parte de él, ¿por qué el código sería diferente?

Además, antes de dejar el trabajo, todos esos dolores de cabeza permanecen allí, nuevo trabajo, nuevo comienzo, pero con un poco más de experiencia y comprensión de los tipos de problemas en el dominio de ese antiguo trabajo.

Scott S
fuente