En las últimas semanas o meses he estado trabajando muchísimo con IA. He probado varias formas, de hecho hace unos 6-8 meses hicimos unas pruebas en directo, pero desde ahí ha pasado mucho. Y mi forma de utilizar la inteligencia artificial ha cambiado muchísimo en el entorno profesional.
Tabla de contenidos
1 - La inteligencia artificial cambia la forma de trabajar
Hasta hace poco la IA era un chiste, seamos sinceros, cuando openAI o ChatGPT se hicieron populares no está al nivel del autocompletado del IDE, eso mejoró y pasó al año o así a ser capaz de escribir métodos;
Hoy en día puede desarrollar funcionalidades enteras, o mejor aplicaciones enteras con un único prompt y el problema es que, a primera vista, el resultado parece perfecto. Pero cuando indagas un poco florecen todos los problemas
- Funciona, sí, pero el conjunto carece de cohesión.
- A largo plazo, ese código es una pesadilla de mantenimiento.
- La deuda técnica se genera a una velocidad nunca vista.
La clave no es dejarla ir a lo loco, sino saber dirigirla. La IA acelera tu velocidad de escritura, pero tú debes seguir siendo el arquitecto.
2 - Evitar el código random y las alucinaciones.
Lo primero de todo es entender el contexto y asumir la realidad: Si no le explicas bien cómo quieres que haga la tarea o el cambio concreto, lo que hará es hacerlo como le dé la gana.
O dicho de forma más precisa: lo hará como es más común en internet. Y eso no tiene por qué parecerse a tu aplicación, a tus convenciones, ni a tu forma de trabajar.
Para combatir esto tenemos las reglas, donde vamos a definir cierta estructura, patrones, ejemplos, forma de trabajar, etc. La aplicación, ya sea (TUI, IDE, lo que estés utilizando) deberá leer estas reglas antes de ponerse a trabajar en la tarea seleccionada.
El primer día quizá no tengas ninguna regla definida y la IA hace lo que quiere, pero a medida que vas progresando puedes ir añadiendo, especialmente cuando veas que realiza acciones que no quieres que haga.
De aquí podemos utilizar el plan, que es básicamente forzar un paso intermedio antes de tocar el código, donde la Ia nos explica el cambio con los pasos y explicaciones.
Pero lo que yo personalmente, en el estado actual en el que están las IAs, prefiero es pensar el plan yo mismo, e ir poco a poco diciéndole a la IA que es lo que tiene que hacer, siendo muy específico en dichos cambios, exactamente como lo haría si le estuviera explicando la situación a algún otro compañero de trabajo.
Por supuesto es clave revisar absolutamente todo lo que escribe y entenderlo completamente, si no entiendes algo NO hagas el commit, ahí es donde empiezan todos los problemas, y una vez empiezan dichos problemas son imparables.
Revisa el código de la IA como si fuera código de un humano, comprueba si es coherente, los tests, si es entendible, etc.
3 - No dejamos de ser ingenieros
Una de las cosas que he notado, sobre todo en internet, es que mucha gente se queja de que “pierde la gracia programar”, que vamos a dejar de saber programar, que perdemos el trabajo y tonterías varias. Yo no comparto esta opinión, pero entiendo de dónde viene, durante años ser programador se confundía con el que teclea más rápido o la figura del picateclas, esta figura es la persona que traduce requisitos a líneas de código sin aportar absolutamente nada más. Y esta figura se está acabando, no porque vaya a desaparecer, sino porque esa mecánica ahora la hace una máquina.
Cuando esta ola (o tsunami más bien) pase, los desarrolladores vamos a salir bien parados. De hecho, muchos reforzados. Precisamente porque lo que va a valer más no es escribir código, sino saber qué código escribir, por qué, dónde encaja, o qué puede romper. Ahí es donde la IA no te sustituye sino te empuja a subir de nivel. Y al que solo venía a picar tickets, le va a dar pero bien.
El reemplazo del 100% de desarrolladores no lo veo viable en empresas que quieren ir bien, porque te arriesgas a sacar código que no funciona o que es imposible de mantener. Para tener software confiable necesitas gente que entienda de verdad el sistema y sea responsable del resultado. Cada vez hay menos hueco para el perfil que se limita a “cumplir” con lo mínimo, porque el listón de calidad sube cuando producir código barato es fácil. La diferencia la marca quien tiene criterio: quien piensa en límites, trade-offs, seguridad, mantenibilidad… y quién responde cuando algo falla.
En mi entorno he notado que está cambiando mucho la forma de programar. Seamos sinceros, nadie programa el 100% del tiempo. Para la gran mayoría de desarrolladores, el desarrollo como tal está entre el 70-80% del tiempo; cuanto más subes, menos tiempo tienes para programar. Yo ahora mismo ando programando quizá un 30% del tiempo, pero en cantidad es casi igual que cuando tenía un 50%. ¿Por qué? Porque muchas horas de tecleo se están comprimiendo. Y ese es otro motivo por el que el picateclas se está acabando, si la IA te escribe el código, el valor que tu aportas no puede ser “escribir código”.
Así que no, la IA no te va a hacer un 10x engineer, pero sí va a incrementar aproximadamente un 30/40% del código que puedes producir durante el mismo tiempo (si ya sabes lo que estás haciendo). Pero claro: programar es únicamente una parte del trabajo. El 70% restante sigue siendo prácticamente igual: entender el problema, hablar con gente, elegir el enfoque, revisar, mantener, operar, asegurar, y tomar decisiones. Y ahí es donde se separan dos mundos: el que sabe construir software… y el que solo sabía picarlo.
Conclusion
Te lo resumo todo en una frase.
La IA no reemplaza al ingeniero. Te obliga a ser más ingeniero.
Si no elevas tu nivel de control e intención sobre el código, lo único que conseguirás es producir código basura a gran velocidad. Tener el control final dell resultado sigue siendo, y será siempre, tu responsabilidad.