La inteligencia artificial también pica código: así ayuda a los programadores
El 63% de los programadores incorporó herramientas de inteligencia artificial (IA) a su rutina laboral en 2023. La optimización de procesos repetitivos, la detección temprana de errores y la sugerencia de código alternativo son algunos de los usos que han convertido a esta tecnología en el compañero de trabajo ideal para estos profesionales, que pueden centrarse en las tareas más creativas y complejas.
Es innegable que la IA está revolucionando la forma de trabajar: el 33% de las empresas de medios de comunicación, tecnología y telecomunicaciones utiliza herramientas de IA generativa de forma habitual, mientras que el 37% asegura haberlas probado en 2023, señala el informe 'The state of AI in 2023: Generative AI’s breakout year' de McKinsey. Agilizar tareas administrativas, procesar grandes cantidades de datos o hiperpersonalizar servicios son algunos de los usos que las 'startups' ya están dando a la inteligencia artificial generativa.
Esta tecnología, que ha vivido un auge en los últimos meses con el lanzamiento de ChatGPT, se está aplicando en diferentes sectores. Pero, más allá de la inteligencia artificial generativa, grandes compañías y 'startups' están usando la inteligencia artificial para agilizar tareas administrativas, procesar grandes cantidades de datos o hiperpersonalizar servicios. Los desarrolladores también se beneficiarán de esta tecnología: un 80% de ellos afirman que la inteligencia artificial aumentará su potencial y productividad, mientras que un 70% considera que les proporcionará acceso a nuevas herramientas de programación, apunta el informe 'State of the Developer Nation Q3 - 2023'.
"La inteligencia artificial es una herramienta que va a aumentar muchísimo la eficiencia de cada programador", afirma Carlos Ibáñez Cuadal, cofundador de la 'startup' Nuwe, una plataforma gamificada de retos y competiciones de programación. Pero ¿en qué tareas puede ayudarles la inteligencia artificial y cómo va a redefinir el futuro de su profesión?
El apoyo de la IA en programación
GitHub, una plataforma de 'software' basada en la colaboración para la creación de código fuente, señala en un informe que el 88% de sus usuarios se siente más productivo cuando utiliza su inteligencia artificial, Copilot. Además, al 74% de los encuestados les permite centrarse en tareas más satisfactorias y el 96% afirma realizar las tareas repetitivas más rápido.
La IA puede ayudar principalmente en las siguientes tareas:
- Concepción de una funcionalidad. La inteligencia artificial es capaz de consultar el estado del arte del problema a solucionar y resumir la información existente. Además, las herramientas de inteligencia artificial generativa, como ChatGPT, pueden utilizarse para generar la documentación sobre un proyecto en concreto. "Le escribes el código que has escrito y directamente te genera la documentación necesaria, que explica lo que hace ese código", señala Ibáñez Cuadal.
- Diseño de la solución de 'software'. Busca en grandes cantidades de datos soluciones y patrones utilizados anteriormente. La propia naturaleza de la IA permite automatizar tareas repetitivas tras alimentarse de datos, detectar patrones y replicarlos. Así, los programadores pueden desarrollar tareas de valor, como la creación, el diseño y la arquitectura de proyectos. "Permite a los programadores centrarse en problemas más complejos […], añadiendo un mayor pensamiento crítico, orientación a resultados, experiencia previa y creatividad", explica Yanelis Serrano, Full-Stack Lead Instructor de Adalab, una academia enfocada en fomentar esta profesión entre las mujeres.
- Aportación de nuevas ideas. Aunque no tengan un alto grado de creatividad, los algoritmos también ayudan en los 'brainstorming'. La IA aporta "un flujo de ideas que quizás no hubieras logrado de otra forma y te permite tener perspectivas que quizá no te habías planteado", apunta Ibáñez Cuadal, de Nuwe.
- Apoyo en la creación de código. La inteligencia artificial "ayuda a los desarrolladores a rellenar automáticamente fragmentos de código", dice Serrano.
- Monitorización de la solución implementada. Los algoritmos detectan patrones de errores en los 'logs' —archivos de texto en los que se incluyen de forma cronológica las modificaciones que se producen dentro de un sistema informático— y el comportamiento de los usuarios. Una de las opciones más valoradas por los programadores es que las herramientas pueden detectar 'bugs' (problemas o errores) de forma inmediata y sugerir alternativas funcionales. "Es muy útil para hacer revisiones de código o detectar problemas de desarrollo en tiempo real", reconoce Serrano.
Estas funciones podrían ampliarse con el tiempo. En esta línea, Jon Ander Beracoechea, responsable global de la disciplina Advanced Analytics de BBVA, animó a los desarrolladores del banco a imaginar cómo podrían revolucionar las funciones y procesos del futuro en la tercera edición del DataFest, un evento interno del banco. "Estamos en mitad de una revolución única en la década", afirmó. "No os limitéis a pensar en las funciones del banco como son hoy, sino también en cómo podrían llegar a ser".
Las herramientas de inteligencia artificial en la caja del programador
Para comenzar a utilizar la inteligencia artificial en su trabajo diario, los desarrolladores pueden usar diferentes herramientas. Serrano destaca:
- GitHub Copilot. Es un asistente capaz de predecir y autocompletar código a tiempo real a medida que el desarrollador escribe: puede sugerir código por adelantado en base a las indicaciones específicas del programador en lenguaje natural.
- ChatGPT. El chat de OpenAI es útil como "oráculo de los programadores", afirma Rebeca Méndez, Backend Developer de Manfred, 'recruitment' y selección de talento técnico. En este sentido, pueden utilizarlo para obtener ejemplos de código y la documentación asociada a un proyecto de programación. También les permite hacer una revisión de erratas y mejorar la calidad del trabajo desarrollado. Ibañez Cuadal destaca también su rol de copiloto a la hora de hacer 'brainstorming' o lluvia de ideas, ya que puede proporcionar metodologías diferentes para abordar un proyecto.
- Code Whisperer. La herramienta desarrollada por Amazon Web Services proporciona recomendaciones y sugerencias a tiempo real e incorpora los comentarios de los usuarios en su funcionamiento.
- Microsoft Copilot. Esta herramienta de productividad orientada al público empresarial y que acaba de lanzarse, combina los grandes modelos de lenguaje (LLM, por sus siglas en inglés) con los datos de cada compañía. Aporta asistencia inteligente a los usuarios en las aplicaciones de Microsoft 365, con Word, Excel, PowerPoint u Outlook. En el caso de los desarrolladores, les permite integrar sus aplicaciones y servicios de terceros en Microsoft Copilot con complementos de ChatGPT, extensiones de Teams y conectores de Microsoft Power Platform, un conjunto de herramientas para desarrollar aplicaciones.
¿Cómo será el futuro de la programación?
Si la inteligencia artificial continúa avanzando, ¿sustituirá la labor de los desarrolladores? Emad Moustaque, CEO de Stability AI, compañía de inteligencia artificial generativa de código abierto, afirmó que los programadores desaparecerán en los próximos cinco años. Sin embargo, todos los entrevistados consultados discrepan de esta sentencia: consideran que esta tecnología no va a reemplazar su labor, sino que les servirá de apoyo.
"La inteligencia artificial por sí sola no puede sustituir el trabajo de un desarrollador […] los humanos debemos supervisar los resultados que nos devuelve para ver si se ajusta a lo que hemos pedido", afirma Méndez, de Manfred. Serrano, de Adalab, coincide con esta visión: "La inteligencia artificial permite a los programadores centrarse en los problemas más complejos y creativos. Complementa la labor de los desarrolladores, pero no los sustituye".
Ahora bien, pese a que los desarrolladores continúen centrándose en las tareas más relevantes, Ibáñez Cuadal defiende la importancia de que se formen en esta disciplina: "Todos los programadores que no sean capaces de implementar la inteligencia artificial en su día a día van a quedar atrás y no estarán a la altura de los puestos de trabajo del futuro".
Por el momento, la inteligencia artificial se está convirtiendo en una herramienta que acompaña a los desarrolladores de 'software', reduciendo tiempos y aumentando la eficacia para, como sentencia la Backend Developer de Manfred "tener más tiempo para poner el foco en lo verdaderamente importante: el negocio". La inteligencia artificial que escribe código aporta así un apoyo a los programadores para que puedan centrarse en aportar valor con sus soluciones.