Aprender a programar con Adam Savage de Cazadores De Mitos
Actualmente hay cada vez mas recursos para aprender a programar, y a su vez hay mas gente interesada, pero un problema común es que luego de leer un manual, hacer un curso en alguna de las opciones para aprender y practicar online, como CodeAcademy, los usuarios no saben que hacer y se atascan. Pero no desesperen, porque Adam Savage tiene algunos tips para ustedes, y si bien los escribió pensando en la comunidad “Hazlo tu mismo”, casi todos se aplican a la programación, sobre todo al proceso de aprendizaje.
Los 10 mandamientos de Adam
- Hacé algo. Cualquier cosa.
No es necesario que hagas el nuevo Facebook, empezá por algo sencillo, no esperes a tener la idea de tu vida para empezar a programar. Ojo, si hacés el próximo Facebook inspirado por este post, con un 1% me conformo. - Hacé algo que mejore tu vida.
Relacionado con lo anterior, no tiene que ser algo para cambiar el mundo, tal vez podés empezar con un pequeño script para automatizar alguna tarea que tengas que hacer, o porque no, hacer una nueva versión de alguna aplicación que no te convence. - No esperes.
No esperes a ser un guru del lenguaje que estás aprendiendo, cuanto antes empieces mas rápido vas a aprender. Y como en la matemática, en la programación, la practica es fundamental, bueno, tienen bastante en común. - Usá un proyecto para aprender una habilidad.
Una de las mejores maneras de sentirse motivado es empezar un proyecto que nos interese e incluya lo que sea que quieran aprender. Además, al realizar un proyecto podemos practicar algo más que programación y resolución de problemas, también puede plantearse objetivos y poner fechas, como para ir tomándole el gustito a la planificación. - Preguntá. Pedí ayuda.
Si bien en Stack Overflow están las respuestas a una cantidad de preguntas, siempre es bueno tratar de conseguir a alguien que quiera enseñarnos y tenga el conocimiento y experiencia suficientes para resolver nuestras dudas, obviamente no es necesario que lo haga en todas las ocasiones, porque con la tecnología no hay nadie que todo lo sepa. - Compartí tus métodos y conocimiento. No mantengas secretos.
Éste es un punto un poco mas complejo, escribir sobre lo que están aprendiendo es un excelente ejercicio, y hacer tutoriales aún mas, ya que debemos pensar en todas las dudas que tuvimos cuando aprendían, y las dudas que pueden tener quienes lean el tutorial, pero hay que considerar una cosa, si apenas están aprendiendo un lenguaje, framework, paradigma, tómense su tiempo para hacer tutoriales al respecto, o al menos asegúrense de aclararlo.
Además, en la programación hay algo extra que con las cosas físicas no se puede hacer, y es compartir algo sin perderlo, pueden subir su código gratis a sitios como Github, algo que además, si lo que suben es interesante y está bien hecho, pueden sumar para su curriculum.
En cuanto a lo de los secretos, si están trabajando en un proyecto con fines comerciales e identifican una funcionalidad que hace diferente a su producto, mediten antes de liberar el código al mundo.Y si comparten código y reciben criticas, siempre que sean fundamentadas, escuchen a quienes los critican y piensen acerca de lo que le dicen, no vayan a ser como algunos de los programadores que andan dando vueltas por ahí que se rehúsan a reconocer vulnerabilidades en su código. - La perdida de entusiasmo y el fracaso son parte del proceso.
Seguramente en algún punto van a sentir que no pueden continuar, que algo es muy difícil, que configurar x cosa es imposible. Pero no se rindan, busquen, pero si no encuentran nada la documentación es su mejor amiga. Si se traban con algo y tienen otras cosas para hacer, sigan con eso otro, muy a menudo pasa que se nos ocurren ideas para problemas que tuvimos antes sin necesidad de estar pensando en ello. - Medí con cuidado.
Esta está complicada, pero lo podemos llevar para el lado de la Ingeniería de Requerimientos, pero me parece que va mas allá de alguien que está empezando a aprender programación, bah, muchas veces va mas allá de cualquier persona sin importar su nivel, ya que la volatilidad de lo que quiere la gente es difícil de manejar. - Hacé cosas para los demás.
Mientras aprendés podes ir haciendo cosas para los demás, una pequeña pagina en HTML+Javascript (no Java) para que tu hijo practique las tablas, una aplicación para que tu mamá tenga todas sus recetas en la PC o también para administrar las facturas de servicios/compras. Hacer éste tipo de cosas puede motivarte al ver la reacción de la otra persona, además, puede hacer que la otra persona te motive, unas palabras de aliento y aprecio no le vienen mal a nadie. ALERTA, no todo es sencillo, y seguramente en algún momento te vas a ligar una puteada porque tu super programa borró una receta, etc. - Usá mas liquido refrigerante.
Ok, estemm ¿A esta como la pinto? A ver que sale de ésto, es importante que mientras estés en la PC te mantengas hidratado, que apliques la técnica 20-20-20, cada 20 minutos mira un punto a al menos 20 metros por 20 segundos, tus ojos te lo van a agradecer, y si no tenes nada lejos para mirar cerra lo ojos por 30 segundos. Además, cada 1 hora levántate y camina un poco. MANTENÉ LA POSTURA!!
El vídeo de Adam (en inglés).
Si se les ocurre algo mas no duden en dejarlo en los comentarios. Prometo ignorar sus comentarios como los de cualquier otra persona.