Menudo día he tenido hoy. Tenía que poner en producción un nuevo desarrollo para una campaña de uno de mis clientes. Para que me entendáis, generalmente trabajamos con dos ambientes:
- test: un servidor en el que vas poniendo los nuevos desarrollos para ir aprobándolos y ver que funcionan o dónde fallan.
- producción: la vida real. Los servidores a los que se conecta la gente, los que se ven desde internet y demás.
La cosa es que era un desarrollo importante en el que me tocaba modificar todas las partes del sistema, teniendo que modificar todos los servidores, además de ajustar la configuración del producto (precio que cobran por cada llamada, mensaje,...). Vamos, algo no tan sencillo. El cliente lo quería live a las 8:00 am, aunque ya le dije ayer que imposible, que como pronto a las 9.
Total que hoy he llegado pronto a currar (7:45 en lugar de 8:30). La conexión con los servidores iban a pedo burra, tenía que verificar que subía el código correcto a
subversion, tenía que recoger de test los últimos cambios, configurar,... Al final, casi a las 10 consigo poner todo en producción, y comienzan los fallos.
1) Mi jefe de grupo me había generado los jar (el código compilado) para subir a producción, ya que yo tengo más desarrollos para el cliente y por comodidad. Pues me los había generado mal. 30 min para descubrirlo y solucionarlo con el cliente llamandome a ver que pasaba.
2) El sistema empieza a petar por cuestiones ajenas a mi codigo. El sistema de provisioning (conecta con la verdadera red móvil) deja de funcionar. Cliente llamando. Problema: no se habia actualizado parte del código desde 2007! Investigar y resolver. Cliente llamando
3) Los nuevos clientes empiezan a "recibir" mensajes diciendoles que su saldo es menor de 2 euros. Ummmm, esto no pasaba antes. Debido a un cambio de las tarifas ahora los clientes bajan de 2 euros momentaneamente y el sistema genera el aviso automaticamente. Nadie habia generado el codigo diciento que si es un nuevo cliente no pasa nada. Cliente llamando y mandando emails como loco (aunque en realidad el mensaje no se haya mandado porque ese numero no esta activo todavia en la red - igual en el futuro cuando se active le llega XD). Descubrirlo, discutir con mi jefe como solucionarlo, solucionarlo, probarlo y ponerlo en produccion. Cliente mas tranquilo.
4) Un motor que gestiona workflows peta. 30 minutos o mas para descubrir que un antiguo compañero mio había subido un codigo que he puesto yo en producción en el que los clientes de NP (Portabilidad) no podian cambiar su numero y el motor petaba. Cagarme en sus muertos, arreglar el problema, subirlo a produccion, reconfigurar el motor, y a por otro
5) Un fallo en mi codigo. Un puto motor, que no deberia ser tal, y mal diseñado en el que he tenido que cambiar una linea de codigo a otra parte porque si no petaba
En definitiva, hay dias en los que casi no te da tiempo a leer el corre, acabas con un poco de mala ostia y bastante estresado.....