martes, noviembre 07, 2006

Aprende a programar en diez años


Entra a cualquier librería y encontrarás Aprende Java en 7 Días y demás variaciones interminables ofreciendo enseñar Visual Basic, Windows, Internet, etc., en unos pocos días u horas. La conclusión es que, o bien la gente tiene un gran afán por saber de computadoras, o bien las computadoras son algo fabulosamente más fácil de aprender que cualquiera otra cosa.
Algunos investigadores (Hayes , Bloom) han mostrado que toma aproximadamente diez años desarrollar habilidades en cualquiera de una amplia variedad de áreas, incluyendo el juego de ajedrez, la composición musical, la pintura, el piano, la natación, el tenis, y la investigación en neurosicología y topología. Parece no haber atajos: incluso Mozart, prodigio musical a los 4 años, se tomó 13 más antes de empezar a producir música de calidad mundial.
Aquí está mi receta para el éxito en programación:
* Interésate en la programación, y haz programación porque es divertida.
* Habla con otros programadores. Lee otros programas. Esto es más importante que cualquier libro o curso.
* Programa. El mejor tipo de aprendizaje es aprender haciendo.
* Si quieres, dedica cuatro o cinco años en una universidad (o más en una escuela de graduados). Esto te dará acceso a algunos posiciones que requieren credenciales, y te dará un entendimiento más profundo del campo, pero si no disfrutas la escuela, puedes (con algo de dedicación) obtener una experiencia similar trabajando.
* Trabaja en proyectos con otros programadores. Sé el mejor programador en algunos proyectos; sé el peor en otros. Cuando eres el mejor, tienes que poner a prueba tus habilidades para liderar un proyecto y para inspirar a otros con tu visión. Cuando eres el peor, aprendes lo que los maestros hacen, y aprendes lo que a ellos no les gusta hacer.
* Trabaja en proyectos después que otros programadores. Proponte entender un programa escrito por otra persona. Mira cuánto toma entenderlo y hazle correcciones cuando los programadores originales no están allí.
* Aprende por lo menos una media docena de lenguajes de programación