25 metas de programación para quien aprende a programar y para quien ya trabaja en esto
“Aprender a programar” es demasiado grande para empezar. Una buena meta de programación es algo que puedes terminar y mostrar: un proyecto chico publicado, 100 problemas resueltos, una hora al día durante 100 días. Aquí van 25 metas de programación para quien aprende y para quien ya trabaja en esto, ordenadas en primeros pasos, proyectos, práctica, calidad y carrera.
Metas de programación para principiantes
Para empezar, las metas son escribir código todos los días y terminar una cosa.
- Programar 30 minutos al día durante 30 días.
- Terminar un curso básico de principio a fin.
- Resolver 20 ejercicios para principiantes.
- Hacer un programa chico que reciba un dato y dé una respuesta.
- Subir tu primer proyecto a GitHub.
Metas de proyectos
Las metas de proyectos son las que más enseñan, porque un proyecto no trae hoja de respuestas.
- Hacer 3 proyectos chicos desde cero, sin tutorial.
- Rehacer una herramienta simple que ya usas.
- Publicar una cosa que otra persona use de verdad.
- Desplegar un proyecto con un README que lo explique.
- Lograr que acepten una contribución tuya en un proyecto de código abierto.
Metas de práctica y de resolución de problemas
Las metas de práctica son problemas diarios chicos, con la misma forma que los conteos de problemas en las metas de ajedrez.
- Resolver un problema de código al día durante 30 días.
- Resolver 100 problemas de código en 100 días.
- Escribir de memoria 10 estructuras de datos básicas.
- Leer código de otra persona 20 minutos al día durante un mes.
- Repetir 5 veces un ejercicio chico, hasta escribirlo sin buscar nada.
Metas de calidad del código
Las metas de calidad son hábitos, y un hábito se arma más fácil como un conteo de días en que lo hiciste.
- Escribir una prueba para cada función nueva durante un mes.
- Hacer commit con un mensaje claro cada día que programes durante 60 días.
- Volver a un proyecto viejo y limpiarlo.
- Aprender 20 atajos de teclado de tu editor.
- Pedir revisión de 10 piezas de código y aplicar lo que te digan.
Metas de carrera y de aprender en público
Las metas públicas ponen tu trabajo donde otras personas lo ven. Explicar lo que aprendiste es la mitad de ellas, y esa parte va con las metas de escritura.
- Hacer 100 Days of Code: una hora al día, con una publicación cada día.
- Escribir 5 artículos que expliquen algo que aprendiste.
- Dar una plática corta en un meetup o en el trabajo.
- Aprender un segundo lenguaje tan bien como para hacer un proyecto con él.
- Terminar un portafolio de 3 proyectos y mandar 20 solicitudes de empleo.
¿Qué es una buena meta de programación?
Una buena meta de programación termina con algo que corre. Un repaso de 35 años de investigación sobre metas encontró que las metas concretas y difíciles llevan a un mejor rendimiento que pedirle a alguien que haga su mejor esfuerzo. “Mejorar en programación” no tiene final. “Publicar un proyecto que otra persona use para el 1 de junio” sí.
Los proyectos se sienten demasiado grandes hasta que se parten. Una app de pendientes es una lista, una forma de agregarle, una forma de palomear y un lugar donde guardarla. Dividir una meta en otras más chicas es la misma habilidad que dividir un programa en funciones.
La meta de código más conocida es una cuenta de días. El reto 100 Days of Code tiene dos reglas: programar al menos una hora cada día durante 100 días, y publicar tu avance cada día. La segunda regla hace un trabajo de verdad. Un análisis de 138 estudios encontró que dar seguimiento al progreso tuvo un efecto mayor cuando se reportaba en público.
Cómo llevar el registro de tus metas de programación
Marca el día cuando el código ya esté guardado. Ese análisis de 138 estudios encontró que quienes daban seguimiento a su progreso cumplían sus metas con más frecuencia, y que anotarlo funcionaba mejor que llevarlo en la cabeza.
Los días de código son una cuenta de días, y un reto de 100 días es la duración clásica. Los problemas resueltos y los proyectos publicados son cantidades.
Una gráfica de commits enseña que tecleaste. Una imagen que se llena un día de código a la vez enseña qué tan cerca estás del número que elegiste.
Preguntas frecuentes
- ¿Cuáles son buenas metas de programación para principiantes?
- Programar 30 minutos al día durante 30 días, terminar un curso básico y hacer un programa chico tuyo. Construir algo sin tutorial, aunque sea diminuto, es el paso que te enseña lo que ya aprendiste.
- ¿Cuáles son las reglas de 100 Days of Code?
- Son dos. Programar al menos una hora cada día durante los próximos 100 días, y publicar tu avance cada día. Las reglas las escribió Alexander Kallaway, quien empezó el reto.
- ¿Mi meta debe ser de horas o de proyectos?
- De las dos. Las horas se encargan de que practiques. Los proyectos se encargan de que la práctica llegue a algún lado. Un par sencillo: una hora al día y un proyecto terminado al mes.
Fuentes
- Kallaway, 100 Days of Code: the rules
- Locke & Latham (2002), Building a practically useful theory of goal setting and task motivation: a 35-year odyssey. American Psychologist 57(9), 705-717
- Harkin et al. (2016), Does monitoring goal progress promote goal attainment? Psychological Bulletin 142(2), 198-229