Reflexión del día. Hace años la industria del software ha ido derivando a eso: «industria». Los métodos de ingeniería de software y las buenas prácticas se han convertido en una biblia, y aquellas personas que no las siguen, están siendo estigmatizadas o rechazadas.

Hemos pasado de valorar una solución, a valorar la calidad de un código, bajo métricas de todo tipo. En definitiva, hemos pasado a medir la calidad de un trabajo por su aparente solvencia.

El caso es que nadie puede reprochar nada a alguien que sigue a la perfección dichas buenas prácticas… Aunque su código no satisfaga plenamente la necesidad.

Estamos en un punto en el que se escribe código de mayor calidad, pero no necesariamente en un mejor código de cara a resolver un problema. Se ha creado una inmensa burocracia detrás de un desarrollo de software, para defender un trabajo que no siempre al final resulta útil.

En mi caso, no son pocas las veces que tengo que apoyar a personas que escriben código de calidad según los estándares actuales, para encontrar soluciones a problemas reales. Al fin y al cabo, mi mayor preocupación es la solución. Me gusta más un papel de desarrollador o programador de soluciones, que un papel de ingeniero de código fuente. Disfruto creando soluciones solventes, y a la vez, dar rienda suelta a mi creatividad. Ya el resultado esperado y los requisitos son suficientemente rígidos como para encorsetar a todo el proceso creativo.

Es extremadamente difícil crear una solución perfecta con un código de 10. No apto para la mayoría de los mortales. El ser humano tiene en su imperfección su humanidad. Y en la creatividad su alegría y disfrute, al menos como yo lo siento. Si le quitamos todo atisbo de imperfección, si le quitamos toda libertad de creación, si nos limitamos a seguir patrones… ¿Qué queda del ser humano? ¿Nos convertimos en meras máquinas?

Cuando de pequeño deseaba trabajar en tecnología, no podía imaginar que la creatividad de esta profesión terminaría siendo residual y poco valorada. Ojalá comencemos a ver ofertas de trabajo para desarrolladores en donde se diga: «No nos importa la calidad de tu código, ni cómo luzca, sino la calidad de la solución, la satisfacción de los usuarios, y la relativa facilidad de mantenimiento».

Aunque también he sufrido en primera persona un código espagueti heredado sin orden ni concierto, no podemos justificar ese sobreesfuerzo que es necesario realizar en el código fuente para un mejor mantenimiento. Y menos en los tiempos de desarrollos ágiles. Tengo desarrollos que simplemente funcionan, no necesitan mantenimiento si no necesitan evolucionar, y no invertí una gran parte de mi tiempo a ordenar, y repasar una por una todas las buenas prácticas. No perdamos de vista que lo más importante es la satisfacción del usuario.

No nos engañemos, es muy difícil crear y mantener código de calidad perfecto a lo largo del tiempo. Y si tarde o temprano puede salirse de los cánones, que al menos lo haga con personas creativas que saben encontrar las soluciones adecuadas según las circunstancias. Ellas, posiblemente, también sabrán aportar esa creatividad para que el código sea mínimamente legible, y además fácilmente mantenible.

Pregunto a los desarrolladores que se esfuerzan y realizan de manera impecable un código fuente perfecto: ¿Disfrutan del proceso? ¿Les enriquece ese sobreesfuerzo? Y si lo hacen… ¿valoran de la misma manera la solución? ¿Encuentran solución a todos los problemas de la vida real que tienen que resolver? ¿Tienen a todos sus usuarios satisfechos con su trabajo?

Me gustaría conocer a alguien que responda de manera positiva a todas estas preguntas, para poder intercambiar impresiones. Quizás sea yo el que tiene que cambiar esta visión fatalista de hacia dónde se dirige la profesión, y cómo ha derivado la solución a una falta de calidad y transparencia que era evidente en el sector, hacia otros problemas que pueden hacer cuestionarnos hacia dónde se dirige el ser humano, y si será feliz por ese camino.

Manuel Salguero.

Free WordPress Themes, Free Android Games