miércoles, 21 de noviembre de 2007

Mangurrinos

Me gustaría aportar a este nuestro blog un artículo simpático, con gracia, en el que os invito a todos a participar para aportar anécdotas de vuestra propia experiencia. El fin de este artículo es divertirnos con las cosas que les ocurren a los "mangurrinos" seres hipócritas que creen saberlo todo, que te miran por encima del hombro, y que cometen los mayores errores que pueden encontrarse en un negocio de tecnología.

Los comentarios serán moderados, por lo que no se permitirán insultos ni referencias o nombres.

Comenzaré con tres anécdotas que me ocurrieron a mi:


1) El mangurrino de la memoria

Cierta vez me tocó compartir la jefatura de un proyecto con un lechón recomendado, pues su hermano era jefe de área en una importante empresa de telecomunicaciones. Este mangurrino estaba en nómina del cliente.

La época de este proyecto es cuando apareció la tecnología EJB de Sun Microsystems, y este especímen de mangurrino "inventó" la rueda, pues creó nuevamente esta tecnología, aunque como no tenía un framework ni un servidor de aplicaciones, ni unas especificaciones, desarrollar bajo esta tecnología era artesanal y crear las nuevas instancias era todo un deleite de verificaciones con el resto de clases del sistema.

Pero no acaba ahí la cosa, pues el lechón no tenía ni idea de base de datos, y las tablas las reproducía en memoria a través de vectores. Las tablas en el gestor de base de datos no estaban normalizadas, no tenían índices ni claves primarias o foráneas. Como podéis imaginar, hacía una "select * from" y copia registro a registro al vector, y luego hacía las búsquedas en un conjunto disperso, no ordenado, dentro del vector.

Quise ayudar a este lechón, haciéndole percatarse del problema que supondría esto. Como sabía lo delicado de la situación (era el cliente y su hermano el jefe de área), con delicadeza preparé un informe anotando el número de registros que teníamos en pruebas, la estimación de registros en tiempo real, el tiempo que tomaba, y el número de procesos que tomaba realizar una búsqueda en el mejor y el peor de los casos, la cantidad de memoria que consumía, etc. Incluso hice un código con un modelo de base de datos normalizado y optimizado, y una simple query, contrastando los resultados.

Este experimento fue calamitoso, pues el orgullo del mangurrino superó las evidencias y tuvimos una larga y tensa discusión al respecto, yendo contra toda evidencia. Al final me dijo: "ESTO SE HACE ASI, Y SI NO HAY MEMORIA, SE COMPRA MAS, QUE ESTA MUY BARATA".

Por esta discusión me apartaron de este proyecto, pero seguí en otro proyecto paralelo para la misma división. En diciembre, en la demostración de nuestros proyectos ante el gerente de división, el pobre lechón se me acercó en privado y reconoció que yo tenía razón, ya que su sistema, que ya estaba completado, tenía un rendimiento nefasto y calamitoso. Efectivamente, cuando hizo la demostración, las operaciones más sencillas requerían de minutos en llevarse a cabo. El gerente, para no perder tiempo, le dió una palmadita en la espalda mientras esperaban y se fue a ver el siguiente proyecto, dejándole en la agónica espera de una simple consulta.


2) El mangurrino humilde

La segunda historia se remonta a hace una década, en la que Internet y la consultoría despertaban a su primera primavera, florecían las puntocom, y todo era bonito y de color. En aquella época de abundancia, surgieron muchos mangurrinos que nada tenían que ver con la tecnología, y se venían a nuestro gremio porque en el suyo no tenían futuro o se ganaba muy poco.

Esto le ocurrió a este mangurrino en cuestión, que además tenía muy buena labia. Sin apenas haber picado código, se vendió muy bien en nuestra empresa como analista funcional, jactándose de su privilegiada posición, arguyendo que "EL CODIGO ES PARA LOS INFORMATICOS", como menospreciando nuestro trabajo.

En cierta ocasión, entró en un curso de Websphere y Visual Age for Java (en sus inicios), y salió de él a la media hora, diciendo que era una gilipollez y que era exactamente igual a PowerBuilder, por lo que no necesitaba el curso. Yo le dije entonces: "YO LLEVO SEIS MESES PEGANDOME CON EL Y AUN NO LO ENTIENDO. ¿SERIAS TAN AMABLE DE EXPLICARMELO?". En notable evidencia, mirando para todos lo sitios (ya que todos los presentes le miraron con sospechosa curiosidad), se refugió en su típica frase: "EL CODIGO ES PARA LOS INFORMATICOS".

Quiso el tiempo colocarle en su sitio, pues la crisis de las puntocom le afectó directamente, y tras mucho tiempo dando tumbos, y aceptando puestos miserables, picando incluso código.

Ahora es analista funcional, después de haber pasado de jefe de proyecto. Pero su actitud ha cambiado mucho, y valora y estima muy mucho a un informático y a la codificación.

3) El mangurrino "por mis coj..."

La última historia va de un mangurrino que ha mamado la informática desde hace mucho tiempo, pero que la providencia le ha regalado (quizá merecidamente) un importante cargo. Pero los galones se le subieron a la cabeza, pues hacía nada era un currito como yo, y se endiosó.

En el proyecto hubo un error en el análisis funcional, pues se erró en un punto concreto, lo que los requisitos del cliente pedía. Análisis y requisitos no coincidían, y yo, como responsable del proyecto, reconocí mi error, del que nos percatamos en las pruebas del cliente. Asimismo, había otro requisito que se nos pasó por alto.

Sin embargo, este mangurrino sacó brillo de sus galones, diciendo que no se hacía, porque el análisis se firmó y aceptó, y que como estaba firmado eso iba a misa. Yo le comenté que a esas alturas del proyecto, casi en la entrega y la certificación, no podíamos jugar con esos detalles, pues seguramente el cliente sacaría más errores y con la ley en la mano nos crujía. Entre otras cosas, los requisitos son la base de la oferta y del contrato. Este elemento contractual es decisivo y legal, no así el análisis, que es simple trámite más o menos formal, pero no legal.

Con esa discusión perdimos tiempo en varias reuniones sin salida, y en una de allas, con el cuello como un pantalón de pana (por la hinchazón de sus venas), pegó un puñetazo en la mesa, se levantó y me dijo: "BASTA YA!!!. NO SE HACE Y PUNTO, Y SI HAY CUALQUIER OTRO COMENTARIO A ESTE RESPECTO VAN A RODAR CABEZAS".

Desde ese momento me mostré pasivo a este respecto. El cliente volvió a solicitar estos puntos, e incluso añadió más cosas. Pero, bajo las órdenes estrictas de mi querido mangurrino, el cliente se enfadó al negarme a hacerlo, y empezó, con razón a tirar de lo legal.

Al final, no sólo tuvimos que hacerlo, si no que también tuvimos que hacer lo nuevo sin coste adicional, bajo amenaza de no certificar ni pagar el proyecto. Al final, el orgullo de este mangurrino y sus coj... nos hizo perder mucho tiempo (reuniones), crispó la moral del equipo, malos rollos, y, lo peor de todo, nos empeoró la entrega, pues tuvimos que ir a toda prisa para hacerlo al final por culpa de las demoras de las discusiones.