¿IA: la programación sin programadores codificando?
Por: Laszlo Beke – BekeSantos
Nos aproximamos al fin de la programación o desarrollo tal como la hemos conocido: los programadores ya no serán codificadores. En la era de los agentes de IA, muchos programadores ya apenas programan. En cambio, lo que hacen es profundamente extraño. Antes, desarrollar software significaba pasar días encorvados sobre el teclado, reflexionando sobre detalles complejos e intentando evitar errores. Todo eso terminó el otoño pasado, la IA se había vuelto tan buena escribiendo código que los programadores empezaron a delegar cada vez más tareas a la IA. Ahora, programas como Claude Code, Github Copilot o Gemini se encargan de la mayor parte. Los agentes son tan rápidos —y generalmente tan precisos— que trabajos que requerían un día, ahora se pueden hacer en media hora.
Muchos programadores ahora solo escriben código ocasionalmente y pasan sus días hablando con la IA, describiendo en lenguaje sencillo lo que esperan de ella y respondiendo al «plan» de la IA sobre lo que ella hará. Luego, dan rienda suelta a los Agentes de IA.
Como suele ocurrir con las IA, a veces las cosas se descontrolan. En ocasiones, cuando la IA se porta mal y no prueba el código, el programador regaña al agente: «… de verdad que tienes que ejecutar todas las pruebas». Para evitar que se repitan estos errores, los programadores han añadido algunas advertencias severas a su archivo de instrucciones, la lista de indicaciones que sus agentes deben seguir antes de hacer nada. Hay instrucciones a los agentes donde se les dice que cualquier código nuevo debía pasar todas y cada una de las pruebas antes de ser implementado en el producto final. Hay mensajes como “Enviar código que no pasa la prueba prevista es inaceptable y vergonzoso”. No es necesariamente demostrable, pero indicaciones como esa parecen haber mejorado ligeramente el rendimiento de la IA.
¿Qué piensan los programadores?
¿Código generado por IA? Ahora, la programación misma se está automatizando. Si supera las pruebas y funciona, vale tanto como aquello por lo que algunos humanos ganan US$200.000. Cabe pensar que esto inquietaría y desmoralizaría a los programadores. Ello le ocurre a algunos, sin duda. Pero la mayoría de los desarrolladores están extrañamente entusiasmados con las nuevas capacidades de IA. Comentan que “Estamos hablando de ser entre 10 y 20, incluso 100 veces más productivos que nunca en mi carrera. Durante décadas, ser desarrollador de software significaba dominar los lenguajes de programación, pero ahora la propia tecnología del lenguaje está transformando la naturaleza misma del trabajo. Esto ocurre en muchas otras profesiones. La razón por la que la tecnología en general —y los programadores en particular— ven los LL de forma diferente a los demás es que, en las disciplinas creativas, los LL eliminan las partes humanas más emotivas del trabajo y te dejan la parte tediosa. En la programación, los LL eliminan la parte tediosa y dejan las partes humanas y emotivas.
Los programadores que aún evitan activamente la IA pueden ser minoría, pero su oposición es intensa. A algunos les disgusta la gran cantidad de energía que requiere entrenar e implementar los modelos, otros se oponen a la forma en que fueron entrenados por empresas tecnológicas que se apropiaron indebidamente de trabajos protegidos por derechos de autor. Existe para ellos la sospecha de que la enorme velocidad de la IA hará que las empresas terminen con montañas de código mal escrito que no tendrá un buen rendimiento. La feroz lucha entre los desarrolladores que adoran la IA y los pocos que la detestan es una verdadera guerra civil.
Algunos desarrolladores opinan que el número de empleos en el sector del software podría incluso aumentar. Un sinnúmero de pequeñas empresas desearía tener su propio software a la medida, pero nunca fueron lo suficientemente grandes como para contratar, por ejemplo, un equipo de cinco programadores para producirlo. Pero, si pudieran contratar a un solo programador asistido por IA para realizar ese mismo trabajo, o incluso a uno a tiempo parcial. Hay indicios de que la IA está reduciendo los puestos de trabajo de programación para principiantes. Los programadores informáticos tenían uno de los trabajos más expuestos a la IA, y los desarrolladores juniores fueron los más afectados. Aún no está claro cómo se desarrollarán las cosas para los programadores profesionales. Pero su mezcla de entusiasmo y ansiedad podría ser un anticipo para los trabajadores de otros campos. En cualquier trabajo que involucre lenguaje e información, esta nueva combinación de habilidades —en parte retórica, en parte pensamiento sistémico, en parte escepticismo sobre el resultado de un bot— podría convertirse en la base del trabajo de oficina. Las habilidades que parecían más técnicas e inaccesibles podrían resultar ser las más fáciles de automatizar. Las habilidades sociales e imaginativas cobrarán protagonismo.
Un poco de historia de la programación
Durante décadas, los ingenieros informáticos intentaron automatizar la tarea tediosa arriba mencionada. En este sector, a cada paso en esta dirección se le llama “añadir una capa de abstracción”. Por ejemplo, uno de los primeros lenguajes de programación fue el lenguaje Assembler, y era particularmente difícil de escribir. Las computadoras tenían muy poca memoria, por lo que los programadores debían ser eficientes en su uso, colocando cada bit de datos cuidadosamente en su lugar y luego haciendo un seguimiento mental de ello. En las décadas de los 80 y 90, a medida que las computadoras se volvieron más potentes, los ingenieros pudieron crear lenguajes que se encargaban de toda la gestión de la memoria y que, además, convertían las peticiones comunes en comandos sencillos. Los programadores ya no necesitaban pensar en dónde se almacenan todos los datos en la memoria del ordenador; Python se encargaba de ello. En otras palabras, es una capa de abstracción que simplifica enormemente la gestión de la memoria.
Durante las décadas de 2000 y 2010, los programadores fueron simplificando cada vez más el trabajo rutinario. Sin embargo, con la IA, alcanzan un nivel de abstracción aún mayor. Describen, en lenguaje natural, lo que el programa debería hacer, y los agentes traducen esa idea —esa intención humana— a código. Escribir software ya no implica lidiar mentalmente con los matices de un lenguaje como Python, JavaScript o Rust. Programar ya no consiste en estropear un algoritmo y luego intentar averiguar dónde está el error. Esa parte también se ha simplificado.
El programador es el arquitecto
Un programador se parece ahora más a un arquitecto que a un obrero de la construcción. Los desarrolladores que utilizan IA se centran en la estructura general del software, en cómo funcionan sus características y funcionalidades. Dado que los agentes pueden producir código funcional con tanta rapidez, sus supervisores humanos pueden experimentar, probando diferentes enfoques para ver qué funciona y descartando lo que no. Un programador puede simplemente sacar su teléfono y dictarle a la herramienta que usa lo que quiere que haga el agente de IA. Para la mayoría de los programadores ahora, aprender a trabajar con IA significa aprender a hablar con ella. Tradicionalmente, la programación era un refugio para introvertidos que preferían hablar lo menos posible con sus compañeros de trabajo. Pero ahora su trabajo consiste en conversar constantemente con esta forma de vida alienígena. Si bien describir y hablar constituyen gran parte del trabajo de un desarrollador de software, la comunicación sigue siendo bastante compleja y altamente técnica.
La importancia de las pruebas
Dada la tendencia de la IA a las alucinaciones, podría parecer imprudente permitir que los agentes implementen código en el mundo real. Sin embargo, los desarrolladores de software señalan que la programación tiene una cualidad única: pueden vincular sus IA a la realidad, porque pueden exigir que los agentes que prueben el código para comprobar que funciona correctamente. Incluso con estos retrocesos ocasionales, las herramientas programan mucho más rápido que el programador, hasta el punto de que a este le cuesta cuantificar cuánto más rápido puede terminar su trabajo ahora. Muchos dicen como 20 veces más rápido.
Ambiente Tradicional vs. Ambiente Emprendedor
El hecho de que la IA pueda aumentar la productividad de los programadores de forma tan drástica ha sido uno de los temas más destacados en el sector:
- Programación “desde cero” – Esta se hace donde no hay líneas de código preexistentes con las cuales lidiar. Se crea una base de código completamente nueva desde cero. La usan típicamente emprendedores del software, las personas que programan sus propias aplicaciones de forma intuitiva y los nuevos desarrollos.
- Programación “campo marrón” – La gran mayoría de los desarrolladores de software no trabajan en entornos desde cero. Son empleados por empresas consolidadas, donde el código se escribió años (o décadas) antes y que ya puede alcanzar millones o miles de millones de líneas. Añadir nuevas funciones rápidamente suele ser muy riesgoso: podrían entrar en conflicto accidentalmente con otra parte del código y dañar algo de lo que dependen millones de clientes. En la mayoría de las empresas de software consolidadas, los programadores históricamente dedicaban una pequeña parte de su tiempo —a veces apenas una hora al día— a escribir código. El resto lo dedicaban a planificar, definir prioridades y reunirse para discutir el progreso.
El aumento de productividad que la IA aporta a los programadores de empresas tecnológicas consolidadas como Google, puede ascender a un 10%. Parece poco, pero un aumento del 10 % en la eficiencia de toda una empresa es impresionante. Los cambios importantes son más lentos. El ritmo de Google se está acelerando gradualmente y Gemini está escribiendo mucho más código por su cuenta. Para una empresa con miles de millones de líneas de código el valor de la IA no reside tanto en escribir código nuevo como en comprender el funcionamiento del código existente. Esta realidad se repite en otras empresas como AWS. La realidad es que la IA es mucho mejor adentrándose en partes desconocidas del código y entendiendo lo que sucede. También ayuda a los desarrolladores a trabajar con lenguajes con los que quizás no estén muy familiarizados.
Programar sin ser programador
Tenemos ahora aquellos que programan sin ser esta su profesión. Un ejemplo es el de un gerente de producción en una imprenta, donde la empresa había comprado impresoras nuevas, pero se topó con problemas con su software existente: para que las fotos se mostraran correctamente, ahora tenían que ajustar minuciosamente los márgenes. La empresa no es lo suficientemente grande como para tener un equipo de desarrolladores que pudiera crear software personalizado para automatizar este proceso, así que el Gerente de Producción decidió intentar programar él mismo la solución, utilizando Codex, la herramienta de escritura de código de OpenAI. Pasó varias horas detallando cuidadosamente cómo debían ajustarse los archivos, y al final del día ChatGPT había creado una aplicación que funciona en sistemas operativos Mac y Windows. Los empleados la usan para procesar hasta 2.000 imágenes de una sola vez. El Gerente de Producción no tiene ni idea de cómo funciona el código. Está escrito en Python, que para él bien podría ser griego antiguo. Si la tecnología sigue mejorando, probablemente habrá muchas más personas en la situación antes descrita. No se autodenominan ingenieros de software, pero están creando código.
Se hace referencia Coding After Coders: The End of Computer Programming as We Know It. La imagen es cortesía de Microsoft Copilot.


