Blog jubilado de Paco Ros

Fue bonito mientras duró

How good code goes wrong

Posted by Paco Ros en 29 \29\UTC marzo \29\UTC 2006

He leído este post en javaHispano y lo iba a menear, pero, no. Creo que se merece antes una reflexión.

Apenas hace unas semanas que Ricardo publicó un post (y luego este y este otro) sobre lo que, según él, debía ser un buen programador. Dice algunas cosas como que el programador es un privilegiado, que no hay dinero que iguale la satisfacción de hacer feliz a un usuario y que tienen un alto reconocimiento social.

Impresionante el aluvión de críticas que recibió de un post bastante inocuo, sobre todo con el hecho de que muchos de los que comentan en él se sienten atrapados en su empresa, en unas reglas de negocio y plazos de entrega muy ajustados que hacen que su labor de programadores no sea, para nada, tan romántica como propone Ricardo.

No voy a entrar a valorar esas afirmaciones, aunque sí pienso que el hecho de ser buen programador o no no tiene nada que ver con la remuneración obtenida a cambio del trabajo o con el reconocimiento social obtenido, incluso con la felicidad obtenida por el desarrollo del software en sí.

Lo que sí me ha llamado mucho la atención es la cantidad de quejas recibidas de personas descontentas con su puesto de trabajo alegando: problemas físicos por la falta de ejercicio, problemas familiares por la falta de tiempo que dedicar a los seres queridos, problemas de calidad del software debido a los plazos ajustados… En definitiva: problemas porque están puteados en su empresa.

Gregor Hohpe, arquitecto software de Google, habla en el ServerSide Java Symposium en Las Vegas de lo fácil que es que un buen código se deteriore, se vuelva lento, buggy e ilegible.

Propone escribir código para las personas y no para las máquinas como solución conceptual a este problema.

Más allá de que tiene más razón que un santo, me sorprende la cantidad y tono de los comentarios vertidos en el enlace que publican en TheServerSide y en el propio enlace de javaHispano.

La mayoría de programadores se quejan de los mismos dolores que en el artículo de Ricardo: problemas con la dinámica del negocio, problemas con jefes incompetentes, problemas con horarios y agotamiento físico… que hacen imposible la limpieza del código, hacen imposible que el software tenga calidad.

Es decir, resumiendo, que ser programador implica necesariamente hacer más horas que un tonto sistemáticamente, hacer malos programas, pasar del usuario (el enemigo), dejar de ver a la familia, dejar de hacer deporte, dejar de tener vida social, cobrar poco y tener jefes inútiles.

Si alguien ha leido hasta aquí e iba asintiendo con la cabeza mientras leía el último párrafo, un consejo: cambia de empresa.

Reconozco que trabajar de programador para ganarse la vida (inclúyase en la definición de programador cualquier otra profesión relacionada que implique tener que tocar una línea de código aunque sea muy de vez en cuando) dista de ser tan romántico como Ricardo comentaba en su artículo.

La mayoría de personas trabajan a cambio de una remuneración económica y el reconocimiento que obtienen aparece más como consecuencia del alcance y beneficio social del trabajo realizado que por el simple hecho de tener esa profesión.

Ahora bien. La calidad del trabajo es inversamente proporcional a la desfachatez del sujeto que realiza el trabajo, y eso no tiene nada que ver con ser programador o no. Si el código es nefasto, arréglese. ¡Pues no he dedicado horas de trabajo en hacer refactoring y en mejorar, generalizar y documentar código que puede ser utilizado en otros sitios!

La satisfacción de un trabajo es el trabajo bien hecho. Los que echan horas, también lo saben y conozco a mucha gente que trabaja 10 horas de tirón porque disfrutan con lo que están haciendo. ¡Vamos! ¿Quién no se ha quedado pegado a la pantalla un rato más porque estaba a punto de terminar aquella cosa que ha estado pensando con detenimiento hasta encontrar la solución perfecta?

Claro, que, para darse cuenta de estas cosas, hacen falta años. Hace falta haber estado puteado, hace falta haber programado mal y peor, hace falta haberse retrasado, hace falta haber mantenido el código de otros. Luego, después de tanto tropezón resulta que la carrera sí servía para algo y que el mejor código es, de verdad, el que se escribe para que lo lean otros y no una máquina.

10 comentarios to “How good code goes wrong”

  1. te iba a menear pero como me citas es casi autobombo, así que me abstengo :-)

    Pero el tema de que comentaba en mi artículo es que independientemente de lo que ganes, existe la satisfacción del trabajo bien hecho y sobre todo útil para la gente. Yo también tengo mis problemas económicos y un salario de mierda (el menos comparado con el que podría tener).

    Pero eso no significa que no pueda disfrutar como un enano cuando veo a la gente usar y agradecer por el programa que hice. Creo que todos tenemos esa posibilidad.

    Pero no paran de quejarse de los jefes, marrones, salarios y funcionarios. Y siguen allí, sin mover un pelo, y haciendo programas de mierda.

  2. Paco said

    Sí! :-)

    “el reconocimiento que obtienen aparece más como consecuencia del alcance y beneficio social del trabajo realizado”

    “La satisfacción de un trabajo es el trabajo bien hecho”

  3. La satisfacción de un trabajo es el trabajo bien hecho…

    Me siento muy identificada con lo que comenta Paco Ros en su blog sobre diversas noticias que han salido recientemente sobre la buena progamación:
    "La satisfacción de un trabajo es el trabajo bien hecho. …¿Quién no se ha quedado pegado a la pan…

  4. […] How good code goes wrong. Escrito por: Federico – – […]

  5. […] Paco Ros. […]

  6. aaloy said

    El victimisme no sé perquè és bastant comú a la nostra professió. És força curiós, però que aquest tipus de victimisme és doni més en la gent que duu anys i anys en la mateixa empresa i no és capaç de plantejar-se un canvi de feina.
    L’altre dia de pagés, a un fòrum de la UOC es plantejava una situació semblant. D’algunes respostes sols se’n podia extreure una conclusió: la culpa és sempre dels altres, de l’entorn, de les circunstàncies familiars, … Mai de les nostres pors o de les nostres incapacitats.

    Cony! Fins i tot una va dir que els informàtics si els informàtics guanyaven poc era per culpa del programari lliure!
    – Quina bestiesa! – Li vaig dir. Molt políticament incorrecte, ja ho sé, però què voleu, estic fins als 00 de FUDs i de gent que sols és queixa però que és incapaç de fer res per millorar la seva situació: ja no canviar de feina, sinó formar-se per ampliar els horitzons professionals.

  7. Paco said

    Mira, jo hi veig dos perfils molt adients a caure en aquesta situació.

    Aquell que va començar a estudiar sense saber què feia, sense sentir passió per cap tecnologia en particular i (acabat o no l’estudi) es va posar a treballar, sense la passió que mai ha tengut.

    L’altre perfil és el d’aquell aficionat compulsiu a l’informàtica. És un perfil que podem trobar sovint (no sempre) a una tenda d’ordinadors. És “l’enteradillo” de la tenda i una de les seves passions és l’oci tecnològic. Tampoc sol tenir cap interés en la tecnologia, en aprendre un llenguatge, en aprendre un sistema. Sols és capaç de fer servir les APIs i eines que altres han fet.

    Qualsevol d’aquests dos és un clar candidat a patir ja que té la feina no gens assegurada i no té gens clar que en pugui trobar enlloc més.

    Dit això, cal obrir les mires i adonar-se’n de que no tohom viu al amteix poble i al món hi ha pobles molt desafavorits, passen _fam_ i no tenen més remei que treballar i treballar per un salari ajustat.

    No és el cas, en aquests darrers que prou en tenen amb tenir feina. Això sí, de tots els que es queixaven no n’he vist més que un o dos d’aquest darrer tipus.

  8. guillem said

    Té gràcia però la meva _primera_ feina a una empresa de moment suposa un respecte bastant gran de l’horari (de vuit a tres) i escriure codi molt clar pensant en les persones que l’hauran de llegir més envant. Potser he tengut sort :-D

  9. Paco said

    Sí, Guillem, però t’en donaràs compte de veres si algun dia fas feia a un lloc que no és així.

  10. Nash said

    me gustaria saber como puedo restar dos fechas X en java quisiera obtener el resultado en días.
    espero una respuesta pronto, muchas gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: