Esto es lo que los vendedores de cursos no quieren que sepas.
Hace 5 meses tomé una decisión que cambió mi perspectiva sobre la enseñanza de la programación. Un chico llegó a mi equipo como asistente. Sin experiencia previa. Con muchas ganas. Con una motivación que envidio.
Y yo, que nunca había enseñado a nadie, me comprometí a transmitirle todo lo que sé. Con paciencia. Con mi "dialéctica de pensamiento", como me gusta llamarle. Sin filtros. Sin atajos.
Hoy, 5 meses después, puedo decir algo que quizá suene duro:
Mi asistente aún NO sabe programar.
Y no es culpa suya. Es culpa de lo que la industria le vendió antes de llegar a mí.
Lo que aprendí en estos 5 meses
Este chico es brillante. Estudioso. Motivado. Se sienta 5 horas diarias a practicar. Hace preguntas inteligentes. No se rinde.
Pero si le cambio el contexto de un problema, se bloquea. Si la IA le genera un código con un error sutil, no sabe depurarlo. Si le pido que resuelva algo que no ha visto antes, su mente se queda en blanco.
Y yo me pregunto: ¿cómo podría ser de otra manera?
Aprender a programar no es aprender sintaxis. No es copiar y pegar código de ChatGPT. No es repetir ejercicios de un curso grabado.
Aprender a programar es aprender a pensar en capas. Es entender que una variable no es solo un contenedor, es una decisión de diseño. Es saber que un fetch no es solo una llamada, es un contrato con un servidor. Es comprender que cada línea tiene un costo, una implicación, una consecuencia.
Y eso no se aprende en 21 días.
El experimento: Lo dejé suelto para ver cómo respondía
En varios momentos, dejé de darle instrucciones precisas. Le di un problema real y le dije: "Resuélvelo como puedas".
¿El resultado? Llegaba a soluciones, sí. Pero con caminos torcidos. Con código que funcionaba pero que él no podía explicar del todo. Con dependencias que no necesitaba. Con una fe ciega en que "si la IA lo dijo, debe estar bien".
Ahí entendí algo fundamental: La IA no le da criterio, le da respuestas.
Y el criterio, esa cosa esquiva que separa a un programador de un "copiador de código", solo se construye con tiempo, errores, frustración y corrección.
La estafa de los "cursos exprés"
No estoy en contra de los cursos. Estoy en contra de la mentira.
Cuando alguien vende un curso de "Python en 21 días" y te dice que con eso conseguirás trabajo, te está robando dos cosas:
- Tu dinero, porque el curso no te dará lo que promete.
- Tu confianza en ti mismo, porque cuando fracases (y fracasarás), creerás que el problema eres tú.
Y no, no eres tú. Es el sistema que te mintió sobre el tiempo que realmente toma.
Mi asistente tiene 5 meses conmigo, al lado, con atención personalizada, y aún le falta. ¿Cuánto le faltará a alguien que solo ve videos grabados y resuelve ejercicios automatizados?
¿Entonces cuánto tiempo toma?
No hay una respuesta única. Depende de tu contexto, de tu disciplina, de tu capacidad para equivocarte y levantarte. Pero te digo lo que sé por experiencia:
| Tiempo | Nivel |
|---|---|
| 3 meses | Apenas empiezas a reconocer patrones |
| 6 meses | Puedes hacer cosas simples que funcionan, pero no entiendes del todo por qué |
| 1 año | Empiezas a tener criterio propio |
| 3 años | Te sientes competente. Y aún así, cada día aprendes algo que te hace sentir principiante |
Yo mismo, con años de experiencia, sigo aprendiendo. Y eso no es un defecto, es la naturaleza del oficio.
Mi filosofía: Simple, depurable, humano
Por eso mi stack es simple. Nginx, Tomcat, MongoDB, Java Beans, Fetch API, JavaScript vainilla con ES6. Nada de microservicios, ni 50 dependencias, ni frameworks que cambian cada mes.
¿Por qué? Porque cuando la IA genera código, necesito entenderlo. Necesito depurarlo. Necesito saber si lo que hizo está bien o es una alucinación.
Y eso solo es posible con un stack que entiendo completamente, sin capas de abstracción innecesarias.
Si no entiendes bien Java Beans y Fetch API, la IA te va a generar código que no sabes depurar. Y te vas a frustrar. Y vas a culpar a la IA. Pero el problema no es la IA. El problema es que te saltaste los cimientos.
javascript
// Ejemplo de lo que la IA genera vs lo que tú entiendes
// SI NO ENTIENDES fetch, esto parece magia
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
// SI ENTIENDES fetch, sabes que esto es:
// 1. Una petición HTTP asíncrona
// 2. Que puede fallar por red, CORS, timeout, 500...
// 3. Que necesita manejo de errores específico
// 4. Que el .json() también puede fallar
Lo que sí hace la IA (y es valioso)
No quiero sonar apocalíptico. La IA es una herramienta increíble. Yo la uso todos los días con OpenCode, Hermes y OpenDesign.
¿Para qué?
Para el trabajo pesado: Generar mappers, transformar datos, escribir boilerplate.
Para explorar opciones: Pedirle 5 formas diferentes de resolver un problema y elegir la mejor.
Para aprender rápido: Preguntarle "¿por qué esto funciona así?" y obtener una explicación que puedo verificar.
Pero nunca, nunca, le pido que resuelva algo que yo no entiendo. Porque si no entiendo el problema, no puedo evaluar la solución.
**Reflexión final**
Mi asistente sigue aprendiendo. Y yo sigo enseñando. Sin prisas. Sin urgencias falsas. Con la certeza de que el tiempo bien invertido siempre paga.
Si tú estás empezando, no te dejes engañar. _No compres la urgencia_. No creas que en 21 días serás programador. Cree en el proceso. Cree en los errores. Cree en la paciencia.
Y si eres de los que ya viven de esto, no olvides que algún día también estuviste crudo. Y que alguien te tuvo paciencia. Ojalá todos tengamos la honestidad de reconocerlo.
_¿Tú cuánto tiempo llevas programando? ¿Cuándo sentiste que realmente "sabías"? Te leo en los comentarios._

Top comments (0)