Una de las mejores cosas que te pueden pasar aprendiendo Python es descubrir que llevas mucho tiempo escribiendo código que Python ya sabía hacer por ti.
Counter.
pairwise.
Funciones integradas.
Comprensiones.
Generadores...
Y de repente descubres una herramienta y piensas:
«¡Anda!
¿Y yo para qué estaba haciendo todo aquello?»
Mejorar en Python también consiste en aprender a escribir menos para conseguir más.
Dos programadores pueden tener que resolver exactamente el mismo problema.
Uno escribe 40 líneas.
El otro, 15.
Y no necesariamente es porque uno sepa más sintaxis.
Puede que haya elegido mejor los datos.
O la estructura.
O el algoritmo.
O las funciones.
Esto es importante:
Programar no consiste solo en saber escribir código.
Consiste en tomar buenas decisiones antes de escribirlo.
Y eso también se aprende.
Hay algo curioso con los cambios.
Mientras no haces nada, todo sigue igual.
«Ya cambiaré».
«Ya mejoraré».
«Ya aprenderé eso».
«Ya haré ese proyecto».
Y así pasan semanas.
Hasta que aparece una fecha.
Entonces empieza la cuenta atrás.
5 días.
4.
3...
Y de repente te pones las pilas.
A veces no necesitamos más motivación.
Necesitamos una cuenta atrás.
Cuando estudiaba Ingeniería Informática tuve un profesor que, ante una duda, tenía una técnica pedagógica infalible.
No te daba la respuesta.
Te hacía una pregunta.
En nuestro caso fue:
«¿Qué hace la cabeza lectora?»
No lo sabíamos.
Volvimos a preguntarle.
«¿Qué hace la cabeza lectora?»
Seguíamos sin saberlo.
Volvimos.
«¿Qué hace la cabeza lectora?»
Aquello ya empezaba a parecer una tomadura de pelo.
La técnica era buena.
La ejecución... digamos que mejorable. 😅
Hay dos maneras bastante malas de ayudar a alguien que está aprendiendo a programar.
Darle la solución directamente.
O decirle «búscate la vida» y desaparecer.
Yo creo que hay un término medio.
Primero una pista.
Si no basta, otra.
Y otra.
Pero si llevas hora y media mirando la pantalla con cara de querer quemar el ordenador...
igual ya es buen momento para echarte una mano.
Ayudar a pensar no significa dejarte sufrir.
Hay algo bastante chungo en aprender programación.
Puedes estar mejorando y tener la sensación de que estás estancado.
Al principio aprendes un concepto nuevo y te vienes arriba.
«¡HOSTIA! Ya sé hacer esto».
Luego llevas un tiempo programando y aprendes algo nuevo.
«Ah, vale».
Y sigues con tu vida.
No hay fuegos artificiales.
No hay fanfarria.
No hay confeti.
Pero has mejorado igualmente.
Así que cuidado con confundir «no noto el progreso» con «no estoy progresando».
Hay un truco muy sencillo para saber si estás mejorando como programador.
Viajar en el tiempo.
Sí.
Enchufa el DeLorean, ponlo a 88 millas por hora y...
No.
Era broma.
Busca código tuyo de hace un año.
Y léelo.
No lo ejecutes.
LÉELO.
Y pregúntate:
¿Lo entiendo?
¿Veo errores?
¿Lo haría así hoy?
Ahí tienes una forma bastante buena de saber si estás progresando o no.
Puedes aprender Python durante años y no avanzar demasiado.
Vas saltando de un tutorial a otro.
Un vídeo por aquí.
Una librería por allá.
Un curso nuevo.
El último hype.
Y al final sabes muchas cosas sueltas, pero no tienes un camino.
Te hace falta un sistema.
Aunque sea pequeño.
Porque un sistema te hace avanzar.
Hay otra trampa muy típica al programar.
Haces algo.
Funciona.
Y das por hecho que está bien.
Pero que funcione no significa que esté bien hecho (a veces hay que vencer al ego).
Puede ser código difícil de entender, difícil de mantener, poco eficiente o lleno de malas prácticas.
Y si nadie te lo señala, puedes seguir haciéndolo así durante años.
Hay una trampa cuando ya sabes programar un poco.
Como las cosas te van saliendo, piensas que vas bien.
Pero no vas bien.
Solo vas.
La pregunta es:
¿Sigues aprendiendo y profundizando?
¿O simplemente te has acostumbrado a hacer lo que ya sabes hacer?
Aprender Python tiene una pequeña paradoja.
Cuando no sabes nada, es difícil avanzar.
Pero sabes por dónde empezar.
Cuando ya sabes un poco, avanzar es más fácil.
Tienes conocimientos.
Tienes práctica.
Tienes cierta inercia.
Pero aparece otro problema:
No sabes hacia dónde ir.
Y puede que ese sea precisamente el motivo por el que llevas meses sin despegar.
Llega un momento aprendiendo Python en el que las preguntas cambian.
Antes:
“¿Qué es una función?”
Después:
“¿Qué debería aprender ahora?”
“¿Cómo mejoro lo que ya sé?”
“¿Hacia dónde sigo?”
Y creo que esta segunda etapa es la que más gente no sabe afrontar.
El momento más raro de aprender Python llega cuando ya no eres principiante.
Porque al principio sabes qué estudiar:
variables → condicionales → bucles → listas → funciones...
Pero después empiezas a pensar:
“Vale… ¿y ahora qué aprendo?”
Creo que casi todos pasamos por ahí.
¿Te ha pasado?
Ser autodidacta suena muy bien.
Hasta que llevas 6 meses estudiando Python y no sabes:
— qué estudiar ahora
— qué estás haciendo mal
— si estás avanzando
— qué deberías dejar de estudiar
— por qué sigues atascado
El problema de aprender solo no es la falta de información.
Es la falta de dirección.
No necesitas estudiar Python 8 horas al día.
Necesitas practicar 20 minutos.
Todos los días.
El problema es que leer un tutorial, ver un vídeo o escuchar un podcast te hace sentir que estás aprendiendo.
Programar tú mismo es mucho más incómodo.
Y precisamente por eso funciona.
Nunca ha sido tan fácil aprender programación.
Y, sin embargo, millones de personas llevan años intentando aprender Python sin conseguirlo.
No les falta información.
Les sobra.
Tutoriales.
Cursos.
Libros.
Vídeos.
Artículos.
Lo que falta es lo de siempre:
práctica y dirección.
El día 16 de septiembre arranco una formación en vivo con acompañamiento de iniciación a Python y a la programación.
¿El objetivo? Que crees tus primeros programas y scripts de Python en unas semanas.
Responde "Python" y te envío los detalles.
A veces me piden consejos para aprender a programar en Python.
Tengo estos tres.
No son glamurosos.
No son de tecla mágica.
Pero son enormemente eficaces.
👇
3. Encuentra a alguien que sepa más que tú y pregúntale cosas.
La visión que te puedan dar otros te sacará de tus errores y ampliará tu horizonte.


