La cualidad que todo buen programador necesita tener

Los programadores creamos aplicaciones, páginas web, nuevas funcionalidades y todo lo que se nos pueda ocurrir. Lo hacemos en utilizando diferentes lenguajes de programación y tecnologías, pero ¿qué tenemos en común?

Conocer a la perfección un determinado lenguaje no nos hace mejores programadores. Lo que nos hace buenos desarrolladores es conocer las bases de la programación. Desde la base podemos crear lo que queramos.

¿Cómo ser un buen programador? Desde mi experiencia, hay un punto clave que define a un buen programador: ser capaz de resolver cualquier problema por complejo que sea. No importa las herramientas que utilice. Debe resolverlo de la forma más óptima posible.

Saber resolver problemas

Un buen programador debe ser resolutivo. No importa qué lenguaje de programación esté utilizando.

Aunque hay muchas maneras de resolver un problema, hay algunas partes del proceso que podríamos destacar. Los programadores que también son grandes solucionadores de problemas reducen un problema a la mínima expresión. El problema se divide más tarde en en partes más pequeñas y manejables, atacando cada parte en el momento oportuno y, muchas veces incluso haciendo dibujos o diagramas con papel y bolígrafo.

Esta es una habilidad que no se aprende con facilidad. Debemos conocer el proceso de resolución de problemas y cómo resolverlos de manera efectiva.

Comprender el problema es lo primero que hay que conseguir. No podemos comenzar a solucionarlo a menos que tengamos muy claro qué tenemos que solucionar. Después, describo los pasos que debo seguir en orden numérico: primero hago una cosa y luego el resto.


En mi caso particular, suelo hacer dibujos o diagramas. Para un problema recursivo hago un diagrama de lo que está sucediendo en cada llamada recursiva hasta que llegue al caso base, aunque casi siempre encuentro una manera de simplificar el problema para hacerlo más manejable y para ayudarme a detectar un patrón.

Convertirse en un gran solucionador de problemas lleva tiempo.

Cuando leo el código escrito por un buen desarrollador, es limpio y fácil de entender: las variables están bien nombradas, las funciones son cortas y claras y cada línea de código tiene un propósito específico. La claridad del código refleja el proceso de pensamiento del programador: puedo leer el programa de arriba a abajo y saber exactamente qué está pasando.

¿Qué habilidades crees que necesita un programador para ser bueno?