- Durante décadas, las predicciones sobre “el fin de los programadores” se han equivocado una y otra vez, y el avance tecnológico en realidad ha llevado a más desarrolladores y más programas
- Han aparecido distintas tecnologías de automatización como WYSIWYG, 4GL, No-Code y LLM, pero en la práctica no han logrado reducir la necesidad de desarrolladores
- Las herramientas basadas en LLM tienen peor confiabilidad y mantenibilidad que tecnologías anteriores, y en la mayoría de los equipos provocan menor productividad y peor calidad
- La dificultad esencial de programar no está en escribir código, sino en la capacidad de transformar el pensamiento humano ambiguo en lógica, y eso sigue siendo territorio humano
- Por lo tanto, es poco probable que la IA reemplace a los desarrolladores y, por el contrario, se espera que aumente la demanda de desarrolladores con experiencia
El ciclo repetido del “fin de los programadores”
- En los últimos 43 años se ha afirmado que diversas tecnologías como Visual Basic, Delphi, Executable UML, No-Code y Low-Code eliminarían la necesidad de programadores
- En las décadas de 1970 y 1980 se decía lo mismo de 4GL y 5GL; antes de eso, de Fortran y COBOL; y si retrocedemos más, incluso el compilador A-0 recibió la misma predicción
- La computadora electrónica temprana COLOSSUS se programaba mediante cableado físico, y a generaciones posteriores incluso se les llegó a ridiculizar diciendo que “no eran programadores de verdad”
- Sin embargo, el resultado fue que la cantidad de programadores no disminuyó, sino que aumentó, y se menciona como un caso representativo de la paradoja de Jevons
La diferencia entre los LLM y las tecnologías anteriores
- Las tecnologías del pasado realmente aceleraron la producción de software y también garantizaron confiabilidad, pero los LLM muestran el efecto contrario en la mayoría de los equipos
- Los LLM reducen la calidad del código y dificultan el mantenimiento, provocando una situación de “LOSE-LOSE”
- Incluso con el mismo prompt no producen siempre el mismo resultado, y el código generado requiere de forma indispensable verificación y corrección por parte de desarrolladores humanos
- No hay evidencia de que la IA vaya a reemplazar a los desarrolladores; los recortes recientes de personal se deben a factores económicos como la sobrecontratación durante la pandemia, el alza de tasas de interés y la concentración de inversión en centros de datos
El desafío esencial de la programación
- El núcleo de la programación es el proceso de convertir el pensamiento humano ambiguo en un pensamiento computacional lógicamente preciso
- Esta dificultad no ha cambiado desde la era de las tarjetas perforadas hasta COBOL, Visual Basic y Python
- Como el lenguaje natural es inherentemente ambiguo e impreciso, se cita la predicción de Dijkstra de que no llegará una era en la que se programe en inglés o francés
- Es posible aprender esta forma de pensar, pero no es algo que a todo el mundo le guste o se le dé bien, y la oferta de personal experimentado siempre ha sido insuficiente
Los límites de la IA y su sostenibilidad
- La AGI (inteligencia artificial general) sigue estando lejos, y requiere capacidades de comprensión, razonamiento y aprendizaje a nivel humano
- Los LLM a gran escala están generando costos y pérdidas enormes, por lo que no parecen sostenibles a largo plazo
- Con el tiempo, su utilidad podría disminuir por las limitaciones del lenguaje y de las versiones de bibliotecas con las que fueron entrenados los modelos
- Por estas razones, los LLM gigantes podrían terminar siendo un experimento antieconómico, como el programa lunar Apollo
Perspectivas para el entorno de desarrollo futuro
- En el futuro cercano, se espera que el desarrollo de software adopte herramientas de apoyo basadas en modelos de lenguaje pequeños, en funciones auxiliares como la creación de prototipos o el autocompletado de código
- Sin embargo, las decisiones importantes y el aseguramiento de la calidad seguirán siendo liderados por desarrolladores humanos, y conforme a la ley de Jevons, la demanda de desarrolladores podría incluso aumentar
- Las empresas deben invertir desde ahora en la contratación y formación de desarrolladores con experiencia, ya que esta es una estrategia clave para elevar la productividad y la confiabilidad, con o sin IA
1 comentarios
Opiniones en Hacker News
Tras varios años trabajando con agent-LLM, la conclusión es que no sirve en absoluto para programación real
No puede resolver problemas complejos de librerías de bajo nivel ni bugs poco intuitivos, y no entiende la lógica de capas de abstracción
Eso sí, fue excelente para tareas repetitivas y boilerplate como construir sitios web simples, algo ya hecho miles de veces. En ese tipo de tareas ahorró un día entero de trabajo
Pero no parece que los LLM vayan a pasar de ese terreno simple a entender problemas complejos
Programar no es solo hacer código de bajo nivel o arreglar bugs legacy. Construir un sitio web con ayuda de un LLM también es claramente una forma de programación
Me han ahorrado muchísimo tiempo para entender codebases grandes, hacer brainstorming de funcionalidades e identificar gaps de implementación
No pueden reemplazar por completo al ingeniero, pero sí tienen un valor claro como herramienta poderosa
Pero la mayoría de los desarrolladores se dedica a combinar frameworks y librerías.
Igual que un auto eléctrico no sirve bien para transporte de carga pesada pero sí es útil para el conductor promedio, los LLM ocupan ese mismo lugar
Hace unos meses habría estado de acuerdo, pero ahora parece que la tecnología ya cruzó esa frontera
Trabajo en ERP, y los agentes me disparan la productividad
Incluso si la suscripción subiera a 500 dólares al mes, seguiría usándolos porque lo valen
Da miedo pensar que tal vez se haga realidad la predicción de que la AI reducirá la necesidad de programadores
Ya siento que la AI es mejor que yo en diseño, code review, detección de bugs y planificación de proyectos
Pareciera que yo solo hago el papel de director de orquesta del proceso
A veces se siente como si yo solo hiciera el trabajo que antes hacían 20 personas, y eso asusta
Solo los humanos son realmente buenos para planear a largo plazo y tomar decisiones. Tenemos preocupación, orgullo y emociones, y ahí está nuestra verdadera fortaleza
La AI es solo una bolsa de palabras; no tiene amor ni persistencia
Con competencias básicas, un humano sigue siendo muy superior
Si una sola persona está haciendo el trabajo de 20, entonces probablemente esas 20 ya eran poco productivas desde el principio
La clave era mantener siempre corriendo la máquina lavaloza, y los agentes de código con AI se parecen a esa máquina
Yo pongo los prompts, reviso los resultados y los ordeno. Al final, la mano humana sigue siendo necesaria
Si gracias a la AI una persona hace lo que antes hacían 20, eso es aumento de productividad y genera más riqueza
Creo que la fiebre actual por los LLM es un efecto Eliza a gran escala
Sobre esto se puede ver ELIZA effect y el libro de Weizenbaum Computer Power and Human Reason
Parece que los LLM evolucionaron para impresionar a personas influyentes (CEO, inversionistas)
No hace falta que lleguen a un nivel realmente experto; basta con que parezcan “lo suficientemente buenos” para que se adopten
La verdadera amenaza para los desarrolladores en Estados Unidos no es la AI sino el outsourcing
Soy inmigrante y trabajo en una firma financiera en Nueva York. El 95% del personal es de origen extranjero y la mayoría de las nuevas contrataciones tiene visa H1B
Como ya decía Dijkstra hace 50 años, programar en lenguaje humano es imposible
El lenguaje natural es por naturaleza ambiguo e impreciso
Quienes dicen que “el prompt es el nuevo código fuente” se parecen a la gente que hace apps con Excel
Leí el libro “Blood in the Machine” y conocí la historia del movimiento ludita
Antes de la Revolución Industrial se fabricaba ropa en unidades familiares, pero con la llegada de las máquinas la industria artesanal colapsó
Da la impresión de que los desarrolladores de hoy van por el mismo camino
Pero en el desarrollo de software, escribir código es solo una parte de todo el proceso
Así como Toyota reemplazó a los artesanos, si los LLM automatizan incluso el mantenimiento, a los desarrolladores les espera el mismo destino
Aunque haya ropa barata por todos lados, los diseñadores y las marcas premium siguen ahí. El software probablemente cambiará de la misma manera
Antes se decía que herramientas WYSIWYG como Visual Basic y Delphi iban a reemplazar a los programadores, pero al final no pasó
Con la AI ocurre algo parecido. Puede generar código frágil e inestable, pero todavía hace falta un programador de verdad para estabilizarlo
En los años 80, tanto el gobierno como la industria invirtieron muchísimo en 4GL, pero al final fracasó
El MITI Fourth Generation Project de Japón fue algo parecido. La “crisis del software” de entonces se parece mucho al boom actual de la AI
Este artículo se siente como un texto de alabanza a la AI. La parte final, donde promociona un servicio educativo, lo hizo todavía más evidente
Aun así, es cierto que mi productividad sí ha aumentado, así que una caída en la demanda de desarrolladores parece inevitable
Más bien parecía un texto escrito por un LLM armado con varias opiniones pegadas
Si el costo de desarrollo se reduce a la mitad, más áreas van a empezar a usar software
Ver Jevons paradox
Como en el modelo del queso suizo del que se habla en seguridad aérea, los LLM podrían verse como una capa más dentro del desarrollo de software
La idea es que, aunque cada capa no sea perfecta, sus fallas se compensen entre sí y eso eleve la calidad total
Aún no estamos en la etapa de aplicarlos de manera inteligente a validación de código o análisis de pruebas
Pero estoy seguro de que algún día aparecerá un caso de uso bien hecho
Si se quiere garantizar seguridad, al final un humano tiene que revisar todo
La confiabilidad del software aeronáutico y la inestabilidad de los LLM ni siquiera son comparables