El último día, el gerente hizo cambios en el programa que lo rompió y quiere que vuelva para arreglarlo [cerrado]

Acabo de terminar un contrato de 5 meses donde me contrataron como programa para hacer un programa. El programa es parte de un proyecto más grande. En mi último día, justo cuando estaba entregando todo, mi jefe me pidió que le mostrara algunos resultados del programa. No es realmente técnico (al menos cuando se trata de programación) y casi nunca revisaba mi trabajo. Notó algunas omisiones/errores en la salida y me pidió que cambiara el código. Por supuesto que rompió el programa. Por supuesto, no pude devolverlo a un estado utilizable. Tenía una copia de seguridad, pero mi jefe dijo que era demasiado antigua. Me siento mal por no haber hecho una copia de seguridad más reciente. Ahora mi jefe quiere que venga otro día para terminarlo. No me pagarían por esto y esto es más un favor.

Resumen:

  • Mi gerente recolectó todos los entregables el último día
  • Mi gerente me hizo cambiar algo que rompió el programa justo cuando me iba
  • Me quedé hasta tarde para arreglarlo, pero estaba cada vez más fatigado y frustrado y necesitaba parar.
  • Volví a una versión anterior, pero era bastante antigua y a mi gerente no le gustó
  • Mi gerente quiere que venga en algún momento la próxima semana para arreglarlo.
  • No me pagarían, pero estoy bien con esto.
  • Mi gerente microgestiona y siempre husmea y estropea lo que estoy haciendo.
  • el edificio en el que trabajé tiene una seguridad relativamente estricta y probablemente tendría que llenar papeleo solo para volver al edificio.
  • mi gerente es malo para comunicarse
  • otras personas que trabajan con mi gerente piensan que lo que está tratando de hacer es una locura y es un choque de trenes (como la forma en que organiza los datos)

Mis pensamientos sobre qué hacer:

1) si entro, tener un tiempo específico en el que me iré después de lo que pase. Por ejemplo, si decido entrar durante 8 horas, haría una copia de seguridad de todo, luego, después de 8 horas, terminaría incluso si el programa está en peor estado que cuando comencé.

2) Me gustaría hablar con el gerente de mi gerente, ya que puedo comunicarme mejor con él. Voy a dar el ultimátum de que solo entraré cuando mi gerente no esté allí, ya que tiende a microgestionar lo que resulta en romper cosas. Sé que cuando se estresa viene cada 20 minutos para preguntarme cómo estoy y hurgar y esto me descarrila seriamente. ¿Cómo puedo afirmar esto diplomáticamente?

¿Algún otro requisito que deba pedir? También me preocupa que cuando regrese, el departamento de TI haya cerrado el acceso a mi cuenta. FWIW Estoy seguro de que podría solucionar el problema con el programa en un entorno tranquilo con 1 o 2 horas.

ACTUALIZACIÓN: Llamé al gerente de mi gerente (mi gerente está de vacaciones ahora) y dijo que prefería que escribiera alguna documentación sobre los cambios y cómo solucionarlo.

Con respecto al contrato, claramente decía en qué días comencé, cuántas horas a la semana se trabajan y cuántos dólares y hora me pagan. Nada sobre el producto o los entregables.

Con respecto al control de versiones: Me dijeron que no lo usara, aunque había estado haciendo copias de seguridad incrementales. Volví a una copia de seguridad, pero mi gerente dijo que era demasiado antigua. Sí, me doy cuenta de que debería haber hecho otra copia de seguridad del producto terminado, pero estaba en el proceso de entregarle todo a mi gerente y me "tomó la guardia" cuando, de repente, me pidió que cambiara el código fuente.

Actualización final: volví a entrar. Lo arreglé. Ahora quieren que vuelva a entrar diciendo que no se está ejecutando/no saben cómo ejecutarlo. No voy a volver a entrar.

La palabra no me viene a la mente. Pero las preguntas que nos piden que tomemos una decisión por usted están fuera de tema.
@ReallyTiredOfThisGame Estoy tratando de no expresarlo como pedir una decisión. Estoy preguntando si vuelvo en qué condiciones debo sugerir para que sea una transición lo más fácil posible.
¿Por qué su código no estaba en control de fuente?
Sí, realmente no sé cómo sucede esto.
@HLGEM, el gerente me dijo que no usara el control de versiones. A eso me refiero con que microgestiona pero no es técnico.
@JoeStrazzere, ¿puedes explicar a qué te refieres? Los programas rara vez están 100% libres de errores y el mío no fue una excepción, pero produjo la salida correcta para la mayoría de las tablas.
Si dijo que no use el control de versiones, es su propia responsabilidad haber hecho su propia copia de seguridad antes de realizar los cambios. No tienes la obligación de salvarlo de una herida autoinfligida. ¿Qué tan importante es él como referencia, y rescatarlo mejorará eso? Francamente, creo que deberías cobrar tarifas de consultoría incluso si es "un favor".
Incluso si mi cliente dijera que no usara el control de código fuente, por mi propia cordura y protección habría hecho algo para controlar y archivar el código de alguna manera. Lo hago incluso para mis propios proyectos tontos en casa. Es solo parte del desarrollo.
"Me dijeron que no usara el control de versiones". <-- Esta afirmación no es excusa para un profesional. Imagínese que es un conductor profesional y su jefe le dice "no use el cinturón de seguridad". Puede y debe seguir utilizando el control de versiones en su propia máquina de desarrollo, incluso si la empresa no está invirtiendo en un sistema de control de versiones centralizado.
@Brandin, esa es una forma un poco tonta de pensar: no usar el cinturón de seguridad es ilegal y todos lo saben. También usé el control de versiones, el problema fue que no hice una copia del producto final porque pensé que nada cambiaría el último día... en ese sentido, estoy de acuerdo en que fue un descuido, pero no sirvió de nada llorar por eso. ahora.
El control de versiones funciona de esta manera: cuando llega a la versión final, confirma esa versión en el control de versiones y la etiqueta como "0.1.0-rel" o algo similar. Si usted o su jefe juegan con él el último día y rompen algo, simplemente retrocedan a 0.1.0-rel para llegar a la versión de trabajo conocida anterior. Pero parece que no lo hiciste (es decir, no estabas usando el control de versiones).
A menos que no entienda bien la historia, el gerente no hizo los cambios. Solicitó cambios el último día, que usted hizo según lo solicitado. Como han dicho otros, usted es el que se equivocó al no convencer al gerente para que use el control de código fuente. Literalmente no puedo creer que hayas trabajado durante 9 meses sin registrarte, ni en el "control de fuente" ni en el "esto es lo que tengo hasta ahora, ¿es esto lo que tenías en mente?" Sentidos. Dicho esto, podría o no ser legal que trabaje gratis para solucionar el problema.
Nunca trabajes gratis. No es tu problema.
@stannius no es mi trabajo decirle a mi gerente lo que debería hacerme hacer
Ni siquiera necesita control de código fuente. En su computadora, haga clic en la carpeta que contiene todo su trabajo y seleccione "duplicar" en un menú. Escriba la fecha, listo. Pero al final, el hecho de que tanto el gerente como el desarrollador actuaron de una manera bastante incompetente no hace una diferencia en la situación.
Y como regla: Nunca, nunca hagas cosas cuando estás presionado. No el día antes de irte de vacaciones, definitivamente no el día antes de irte. Cometerá errores , y aquí fueron fatales.

Respuestas (3)

La respuesta depende de cómo esté escrito el contrato. Si se trata de un contrato de costo fijo, se le paga x por y entregables, entonces sí, debe solucionar los problemas sin costo alguno, ya que el contrato no está completo.

Si el contrato era un contrato de tiempo y materiales, se le paga x por y cantidad de tiempo, entonces podría cobrar por el tiempo adicional.

Los demás hechos son secundarios al tipo de contrato. El hecho de que todavía haya errores en el código es parte de la codificación, si no verifica dos veces los requisitos, sucederán cosas. El hecho de que no haya control de fuente y, por lo tanto, los cambios adicionales no se puedan revertir fácilmente es una molestia y estoy seguro de que aprenderá para la próxima vez.

Al final, todo se reduce al tipo de contrato y si desea volver a trabajar con la empresa. A veces, vale la pena tragar un día de trabajo para asegurar otros 3 meses, ya que de lo contrario es posible que no obtenga los 3 meses adicionales.

Upvoting por mencionar los diferentes tipos de contratos.
Esta es la única respuesta responsable. Lea y comprenda su contrato. Si realiza un trabajo fuera del contrato, pierde las protecciones del contrato.
Y fíjate, el trabajo extra se hará a una tarifa/hora más alta :)

Como programador a quien se le paga por su producción, es su responsabilidad asegurarse de que puede reproducir todos los entregables por los que se le paga. Los entregables incluyen no solo el software de trabajo final, sino también el código fuente y todos los archivos de construcción/creación necesarios para construir el software de trabajo final y también para implementarlo, si está escribiendo software basado en la nube.

Esto puede significar mantener sus propias copias de seguridad y puede significar mantener su código fuente en el control de versiones.

Dado que no ha mantenido todos los entregables, lo correcto sería corregirlo. Es decir, con su centavo, sin compensación adicional, entregue lo que ya le pagaron por entregar.

"Como programador a quien se le paga por su producción" FWIW Me pagaron por hora, y eso está claramente establecido en el contrato
Por hora o por trabajo es solo facturación. No cambia la responsabilidad de entregar un paquete completo como enumera @shoover.
Más importante aún, nadie debería aceptar pagar por programar sin un control de versión adecuado.
@cdkMoose parte del problema era que una vez que terminaba un módulo, mi jefe me daba los requisitos para el siguiente. En este sentido, nunca supe realmente qué era exactamente "el paquete completo".
@JonStory, el gerente dijo que no usara el control de versiones
@JimmyBauther, al final de cada módulo, debería/podría haber archivado la fuente de ese módulo de alguna manera. Entonces tendría "el paquete completo" hasta ese momento.
Si dijo que no, entonces, francamente, este es su problema y al menos debería pagarte para arreglarlo. Lección para la próxima vez: úsalo de todos modos
Esta respuesta puede ser incorrecta en al menos algunas áreas, según las circunstancias, ya que las horas trabajadas, incluso para corregir un error, aún pueden considerarse horas trabajadas que el empleador está legalmente obligado a compensar. Creo que es un problema legal y se debe consultar a un abogado local.
Con un contrato por horas no volvería a corregir errores. Sin embargo, no mantener su fuente en control de fuente fue un descuido importante. Incluso si no se proporciona el control de fuente, debe ejecutarlo en su escritorio. Teniendo en cuenta que hiciste el trabajo y luego lo "perdiste", me inclinaría a volver por un día o dos para arreglar las cosas. Y use el control de fuente incluso si tiene que hacerlo usted mismo

Personalmente, diría que el gerente no manejó lo suficiente, no que microgestione. No hay excusa para no tener la versión que entregó en su último día en algún tipo de control de código fuente. Debería haberte criticado duramente desde el principio si no estabas usando correctamente el control de fuente. También debería haber recibido el código antes para poder realizar el control de calidad antes de que te fueras.

Ahora tiene una costosa lección sobre por qué los profesionales siempre usan el control de código fuente y por qué cumplen lo que prometieron. Así que ahora sí, debe entrar y arreglar el lío que usted (no el administrador, usted) creó cuando hizo cambios sobre la marcha en el código que no estaba en el control de código fuente.

Le pide al gerente que se asegure de que haya la seguridad adecuada para que regrese.

Entonces aguantas lo que él crea que necesita para trabajar contigo. Si quiere colgar sobre ti, entonces mala suerte. Aguantar. ser un adulto Puede pedirle educadamente que le dé un par de horas antes de volver a consultar, pero si no lo hace, todos hemos tenido que aguantar cosas que no eran nuestras preferencias. En este momento, solo quiere hacer esto para poder seguir con su vida. Así que solo hazlo. No establezca límites como si le diera 8 horas más y se fuera incluso si todavía está roto. Tú arreglas tu desorden. Comience por crear una versión de control de código fuente del código actual y verifíquela con frecuencia mientras realiza estos cambios. Sin embargo, solo necesita arreglar lo que actualmente está roto. No necesita aceptar e implementar nuevos requisitos.

Hm. Si y no. Cualquier gerente competente debería haber sabido que un cambio de último día estaba buscando problemas; los días finales deben usarse para realizar copias de seguridad y documentar el estado. Estoy de acuerdo en que el OP debería haber realizado una copia de seguridad antes de iniciar ese cambio en cualquier caso, localmente si no en un sccs, pero creo que esto es una responsabilidad compartida.
Esta respuesta simplemente no tiene sentido para mí. Si su contrato ha terminado, volver a hacer más trabajo simplemente no tiene sentido para nadie. Lo correcto es negociar un nuevo contrato aunque sea por uno o dos días.