El lanzamiento de ChatGPT, la aplicación basada en Inteligencia Artificial (IA) capaz de generar texto en múltiples formatos y estilos, ha llamado la atención de los medios tradicionales y tecnológicos. La tecnología pasó de ser capaz de comprender un texto y responder preguntas muy limitadas, a ser un disruptor al marketing, comunicaciones, atención al cliente y el desarrollo de software.
El impacto de estas aplicaciones se consigue al integrarse como una asistencia a la tarea, en este caso codificar, logrando mayor rapidez y eficiencia.
La adopción será importante para una industria donde existe un déficit de profesionales con las capacidades de desarrollar nuevos productos digitales y mantener los actuales sistemas de operación.
Su uso no está libre de desafíos, como éticos, legales y prácticos.
Impacto de una nueva generación de herramientas de desarrollo
Una nueva generación de herramientas genera expectativa respecto al impacto que tendrá en la productividad y velocidad. Algunos estudios preliminares como el de Github postulan un incremento de la velocidad del desarrollo, que podría alcanzar el 55% (Github, 2022). Gracias a la eliminación de tareas repetitivas y sugerencias para el autocompletado.
Esta nueva generación de herramientas representadas por Copilot (comparten base con ChatGPT), Tabnine y Codewhisperer buscan aumentar la productividad:
Primero, ayudando a trabajar más eficientemente, reduciendo el tiempo y esfuerzo requerido para buscar y encontrar información sobre problemas similares, como la forma de utilizar herramientas y tecnologías. Típicamente, un desarrollador pasa horas entendiendo las mejores formas de implementar una solución revisando artículos, códigos similares y documentación en general.
Segundo, centralizando el conocimiento. Implica que se mantiene el foco en la pantalla de edición y lejos de las distracciones de wiki, documentación, mejores prácticas o internet. Eventualmente, con la herramienta todos los miembros de un equipo pueden tener acceso a la misma información. La precisión y finalmente la calidad del código resultante reduce errores que retrasan el proceso de desarrollo de un software.
Por último, reduciendo tareas repetitivas. Estas tareas pueden ser asistidas por una herramienta de generación. Por ejemplo: la creación de documentación, mejorar la calidad del desarrollo o actualizar las tecnologías, encontrar errores, mejorar la legibilidad, generar pruebas, hacer más robusto el manejo de situaciones excepcionales.
El objetivo de generar un esquema donde el desarrollo se sienta orgánico, fluido y más eficiente parece cumplido. Entonces, la mayor interrogante restante es acerca de la capacidad de adaptar la herramienta para dirigir las recomendaciones en la misma línea tecnológica definida por cada organización.
Aliviar el problema del talento tecnológico
Estas aplicaciones de AI pueden ser una alternativa para abordar la escasez de talento tecnológico capacitado, que de por sí ya capacitado lo posiciona como uno de los temas prioritarios para las organizaciones. Según una encuesta de McKinsey realizada a más de 1.500 directivos en el mundo, cerca de 87% afirma que sus organizaciones no están preparadas para hacer frente a la dificultad de encontrar talento. (Sven Blumberg, Ranja Reda Kouba, Suman Thareja, Anna Wiesinger, 2022).
Si bien estas tecnologías están en sus primeras fases de desarrollo, se podría avanzar de forma explosiva, impactando con mucha mayor profundidad el mundo del desarrollo de software. Pero también se debe tener en cuenta el aumento permanente del software en las organizaciones y en sus productos. Las capacidades autónomas de programación no están todavía en el horizonte, hay todavía mucho por trabajar en las próximas décadas. Todavía habrá mucho trabajo para ingenieros de software, ese trabajo puede cambiar como sucede todo el tiempo, pero seguirá siendo crítico.
Múltiples desafíos por delante
Como toda tecnología especialmente, IA presenta desafíos en varios ámbitos, desafíos compartidos con otros modelos similares y que no generan un freno a la implementación, pero importante insumo para informar la estrategia que se elija:
Según Forbes (Eliot, 2023), existen pocos procesos de litigación vigentes basados en el derecho de autor por el uso justo y razonable del conjunto de entrenamiento, en cuanto al propósito, naturaleza, tamaño de lo utilizado en la generación y el efecto potencial en el valor del trabajo original.
Continúan las preocupaciones respecto al uso malicioso (creación de malware), impacto en la fuerza de trabajo (menor demanda de talento) y en el potencial que tendrían las acciones asistidas por un modelo de estas características.
Se recomiendan varios niveles de al usar la herramienta de generación, de ahí la importancia que el buen juicio de las personas expertas en la organización sean las que aseguren la calidad.
Sintetizando de acuerdo con Stefano Martinotti socio de McKinsey Technology “Generative AI puede ser tremendamente efectiva, para programadores puede ser una fuente muy rica de ejemplos y estructuras en esta tarea, y se espera un crecimiento mayor en el tiempo. Las ramificaciones pueden ser extensas y profundas en términos de ingeniería de software, organizaciones de Tecnologías de la Información (TI) y perfil de la demanda de talento. Esta tendencia es claramente disruptiva, abriendo un mundo de oportunidades y generando nuevos desafíos que necesitan ser abordados cuidadosamente”.