¿La IA está afectando a los Programadores Junior?
Hoy decidí desempolvar el blog para traerles una reflexión sobre un tema que ha estado rondando mi cabeza y que, sinceramente, genera bastante controversia: ¿Cómo está afectando la Inteligencia Artificial a los programadores Junior?
Todo esto nació de un meme que vi hace poco, recreando la icónica escena de Spider-Man: Homecoming. Peter Parker le dice a Tony Stark que no es nada sin el traje, a lo que Tony responde con una frase lapidaria: «Si no eres nada sin el traje, entonces no te lo mereces».
Esa imagen me causó una risa inicial, pero luego se transformó en un análisis serio. Si cambiamos «el traje» por «ChatGPT» o «Copilot», como en la imagen anexada, la frase cobra un sentido brutal en nuestra industria actual.
La Vieja Escuela vs. La "Generación Prompt"
Cuento con 5 años de experiencia y me siento afortunado de haber aprendido a desarrollar software antes del boom de la IA. Recuerdo el entusiasmo (y la frustración) de bucear en StackOverflow, descifrar las respuestas de algún experto al otro lado del mundo, leer la documentación oficial y entender qué estaba pasando bajo el capó.
Mi stack de confianza siempre fue LAMP. Para los que no lo conocen, es la vieja confiable de la web:
- L (Linux): El sistema operativo robusto y seguro donde corre todo.
- A (Apache): El servidor web que procesa las peticiones HTTP y sirve los archivos.
- M (MySQL): La base de datos relacional donde se guarda la información.
- P (PHP): El lenguaje de scripting que conecta todo, procesa la lógica y genera el HTML dinámico.
Aunque hoy uso Go, C#, Kotlin o Flutter (mi actual favorito), haber iniciado con LAMP y PHP «a pelo» me enseñó a pensar. Aprendí a programar en cascada y dominé la Programación Orientada a Objetos (POO) real, no solo copiando código:
- Clases y Objetos: Entender los moldes y las instancias.
- Herencia: La capacidad de crear nuevas clases basadas en otras existentes para reutilizar código.
- Polimorfismo: Poder tratar objetos de diferentes clases de manera uniforme (una interfaz, múltiples formas).
- Encapsulamiento: Proteger los datos internos de un objeto del mundo exterior.
Pero sobre todo, aprendí algo que la IA a veces te roba: la capacidad de leer y entender el código.
El Problema del "Vibe Coding"
Hoy, con mi cédula profesional y siguiendo mis estudios en Ingeniería en Sistemas, veo un patrón preocupante. Muchos devs nuevos consultan todo a la IA. No me malinterpreten, la eficiencia es genial. El problema surge cuando la IA falla.
PHP, por ejemplo, es famoso por ser un «troll» honesto. Si te equivocas, te grita el error, la línea y el stack trace. Pero si un Junior generó 2,000 líneas de código con IA sin entenderlas, ese mensaje de error es jeroglífico puro.
He visto archivos monstruosos, carentes de Clean Code, donde se ignoran por completo los principios SOLID o patrones de diseño como MVC. Simplemente «funciona» (a veces), pero es inmantenerle. Han perdido la curiosidad de saber por qué funciona.
Crónicas de una Exposición Universitaria
Ayer asistí a una exposición de proyectos universitarios y confirmé mis sospechas. Hubo proyectos con potencial, pero la ejecución técnica dejaba ver las costuras de la IA.
Caso 1: "EntrevistaT" y la ilusión de la funcionalidad
Me llamó la atención un proyecto para evaluar soft skills. La idea era buena, pero la ejecución técnica era peligrosa.
- Falta de validación: Podía ingresar texto basura o cadenas aleatorias y el sistema las procesaba igual.
- Dependencia ciega: Al inspeccionar la red (F12 en el navegador), vi que cada interacción mandaba una petición directa a Gemini.
- Costos ocultos: Usar una LLM para preguntas estáticas o validaciones sencillas es como matar moscas a cañonazos. Estás gastando tokens (dinero) y tiempo de latencia en algo que un simple if/else o un algoritmo local resolvería mejor.
Caso 2: Matando moscas con tanques nucleares
Hubo otro proyecto para «arreglar» fotos dañadas. Usaban IA para tareas básicas de restauración. Quienes hemos cursado Procesamiento Digital de Imágenes sabemos que no necesitas una red neuronal para todo. Existen métodos clásicos y eficientes:
- Filtro Gaussiano: Para suavizar y eliminar ruido.
- Filtro de Mediana: Excelente para quitar el ruido tipo «sal y pimienta».
- Ecualización de Histograma: Para mejorar el contraste.
Implementar una IA pesada para algo que se resuelve con matemáticas básicas no solo es ineficiente, a veces es no rentable.
Caso 3: El Ego vs. Las Soft Skills
Hubo un proyecto técnicamente excelente, quizás el mejor. Pero el expositor… un desastre.
Cuando el jurado hacía preguntas, él respondía con arrogancia, como si los jueces no entendieran su «genialidad».
Aquí es donde la IA no te ayuda. Puedes tener el mejor código del mundo (generado o no), pero si tu actitud es pésima, nadie querrá trabajar contigo. En el mundo real, las empresas buscan solucionadores de problemas que sepan trabajar en equipo, no «divas» del código.
¿Un futuro frágil?
Me preocupa ver compañeros que ofrecen dominios .com «de por vida» por 50 pesos (claramente no investigaron los costos reales) o que no saben prevenir errores porque nunca tuvieron que compilar código en papel durante un examen, como nos tocó a algunos.
La capacidad de prevenir errores, no solo de corregirlos, se desarrolla entendiendo las bases. Si tu «seniority» depende de que ChatGPT esté online, entonces estás en una posición muy vulnerable.
Reflexión Final
La Inteligencia Artificial es una herramienta increíble, un copiloto poderoso que puede acelerar nuestro trabajo. Pero no debe ser el piloto.
Para los Juniors (y los no tanto): Usen la IA, pero no dejen que la IA los use a ustedes.
No se salten los fundamentos. Aprendan cómo funciona la memoria, entiendan qué es un puntero, sufran un poco configurando un servidor Apache a mano. Esa fricción es la que genera el callo mental necesario para ser un verdadero ingeniero.
Si mañana desconectaran a todas las IAs, ¿seguirías siendo un programador, o solo eras un usuario avanzado de un chatbot?
