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.
6 comments
Un gran post, sobre todo porque puede servir para cualquier profesion!
buen post, tomo nota, un abrazo.
Lástima que yo por lo menos no sepa un lugar en este nuestro querido paÃs donde se trabaje asÃ. Hoy en dÃa se busca hacer las cosas en el menor tiempo posible con cuanta menos gente mejor sin pensar en tener un buen producto y en la satisfacción del cliente.
Me encanta programar pero este paÃs de piratas y sinvergüenzas en el que vivimos le ha quitado toda dignidad a esta noble rama de la ingenierÃa. No existen empresas de ingenierÃa del software, existen empresas de charcuterÃa informática.
Un abrazo
creo q de un programador no puedes aprender nada de bueno, mirame a mi soy lo peor jejeje
@Miriam: sÃ, lo pensaba cuando lo traducÃa.
@Gons: me alegro de que os guste.
@Antonio: celebro que te hayas dado cuenta, ¿te vienes a Irlanda? 😀
@gafeman: eres la oveja negra 😛
hola como estas!!
Me parece un gran post en que hablas de la programacion como un trabajo creativo, pienso que es una actividad que cada ser debe encaminarla para beneficio de una rama del conocimiento.
A nivel comercial pienso que muchos ven esta actividad solamente para exprimir y agotar al ser que posee ese conocimiento y luego dejarlo tirado como cualquier objeto.
soy conciente que mis habilidades estan enfocadas al servicio y beneficio de las personas que me rodean y afirmo con certeza que el poder programar es algo maravilloso que DIOS me ha concedido y que pienso que a vos tambien.
Demosle sentido a esta actividad pero sobre todo a mejorar lo que mas se pueda todo el campo relacionado con el SW.
Muchas gracias por la atencion prestada!!
ATT: Sebastian Gaviria J.
PD: Sabes donde puedo aplicar para desarrrollar SW de sistemas de tiempo real?
Feliz semana!!