Es imposible hacer buen software

 

Parece un poco radical, pero es la conclusión a la que estoy llegando, al menos para el 99% de las empresas que hacen software.

El problema principal es que un programador que se queda de programador mucho tiempo es considerado como un fracasado. Y el programador, viendo que le consideran un fracasado, acaba sintiéndose como tal. En cuanto lleva un poco de tiempo, tienden y tiende a subir de categoría, ser jefe de algo y dejar de programar.

Sin embargo, ya lo dice el refrán, sabe más el diablo por viejo que por diablo. Hay montones de pequeñas tonterías de programación que se aprenden con la experiencia. Y son muchas pequeñas cosas. Se puede hacer un listado de ellas y dárselas a los que empiezan a programar, pero lo verán como un rollo, no entenderán el porqué de esas cosas y no pondrán en práctica la mayoría de ellas. Tampoco se las puedes explicar una a una ni perseguir que las cumplan.

El resultado es que según los programadores no fracasados ascienden y entran nuevos programadores, se tropieza una y otra vez con los mismos problemas, la misma forma no idónea de hacer las cosas.

Y es que programar bien es casi un arte. Un antiguo artesano era capaz de hacer un buen bolso de cuero, un buen botijo o unos zapatos estupendos sólo después de haber pasado unos años de aprendiz de un maestro y sólo después de haber pasado otro montón de años haciendo él mismo de maestro. Un programador entra en la empresa y nadie le enseña nada, aprende sobre la marcha y cuando aprende a compilar sin el IDE, le hacen jefe de cualquier cosa y meten a otro programador.

Así sale el software que sale y pienso que es ese el principal motivo del fracaso de muchos proyectos software, no la falta de una metodología estupenda. Y salen bien los proyectos que cuentan con la suerte de tener programadores nuevos muy, muy espabilados, o conservar programadores con experiencia y que sigan con ganas de hacer cosas sin sentirse fracasados.

Esta entrada ha sido publicada en varios y etiquetada como . Guarda el enlace permanente.

17 respuestas a Es imposible hacer buen software

  1. Pingback: ¿Es imposible hacer buen software?

  2. blaxter dijo:

    Estás asumiendo que en el 99% de las empresas que hacen software usan ese modelo de organización, a partir de eso, estoy de acuerdo en las conclusiones que sacas, pero gracias a la lógica y razón común, no todas las empresas son así.

  3. Chuidiang dijo:

    Efectivamente, no todas son así. El otro 1% no lo es.
    Se bueno.

  4. Amestoy dijo:

    Estimado Chui:

    El problema que subyace es que el desarrollo no está considerado un arte sino un negocio. Una persona con muchos años en una empresa empieza a acumular subidas, quedando en unos años en unos precios astronómicos. Como el 99% del trabajo que hace ese 99% de empresas viene a ser simples cálculos de «tanta gente * tanto sueldo * tanto tiempo = tanto coste», simplemente, «tanto sueldo» elevado jode la ecuación al gerente y éste al director.

    ¿Dónde podemos ver excepciones a esta regla, programadores con los 40 bien pasados? Efectivamente en Cobol, AS/400 donde no importa (o importa menos) el coste del programador pues no hay oferta.

  5. Pingback: Es imposible hacer buen soft | Buanzolandia

  6. adarleatomos dijo:

    Interesante. Últimamente vengo pensando lo mismo.

  7. JanusOne dijo:

    Con mis compañeros de falcutad, soliamos decir, sacrificar un buen programadador, para tener un mal administrador. Me parece que tambien se aplica a algunas empresas.

  8. JoseKont dijo:

    Este articulo es interesante. Me trae recuerdos de la frase, En una jerarquía, todo empleado tiende a ascender hasta su nivel de incompetencia, frase que refleja el principio de Peter. El problema es que por razones económicas o de prestigio muchas veces preferimos ascender a puestos que requieren otras habilidades cuando en principio lo que realmente nos gusta fue por lo que fuimos contratados y es lo que realmente hacemos bien.

    Saludos!

  9. Es significativo que (por lo menos aquí en Argentina) la programación es uno de los lugares por donde los jóvenes «entran» al mundo del desarrollo. Quiero decir, es usualmente la línea de sueldos más baja, luego de la cual vendrían la de los analistas y más arriba la de los líderes de proyecto (todo esto a ojo, según mi propia percepción, quiero decir).

    Esto no es buen caldo de cultivo para tener a un programador actualizado por 20 años o más. De hecho, los programadores con ese nivel de experiencia terminan encerrados en una vieja oficina dándole al AS400, una suerte de fracaso profesional (según la mirada «de la gente» por estos lares)… o, los menos, en Wikipedia.

    Aunque se ha revalorizado mucho, creo que el trabajo de programación sigue muy infravalorado de acuerdo al impacto que tiene en el resultado de los proyectos (no puedo ser imparcial en esto ni lo pretendo, pero sinceramente lo pienso y lo veo así).

  10. Chuidiang dijo:

    Hola:

    Desde luego, no tiene sentido mantener un programador con mucha experiencia en una tecnología antigua salvo que el proyecto lo requiera. Sin embargo, yo creo que no sólo es conveniente, sino necesario que haya programadores con mucha experiencia en la tecnología concreta que se usa en un proyecto.

    También es cierto que uno que quiere ser programador toda la vida, debe actualizarse continuamente, o acaba como lo que comentas. Yo, por ejemplo, empecé con C y C++ y me pasé tres o cuatro años programando en C y C++. Pero cuando llegó el momento de cambiarse a Java, a pesar de que ya pretendían «hacerme jefe de algo», fui de los primeros en aprender Java y a enseñar a los demás.

    Se bueno

  11. Pingback: Diario de Programación » Blog Archive » Y la luz se hizo

  12. Hybos dijo:

    Uno de los mayores problemas que conlleva todo esto, es que por lo general un buen programador es una persona inteligente, con buenos conocimientos, con ganas de hacer bien las cosas, en continua mejora, …. (y alguna otra bondad).

    ¿Y porqué esto es un problema?, porque por lo general esta persona también será buen analista, buen jefe de proyecto, buen director de proyectos, y las empresas de software están MUY NECESITADAS de gente cualificada en cada unos de estos campos. Como es lógico, cuando sólo se asciende por el paso de los años y la incapacidad de las empresas de ENTENDER que no es necesario ascender para ganar más, nos encontramos con un montón de jefes incompetentes.

    Lo que está más o menos claro, es que las habilidades e inquietudes de los BUENOS programadores las trasladarán al campo de trabajo en el que se encuentren, contando por supuesto que haya ascendido o cambiado por iniciativa propia (además de sueldo, como todos sabemos).

  13. Sourcerer dijo:

    ¿Por que nadie cita en estos casos el problema real? Mientras la programación sea una artesanía, donde la experiencia es el grado, y todos entran de aprendices y van mejorando con el tiempo, será imposible hacer buen software.
    Llevamos 30 años intentando convertir una artesanía en una industria, y no lo conseguimos. ¿Por qué?

  14. Chuidiang dijo:

    Hola Sourcerer:

    Con el tiempo se convertirá en una industria y dejarán de necesitarse programadores. Es similar a, por ejemplo, la fabricación de tiestos. Antes era una artesanía (alfarería), ahora se hacen en una cadena de montaje automática y son de plástico. Cuando se consiga desarrollar lo suficiente, por ejemplo, la inteligencia artificial, posiblemente se puedan conseguir programas que sean capaces de codificar otros programas más o menos a medida y dejaremos de tener los problemas actuales.

    Se bueno.

  15. atreyu dijo:

    Me parece que esa dinamica es la que prevalece en las empresas españolas…creo que en otros paises no tanto. De todas formas siempre hay empresas que no actuan asi (ese 1 %), que usan un management de proyectos innovador (XP, scrum, Agile) y que intentan estar al dia de la tecnologias (y en la actualidad eso significa buscar alternativas a java)
    Si conoceis alguna me avisais 😛 .
    A mi me gusta programar y peleo por que siga siendo un arte ademas de un negocio.

  16. Pingback: ¿JSP o PHP? - Development - by David Herrera H.

  17. Pingback: JAVA vs PHP « 7Historias – LLUVIA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.