Así que quieres aprender programación…


Cada vez es más frecuente que me hagan la pregunta…

Oye, quiero aprender programación, ¿Cuál curso o taller me recomiendas?

Por lo que me he decidido redactar una respuesta formal.

No está equivocado, ni tengo nada en contra de pagar un curso/taller/tutorial para aprender, si tienes la facilidad de hacerlo, adelante. En su momento yo lo hice, y pueden llegar a ser buenas referencias de consulta; pero definitivamente hay un método más efectivo y enriquecedor para aprender cuando realmente te interesa… es a chingazos, por ti mismo. Te dará una compresión más amplia y realista sobre estas habilidades.

1. El mejor método para aprender, es equivocándote. La programación se rige por prueba y error, tienes que aceptar, te guste o no, que nunca funcionará al primero, ni al segundo, ni al décimo intento, tal vez al quincuagésimo intento verás algún resultado positivo. Sentarte a escuchar y seguir instrucciones, donde la “solución” llegará por si sola no sirve de mucho, no va incentivar ni mejorar tu capacidad de resolver problemas por mérito propio. Nunca experimentarías la hermosa frustración de no llegar a una solución y te perderías sentir el éxtasis de resolverlo tú mismo.

2. No existen malas desiciones, sólo la experiencia. En programación hay muchos caminos para resolver un mismo problema y todos son válidos, pero esto no quiere decir que todos sean los correctos. Para ser bueno, no se trata de escribir menos líneas, ni comentar cada línea, ni organizar todo de manera obsesionada, tampoco seguir de manera religiosa todas las “buenas prácticas”; sino de que cada vez que escribas código lo escribas mejor, estando consciente del cochinero y pésima calidad de lo que escribiste el días anteriores.

3. Celebra cada pequeño triunfo. Debes aprender a reconocer y valorar cada paso que des en el proceso, sin importar su magnitud. Lo importante no es el ‘tamaño’ del triunfo, sino mantener y alimentar la motivación de continuar aprendiendo.

4. Acepta que lo correcto de hoy, mañana será obsoleto y erróneo. Tendrás que convivir con la naturaleza efímera de gran parte del conocimiento que estás adquiriendo, porque con la misma velocidad que llega, es con la misma velocidad que dejará de ser útil y valioso.

5. No eres el primero, ni serás el último. Cada vez que tengas un problema, existe el 99% de probabilidades que alguien más lo haya tenido, y seguramente ya existe alguna solución o conclusión. Si encuentras, agradece a su autor; si generas tú la respuesta, compártela para que alguien más pueda encontrarla.

6. Es de estúpidos no compartir el conocimiento de manera desinteresada. Recuerda que todo lo que has aprendido y aprenderás, es porque alguien se tomó la molestia para que los demás también pudieran aprenderlo. Se agradecido y no te conviertas en pinche nena egoísta queriendo guardarte tu aprendizaje y “secretos”. El conocimiento pierde su valor y sentido si nunca se comparte y transmite a los demás.


Cada uno de los puntos anteriores tiene una aplicación más allá de la programación, es ahí donde se encuentra la satisfacción. Además que estos mismos aspectos no son exclusivos y aplican para indeterminadas actividades, habilidades, oficios y profesiones.

Mi intención no es describir qué es y cómo funciona la programación, ni tampoco para ahuyentar o alentarte de aprender; sino para palpar las similitudes y virtudes que ésta comparte con lo que todos los días vivimos y llamamos ‘vida’.