La IA generativa no quitará el trabajo a los desarrolladores

La ingeniería rápida sigue diciéndole a un ordenador qué hacer. Estudiar grandes modelos de lenguaje y los límites de la IA generativa mantendrá la seguridad de tu trabajo.

desarrollador desarrolladora
Foto de Kelly Sikkema (Unsplash).

La inteligencia artificial lo está cambiando todo. Solo pregúntales a los directores ejecutivos de las empresas públicas que parecen no poder dejar de mencionar el tema en las llamadas de ganancias. O pregúntale a un CEO, Andy Jassy de Amazon, quien acaba de ascender a un ejecutivo orientado a la IA a su "equipo S”, supervisando la IA en Amazon. Claramente, la IA es un gran problema. Pero, ¿y tú, un desarrollador que trabaja para una de esas empresas? ¿Cuál es el impacto en ti?

Si te preocupa que la IA te quite el trabajo, relájate. No lo hará. Si te preocupa que IA escriba todo su código por ti mientras bebe cervezas en la playa, bueno, tampoco lo hará. Como argumenta el vicepresidente de O'Reilly Media, Mike Loukides, ChatGPT cambiará por completo la forma en que se realiza el desarrollo de software, pero no tan drásticamente como a veces pensamos y la IA generativa no necesariamente facilitará la codificación. Más bien, como todos los avances tecnológicos, la IA generativa permite a los desarrolladores concentrar su tiempo de manera más efectiva.

 

Los números

Como destaca Loukides, quizás el 20% del tiempo de un desarrollador se dedica a escribir código. Ese número podría ser generoso. Dada la combinación de reuniones y otras cosas que abruman la capacidad de concentración de un desarrollador, algunos fijan la codificación real en un 10%. Con esto en mente, un asistente de codificación que prometa eliminar mágicamente la codificación de un desarrollador no ayudaría mucho. Mucho mejor sería un asistente de IA que prometa presentarse en todas sus reuniones.

Sin importar cuánto tiempo pase un desarrollador escribiendo código, los asistentes de codificación de IA como Amazon CodeWhisperer o GitHub Copilot pueden ayudarlo a usar ese tiempo de manera mucho más efectiva. Como sugiere el desarrollador Simon Willison, “ChatGPT (y GitHub Copilot) me ahorran una enorme cantidad de tiempo para 'resolver las cosas'. Para todo, desde escribir un bucle for en Bash hasta recordar cómo hacer una solicitud CORS entre dominios en JavaScript, ya no necesito ni siquiera buscar cosas, solo puedo solicitarlo y obtener la respuesta correcta el 80% de las veces.”

Por supuesto, para saber cuándo la respuesta es correcta y cuándo es incorrecta, debe ser un desarrollador bastante experimentado. Los desarrolladores con menos experiencia no sabrán cuándo la sintaxis o las sugerencias son simplemente incorrectas. Pero la IA generativa puede convertir a un buen desarrollador en un gran desarrollador o al menos en un desarrollador mucho más productivo. O no. Como argumenta Loukides, "si dedicas el 20% de tu tiempo a codificar, y la generación de código basada en IA te hace un 50% más eficiente, entonces en realidad solo estás recuperando alrededor del 10% de tu tiempo". Ese tiempo adicional podría dedicarse a comprender las necesidades del usuario para que su tiempo de codificación se dedique al código de mayor impacto.

Pero los desarrolladores también hacen otras cosas. Hasta ahora, hemos ahorrado un pequeño porcentaje de tiempo, pero no hemos solucionado ninguno de los otros problemas que manejan los desarrolladores. Seguridad. Pruebas y depuración. Diseño. Incluso en las proyecciones más optimistas sobre el impacto de la IA en la codificación, los desarrolladores buscan el pleno empleo durante muchos años.

Pero tal vez la naturaleza de su programación cambie.

 

Si parece programación y huele a programación

Si ha pasado algún tiempo con herramientas de inteligencia artificial generativa como ChatGPT, ya sea para escribir código o editar imágenes u otra cosa, sabe lo importante que es el aviso. Cuanto más detallada sea la indicación, mejor será el resultado. La gente ha comenzado a adornar sus perfiles de LinkedIn con títulos de trabajo de "ingeniero rápido". Aunque un poco sin sentido hoy, pronto dejarán de serlo. Como captura Loukides, “escribir un aviso detallado realmente es solo una forma diferente de programación. Todavía le estás diciendo a una computadora lo que quieres que haga, paso a paso”.

Para los desarrolladores significa que para ahorrar algo de tiempo de codificación necesitará invertir tiempo en comprender los grandes modelos de lenguaje subyacentes que está solicitando. Como señala el desarrollador de Microsoft Research, Victor Dibia, "en mi experiencia, optimizar sus indicaciones (ser específico, ubicación de instrucciones importantes, redacción, etc.) para trabajar con modelos más pequeños conduce a un comportamiento de salida más confiable para modelos más grandes".

Con este paso hacia la ingeniería rápida, es posible que hayamos ingresado a la siguiente fase de programación. Como señala Loukides, “es un paso hacia un nuevo tipo de programación que no requiere una sintaxis o semántica formalmente definida. Programación sin tarjetas perforadas virtuales. Programación que no requiere que dedique la mitad de tu tiempo a buscar los nombres y parámetros de las funciones de la biblioteca que ha olvidado”. Esto es programación, tanto como el código Java que escribiste el año pasado. Pero diferente.

Como desarrollador, tienes una carrera larga y satisfactoria por delante. La IA generativa no elimina tu trabajo, aunque es muy probable que lo cambie. Podemos llamar a algunos de estos cambios "ingeniería rápida", pero aún es programación y aún requiere desarrolladores inteligentes. Nadie obtiene un pase de los señores supremos de los robots de este futuro alimentado por IA.



TE PUEDE INTERESAR...

CASOS DE ÉXITO

Accede a nuestra publicación de canal

DealerWorld Digital

Documentos ComputerWorld

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS