Estoy buscando consejo sobre cómo manejar una oportunidad de alto riesgo.
Mi empleador tuvo que hacer algunos despidos recientemente debido al cambio de las tecnologías subyacentes utilizadas para sus productos (es decir, pasar de C a C++, migrar de CVS a GIT, etc.). Por alguna estúpida razón, insistieron en que la mayoría de los desarrolladores solo recibirían un aviso de 3 meses, pero en realidad tendrían que trabajar en lugar de recibir un pago de 3 meses. Uno de los muchachos mayores que fue despedido recibió un buen pago de 5 meses, mientras que el resto de nosotros tenemos que trabajar en un trabajo que ahora odiamos, y algunos de mis compañeros de trabajo tienen que capacitar a reemplazos mal pagados.
Entonces, todos están siendo menos complacientes, quejándose de las barreras verbales del idioma, etc. Sin embargo, estoy en una situación muy singular. Estoy trabajando durante unas 6 semanas más antes de tener que entregar mi tarjeta de acceso y he estado buscando un nuevo trabajo. Debido a políticas de TI de mala calidad, todos los desarrolladores tienen acceso a la misma contraseña maestra para nuestros servidores de datos y versiones. Una persona de TI (no yo, afortunadamente) decidió hacer algo muy malo: migró el repositorio de CVS con todo nuestro código a GIT, pero solo la revisión de HEAD, y no se encuentran copias de los datos del servidor del antiguo CVS. servidor.
El código se construye bien con el nuevo servidor GIT, así que pensamos que todo estaba bien. ¡Equivocado! Revisamos la última copia de un código clave (40 000 líneas) del que dependen nuestros productos. Alguien (no podemos determinar quién, ya que parece que los registros de arrendamiento de DHCP y los registros "últimos" de SSH no se remontan lo suficiente, la cuenta de usuario "admin" solía hacer esto), y alguien lo ejecutó a través de un analizador que:
Un ejemplo sería:
#include <iostream.h>
main()
{
initDevice();
int i = 0x8001; // Set MSB and LSB to enable diagnostic mode on older models.
cout << "Hello World!";
shutdownDevice();
return 0;
}
#include <iostream.h>
main()
{
foo_0001();
int i = 32769;
cout << "Hello World!";
foo_0082();
return 0;
}
Recuerde, esto se hizo contra unas 40.000 líneas de código en cientos de archivos.
Nadie se dio cuenta de esto porque los trabajos de compilación automatizados seguían funcionando bien. Ahora que es necesario cambiar las cosas, estamos prácticamente en el arroyo sin un remo. Algunos de los otros desarrolladores y yo sabemos mucho de este código, lo escribimos, pero sería una tarea enorme corregir este lío para que al menos se pueda usar hasta el punto en que podamos hacer mejoras, respaldar nuevos productos con él. , etc. La gerencia está furiosa, y uno de los gerentes de software literalmente arrojó cosas alrededor de su oficina en un ataque de furia cuando descubrió que no se podían encontrar copias de seguridad. Tienen copias de seguridad basadas en el tiempo, pero parece que este cambio se realizó hace varias semanas, por lo que la copia de seguridad más antigua también es este código basura.
Hace aproximadamente medio año, estaba haciendo trabajo remoto desde casa. La empresa nos anima a dedicar tiempo extra a través de VPN, pero no cuenta como "tiempo de trabajo". Es básicamente una forma de obtener trabajo extra después de las 5 p.m. de forma gratuita. No existe una política contra el uso de recursos informáticos personales para realizar el trabajo. Tengo una copia del código base anterior a SNAFU.
El ambiente de trabajo no es excelente, pero paga MUCHO más de lo que ganaría en otro lugar. Cuando me despidan en 6 semanas, será un fastidio pagar la hipoteca y mantener a mi familia, pero sobreviviremos. ¿Hay alguna manera de que pueda sacar provecho de esto? He pensado en los siguientes escenarios y necesito consejos sobre qué ruta tomar. Tenga en cuenta que estoy siendo 100% honesto cuando afirmo que NO fui la persona que saboteó el código base:
No siento que tenga ningún deber de ofrecer el código a la empresa de forma gratuita. No soy soporte de TI, y no soy responsable de que no se cómo hacer pruebas de respaldo. Además, no estoy feliz de tener que ayudar a entrenar a las personas que me reemplazarán a mí ya mis amigos. Quiero beneficiarme de esta situación para no usar mis ahorros para pagar la hipoteca mientras busco trabajo, y no quiero que los dueños sospechen que yo causé esto y me persigan con abogados, quemando mis ahorros. aun más rápido.
¿Hay alguna ruta legal donde pueda prosperar de este completo desastre?
Resulta que estaba equivocado. Nunca tuve una copia del código.
El gerente que grita ha sido despedido, así que al menos salió algo bueno de esto.
Todos nosotros, sobre aviso, fuimos llamados a una sala de reuniones con el CTO y el jefe del equipo legal, y expusieron toda la historia que acabo de describir, y en palabras claras, dijeron "pequeño parásito que come mierda". *wads ... sabemos que fue uno de ustedes ", y nos exigió a todos que firmáramos un acuerdo por escrito en el que señalamos que afirmamos que no teníamos parte en todo el asunto, con una cláusula de jerga legal en la parte inferior que les otorga derechos para verificar nuestro e-mail personal para confirmarlo.
Uno de los desarrolladores senior les dijo a todos que no firmaran nada, ya que no había forma de que pudiera beneficiarnos. Nadie firmó nada.
Simplemente me mantendré alejado de esto y pasaré las próximas 6 semanas con una sonrisa en mi rostro. Lo siento por varias cuentas, tratando de proteger mi privacidad.
Y no, Jake/Jacob no es mi verdadero nombre.
Primero, aquí está "hola mundo" encriptado con la contraseña que he usado en las últimas cuentas de correo electrónico desechables. Canalízalo openssl enc -d -a -aes-256-cbc
con la contraseña de mi cuenta para esta cuenta y las dos anteriores como prueba.
U2FsdGVkX1/Q0Xq+Ium6X5BxoZ7ZhhpLtz7ltU+/WrM=
De todos modos, hoy fue una locura. Un loco del equipo encontró esta publicación y la compartió con el equipo. Por supuesto, el gerente de software interino pudo verlo. Bueno, alguien envió un correo electrónico a la gerencia con una demanda de pago a través de bitcoin. No tengo idea si realmente tienen el código o no. Por lo que sabemos, es un troll que lleva las cosas demasiado lejos.
Gracias por el buen consejo. Mantenerse alejado de esto. Todavía me sorprende que no hayan pagado a los desarrolladores y los hayan enviado a empacar, en lugar de obligar a un grupo de desarrolladores rencorosos a entrenar a sus reemplazos.
Y para abordar uno de los comentarios: sí, es un "basurero". Los desarrolladores de C también dominan C++, junto con CVS, SVN, git, mercurial, etc.
Sí, pensé que tenía una copia del código, pero me equivoqué. Era un proyecto separado que no fue alterado, no es que importe. Decidí renunciar hoy y simplemente borraré mi disco duro personal en casa. Problema resuelto.
Esta no es una decisión en la que quiera pasar mucho tiempo contemplando: cuanto más tarde en actuar, más sospechoso se verá cuando finalmente se presente.
Realmente veo tres opciones:
1. Honestidad
En esta situación te estás - un poco - poniendo a merced de esta empresa, y contando también con su generosidad, que puede ser... una tontería.
Vas a tu jefe y le dices:
Escuche, estuve trabajando desde casa hace 8 meses y tengo una versión anterior del programa en mi máquina personal. Aquí tienes un USB con él, es tuyo.
Si esta persona es un ser humano decente, te lo agradecerá desde el fondo de su corazón y te ofrecerá una recompensa. Podrías pedir uno en este momento.
Sé que nos están dejando ir a todos, pero si me ofrecieran una bonificación por ayudarlos, no la rechazaría. Qué tengas un lindo día.
Mantienes tu dignidad y tomas el terreno moral.
2. Mantente a salvo
Si estás tratando con personas vengativas, irracionales y desagradables, simplemente quédate callado . Si sospecha que cualquier intento de ayudarlos terminará en que lo acusen de conspirar contra ellos, entonces es mejor que simplemente se vaya en 6 semanas y se lave las manos.
Sin embargo, en ese momento la empresa probablemente quiebre y muchas personas terminen perdiendo sus trabajos. Realmente no depende de ti, pero podrías hacer algo al respecto.
3. Anonimato
Coloque el código en un USB y escriba una nota anónima que diga:
Tenía este código en una computadora portátil personal debido a que trabajaba en él desde casa. No quiero involucrarme en esta situación de ninguna manera, así que acéptalo de forma anónima. Es un poco más viejo, pero mejor que nada. ¡Buena suerte!
Luego, métalos en un sobre y déjelo en el parabrisas de un gerente, o en cualquier lugar donde pueda ser encontrado, pero sin ser rastreado hasta usted.
Conclusión
Honestamente, no creo que puedas aprovechar la situación para obligarlos a darte un trabajo. Si elige intentar engañarlos para que le permitan "reconstruir" el código, tarde o temprano simplemente llegarán a la conclusión de que saboteó el proyecto con este mismo propósito.
Lo mejor es prescindir de ese dolor de cabeza en particular.
Como empleado asalariado, tiene el deber fiduciario de proporcionarles este código que les pertenece en primer lugar.
Ni siquiera deberías empezar a considerar otras alternativas. Es de ellos. Ellos te pagan. Dáselo a ellos.
Si alguna vez descubren que lo retuviste cuando sabías que lo querían, podrías tener muchos problemas legales. Yo no soy un abogado. Probablemente valga algo de dinero revisar su situación con un abogado para obtener asesoramiento legal.
Si se le animó a trabajar desde casa con su propio hardware, deberían haberle encuestado a usted y a otras personas que podrían haber hecho lo mismo para saber si tenía copias, si valoraban esas copias.
Quizás las copias son demasiado viejas. Tal vez conocen copias aún más actuales de las que no hablan, pero que no quieren usar.
Probablemente hay algunas cosas políticas perversas aquí de las que no estás al tanto. Sé delicado. Pero averigua lo que quieren.
Si lo quieren, dáselo. Serás el héroe. Hable con un abogado. Buena suerte.
No lo mencionaste, pero CVS no es un control de versiones distribuido, como git. Tal vez asumieron que no deberías tener una copia completa del repositorio. Definitivamente es hora de hablar con un abogado.
Resulta que estaba equivocado. Nunca tuve una copia del código.
Me pregunto por qué pensaste que lo hiciste. Tal vez pensó que CVS funcionaba como sistemas distribuidos con los que podría estar familiarizado. Estoy decepcionado con su deseo de aprovechar la mala gestión de la empresa utilizando algo que ya tendrían como moneda de cambio.
La empresa posee el código. Cualquier intento de venderles su propio código terminará en lágrimas.
Cuando lo despiden, todos los contratos de trabajo que he tenido me exigen que destruya cualquier copia del código o, en general, cualquier documento de la empresa que pueda tener en mi poder. Y eso es lo que tienes que hacer. Si se le ha notificado, por lo que sabe que lo van a despedir, también podría comenzar a limpiar lo que tiene en este momento.
Puede observar qué tan bien lo están haciendo en el futuro y disfrutarlo un poco.
PD Después de su actualización: Entonces, el CTO estaba haciendo acusaciones falsas contra casi todos los desarrolladores e insultándolos a todos al mismo tiempo. Bueno, eso va a ayudar. Qué idiota. (¿Por qué digo "qué idiota"? Si el código fue borrado, no ayuda. Pero si alguien más tenía una copia en casa, como pensabas que tenías, o si el perpetrador se había quedado con una copia, que es no improbable, habría habido una pequeña posibilidad de recuperar el código. Con su comportamiento estúpido, destruyó esa posibilidad). Felicitaciones por tener un desarrollador senior que mantuvo la calma y le dio el consejo correcto.
Con toda honestidad, diría que tu mejor opción es dejarlo en paz e irte.
Han actuado de mala fe, pero no se rebajen a su nivel. Parece que son un barco que se hunde. Da un paso atrás y deja que se ahoguen
No menciones el código, NUNCA. Si lo presenta, es probable que sospechen que usted fue el vándalo original y destruyó el código para poder chantajearlos con una copia que se quedó.
Para mí, solo habría dos opciones.
No hagas nada al respecto y deja que se cocinen en su desorden. (Es muy poco probable que haga esto, pero supongo que si no fuera lo suficientemente feliz, podría hacerlo) En cuyo caso, eliminaría sus archivos de mi máquina.
En segundo lugar, entrégales la copia del código.
Todo lo demás que está sugiriendo es inmoral en el mejor de los casos y probablemente ilegal si alguna vez lo descubren porque está tergiversando la verdad.
Si trataste de venderles su propio código de cualquier manera complicada que tuvieras en mente, probablemente se pensaría que eres tú quien saboteó las cosas en primer lugar. Estás diciendo que eres 100% honesto, pero todo el tono de tu pregunta depende de la falta de ética y honestidad personal.
En primer lugar, la empresa tiene la culpa.
Lo que tienes es valioso para la empresa y no creo que tengas la obligación legal o moral de entregarlo. Ciertamente no puedes venderlo o dárselo a otra parte.
No les daría el código basado en una indemnización débil. Fácilmente vale como 1 año de indemnización para ellos, pero ¿y si vienen a usted en lugar de pagar? Es claramente una empresa mal administrada: no contaría con decisiones racionales.
Mi consejo sería mantenerse al margen de esto y no involucrarse de ninguna manera. Es muy poco probable que pueda obtener algún tipo de recompensa (trabajo prolongado, bonificación, etc.) si entrega los archivos que tiene.
Además de eso, los gerentes que eran responsables de mantener las copias de seguridad (o las personas cuyo trabajo consistía en hacer copias de seguridad) seguramente buscarán un chivo expiatorio para salvarse. Si aparece con los archivos, puede convertirse fácilmente en ese chivo expiatorio: realmente no tiene forma de demostrar que no causó el sabotaje si los registros de la red son tan escasos como dice.
En su situación, borraría los archivos, trabajaría las últimas 6 semanas y buscaría otro trabajo mientras tanto. No puede (y ni siquiera debe intentar) vender el código a otra persona; eso sería ilegal y poco ético.
Se podría argumentar que no es ético no entregar los archivos. Estoy de acuerdo con esa afirmación, pero si sigue el camino ético, no hay nada que lo proteja de la empresa si uno o más gerentes deciden culparlo. La empresa tendrá los recursos para una larga batalla legal que usted puede o no ganar al final. Sin embargo, seguramente perderá mucho dinero mientras tanto, si este escenario se vuelve real.
Su pregunta original ¿ Cómo puedo beneficiarme de un desastre empresarial? lo expone como deshonesto con motivos ocultos. No es ético prosperar personalmente durante un desastre empresarial como en este escenario.
Su actualización hace que mi punto sea discutible, pero de todos modos publicaré esto para hacer mi punto: que debe tomar el camino correcto y darle a la compañía el código que pensó que tenía (que ahora sabe que no tenía).
Como lo sugiere la opción número 1 en la respuesta de @AndreiRom y la opción 2 en la respuesta de @Kilsi , debe ser honesto en esta situación. Su empresa posee el código y hasta el último día en el momento en que sale por la puerta, tiene el deber de actuar en el mejor interés de su empleador.
Algunas de las otras respuestas sugieren que al darles el código, se expone a la responsabilidad. Si la empresa lo persiguiera, sería una decisión irracional de su parte. La empresa tiene interés en sobrevivir. El OP al proporcionar a la empresa el código original sin modificar, le ha hecho un gran favor a su empleador. Para que la empresa emprenda acciones legales contra el OP, solo se estarían perjudicando a sí mismos. Sin la ayuda del OP, lo más probable es que la empresa fracase tarde o temprano.
Si yo fuera el propietario de la empresa y alguien saboteara el código base, aceptaría con gracia cualquier ayuda que pueda para restaurar las operaciones comerciales y reconocería que al cooperar con el OP, estoy asegurando mi propia supervivencia.
La vía legal es simple: todavía se le paga, y en esas 6 semanas debe actuar en interés de la empresa. No necesito decirte cuál es esa ruta, ¿verdad?
Mis felicitaciones al desarrollador que realizó esos cambios en las cruciales 40 000 líneas de código fuente. Los gerentes y ejecutivos de su empresa se merecen eso y cosas peores.
Mi consejo para usted: guarde silencio sobre el buen código fuente que tiene. Sus jefes definitivamente van a sospechar que fue usted quien cambió intencionalmente el código para beneficiarse de la situación y ponerlo en muchos problemas legales. No tiene la obligación de ayudar a su empresa; deje que los gerentes y ejecutivos se asen en sus propios jugos.
Borre de forma irrecuperable todas las copias que tenga del código fuente correcto antes de que se hicieran estos cambios desde sus dispositivos personales (dispositivos de su propiedad, no de la empresa). Destruya todas las memorias USB y, preferiblemente, incluso los discos duros que posea donde guardó el código fuente bueno. Esto es en caso de que sus jefes decidan ir a la corte por cualquier motivo y tener todas las computadoras de todos los desarrolladores, incluidas las computadoras de sus mascotas, citar y buscar evidencia para averiguar quién hizo esto. Si no desea destruir los discos duros que posee, al menos elimine el código fuente bueno usando una de esas aplicaciones de trituración de archivos que hacen múltiples pases y sobrescriben un archivo con patrones de bits para que sea aún más difícil recuperarlos o detectarlos una vez. existió.
enderland
en blanco
Wayne Werner
Nube
Grimm el Opinador
Nube
Grimm el Opinador
...destroyed unintended backups
, guau, no pensé en eso. Tomé la declaración de que 'no los tenían después de todo' al pie de la letra. ¡Ahora puedo verlos, relajados en una silla de oficina, contando su gestión mientras un tic casi imperceptible les mueve una comisura de la boca!Nube
Nombre para mostrar