lunes, noviembre 14, 2005

Programador.. ¿más cerca del informático o del usuario?

Esos seres que tanto saben, que creen saberlo todo sólo porque utilizan palabras como: "clase, puntero, instancia, bucle". ¡Ummm! ¡Vaya! Usuarios ¿avanzados?

Vamos a ver, muchacho. Las cosas deben estar claras desde el principio:

1.- Tú haces aplicaciones. Luego que funcionen o (más probablemente) no es otra cosa.
2.- Yo monto las máquinas que ejecutan tus aplicaciones (y sé cómo está montada).

Si además he caido tan bajo como para hacerte una web donde te explica qué versiones de los programas/librerias/demonios hay en el servidor, sobre qué plataformas, el procedimiento para subir aplicaciones nuevas así como para actualizar las que ya hay, ¿por qué no las lees?

Si encima te monto un servidor de desarrollo para pruebas de aplicaciones, y otro de preproducción para pruebas de carga con las mismas versiones y SO que en producción, porqué me haces cosas como:

-mandar una aplicación para poner en producción que sólo has probado en tu ordenador. Así solo consigues como respuesta un enlace a la página de normas porque no te la has leido;

-mandar una aplicación que intenta conectar con un servidor de bases de datos que sólo existe en la Intranet y no hay acceso desde la DMZ. Eso indica que no te has leido el documento web y como respuesta sólo consigues un enlace a la página de normas porque no te la has leido;

-mandar 3 actualizaciones seguidas para subir a producción. Eso es que no la has probado en desarrollo ni preproducción y consigues como respuesta un enlace a la página de normas porque no te la has leido así como un email con copia a tu jefe y al mío diciendo todo lo que me haces perder el tiempo por no leer la página que te he mandado ya 2 veces (o más);

-mandar las aplicaciones a producción con nivel de log DEBUG. Así sólo consigues que la quite y no te avise, como bien dice la página de normas que sigues sin haberte leido. ¡¡¡Y encima tiene la desfachatez de preguntar por qué!!!

-Preguntar si tu aplicación puede guardar los temporales en /tmp y, encima argumentalo con que para limpiar los temporales es más fácil. Este lo recuerdo con cariño. Fué algo así como:

1er correo: ¿Mi aplicación puede guardar los temporales en /tmp?
Respuesta: No. +enlace a la página de normas.
2o. correo: Si las aplicaciones guardan los temporales en /tmp es más fácil borrarlos cuando haga falta.
Buen punto. Siempre hay que estar preparado para estas cosas.
Respuesta: Es mejor que cada aplicación guarde los temporales en un directorio dentro del directorio de la propia aplicación. Así si la aplicación empieza a poner en peligro la estabilidad del servidor puedo borrar la aplicación y los temporales con un sólo comando sin tener que andar buscando todos los ficheros de esa aplicación.
Casi me pilla ;-)

También recuerdo con cariño a otro "avispilla" que manda la aplicación y después me dice "ahora hay que configurarla". Y se mosqueó porque me eché a reir.

El: Es que desconozco qué parametros poner como la ruta absoluta hasta el tomcat
Yo: No la necesitas. Pon rutas relativas y si cambio de sitio el tomcat no sufrirá tu aplicación.
El: También necesito saber en qué puerto está el tomcat para hacer la solicitud de unos jpg's.
Yo: Los que necesites mételos en un directorio dentro del de tu aplicación, y así sabes dónde están.
El: Y hay otros parámetros que sólo tu conoces. La ruta al fichero de configuración es XXXX (no la recuerdo ni viene al caso).
Yo: vale. Lo apunto.

Accedí al fichero, ví lo que necesitaba y le mandé un correo del tipo:

Hola:

Como hemos hablado por teléfono, los datos que sólo yo conozco para que funcione tu aplicación son:
XXX
YYY
...

Ahora ya puedes ponerlos en tu fichero de configuración y mandarme el fichero porque mi trabajo no es tocar las aplicaciones.

AMEN

Primera ley de convivencia con el desarrollador:

Haz una página web accesible por tus usuarios con los procedimientos para hacer las cosas. Cuantos más requisitos menos lata te darán. A quien no los cumpla (que serán muchos) no tienes que explicarles nada. ¡¡Pon un enlace!! Y sobre todo, deja claro para quién no cumpla las normas que su aplicación puede ser retirada del servidor sin previo aviso. Así, si avisas, encima eres "bueno".