Imagen de cabecera aleatoria... ¡Pulsa F5 si quieres ver otra!

14 cosas que se pueden aprender de un buen programador

El contenido de este post es una traducción libre que he hecho de éste otro.

La imagen típica que se tiene de un programador es la de un nerd inadaptado y aburrido, muy aburrido. Uno normalmente no asocia la palabra programador a un tipo creativo. Nada más lejos de la realidad. Tirar líneas de código es uno de los trabajos más creativos que se pueden tener. Hay que navegar por dos mundos: el estructurado de los lenguajes de programación y el imaginativo de las abstracciones que se han de efectuar para modelar la realidad en un programa informático. Y esto no es trivial.

A continuación enumeramos una lista de características por medio de las que un buen programador puede aumentar su creatividad:

1.- Aprender un nuevo lenguaje de programación: por placer o trabajo, no te limites a manejar los lenguajes con los que te sientas cómodo. Incorpora nuevas habilidades.

2.- Empieza por el principio: cuando te atasques, a veces la mejor forma de encontrar una solución creativa es volver al principio y comenzar de nuevo.

3.- Cuestiónate continuamente todo: has de tener en cuenta todas las suposiciones que estés haciendo, asegurándote de que son correctas y de que estás contemplando cada posible caso. Las suposiciones pueden limitar la creatividad. A veces eliminar alguna suposición puede abrir nuevas vías.

4.- Diviértete: entusiásmate con lo que haces, disfrútalo, plantéatelo como un juego, un reto, un desafío. Engáñate a ti mismo si es un puro infumable. Disfrázalo con nuevas ideas o diseños marca de la casa. Hazlo realmente atractivo.

5.- No te canses de probar posibles mejoras: incluso el más pequeño cambio puede cambiar la fisonomía de un programa o página web. Las pruebas han de hacerse de forma rigurosa.

6.- Apasiónate: una vez te diviertas, te costará menos trabajo irte a la cama pensando en tus programas.

7.- Domina tus herramientas: debes mejorar constantemente el uso que haces de tus herramientas de programación, cambiándolas en el caso de encontrar otras mejores. Tunéalas, aprende cómo funcionan, cómo sacarles el máximo partido.

8.- Plantéate nuevos conceptos: las personas que incubaron Skype, Google Docs o Twitter lo único que hicieron fue unir conceptos abstractos y a priori diferentes (teléfono + ordenadores; páginas web + procesadores de textos; ¿qué estará haciendo ahora la gente?). Piensa en los “¿y si…?”, y estarás en camino de hacer cosas diferentes.

9.- Estructurar como medio, no como limitación: la creatividad no es escribir todo lo que se te venga a la cabeza en un folio en blanco e imaginar un mundo sin limitaciones. Esto no es real. Estamos rodeados de limitaciones. No podemos evitarlas. Un programador ha de asumirlas como parte de las reglas del juego.

10.- No descartes nada hasta que lo intentes: sí, la profesora de tu guardería tenía razón: no existen preguntas absurdas. Te sorprenderías si lo intentas. Pruébalo. Incluso si no funciona, algo te habrás acercado a una posible solución.

11.- Busca una solución más simple y elegante: el buen programador asume que la solución más simple es siempre la mejor. Las soluciones difíciles nos conducen a dificultades.

12.- No temas retocar el código de otros: no reinventes la rueda, Internet está llena de buen código. Mejóralo si puedes.

13.- Colabora: cuatro ojos ven más que dos, dos mentes son más creativas que una. Siempre. Selecciona las mejores ideas, independientemente de cuál sea su procedencia. Evita las jerarquías, los amiguismos.

14.- Poquito a poco, crea algo hermoso: el hecho de que uses código muy básico y no necesariamente bonito no significa que no pueda conjuntarse resultando en un producto impresionante. Presta atención a los detalles, especialmente en aquellos que se reflejen en el conjunto.

August 12, 2008   6 comentarios