Desde GitHub Copilot a DeepCode, pasando por CodeGuru o TabNine, en los últimos meses han proliferado las iniciativas que a partir del lenguaje natural, son capaces de ayudar a los desarrolladores a escribir o a revisar su código de una forma mucho más rápida y eficaz.
Casi todos los expertos reconocen que representan un antes y un después en este terreno, mejorando la productividad de los desarrolladores y aligerando el peso de las tareas más tediosas. Pero a la vez, advierten que siguen teniendo un amplio margen de mejora. Así que hemos querido preguntarnos, en qué momento nos encontramos y qué cabe esperar de estos desarrollos inteligentes en un futuro cercano.
De desarrollar...a orquestar software
Uno de los grandes beneficios que ofrece la IA en cuanto al desarrollo de software, es un espectacular incremento de la productividad. La automatización que supone para muchas tareas, implica que los equipos de ingeniería pueden escalar su capacidad para iterar y mejorar las características de sus programas con mayor velocidad.
Según Gartner, a medida que los algoritmos mejoran, en un futuro próximo los programadores se desempeñarán cada vez más como orquestadores de tareas de codificación, ya que serán los asistentes de código los que completen la gran parte del trabajo.
Por otro lado, este tipo de asistentes tienen la capacidad para reducir considerablemente las barreras de entrada en el desarrollo de software, lo que supone abrir la puerta a nuevas empresas y crear un espacio más competitivo que redunde en mayor presión para innovar. Es posible en este sentido, que las empresas que decidan no incorporar estos algoritmos sufran para mantener el ritmo en un espacio que puede experimentar fuertes tensiones a medio plazo.
En un entorno que o será inteligente o no será
Aunque desde luego que el uso de estos asistentes de código puede suponer un antes y un después en la forma en la que trabajan los desarrolladores, también hay que tener en cuenta que tendrán un profundo impacto en el mercado de las herramientas profesionales que se ponen en manos de los ingenieros de software.
Las empresas que desarrollan este tipo de productos tendrán que comenzar a considerar cómo integran los asistentes de código en sus soluciones, si es que quieren capitalizar las expectativas de unos desarrolladores más que dispuestos a abrazar herramientas que les liberen de parte del trabajo más pesado al que actualmente se enfrentan.
Se espera en este sentido que los entornos de desarrollo (IDE) con asistentes de código reemplacen a los editores de código básicos y a medio plazo, los programadores abandonarán las plataformas que no ofrezcan esa opción para optar en cambio, por competidores que sí tengan una fuerte apuesta por integrar capacidades de inteligencia aumentada en todas las áreas del proceso de desarrollo.
Se democratizará (aún más) el uso de entornos Low-Code/No-Code
Si las soluciones de low-code/no-code ya están suponiendo un fuerte impacto en un gran número de empresas, ese impacto será aún más profundo a medida que incorporan la tecnología subyacente en los asistentes inteligentes de código, especialmente en el desarrollo de aplicaciones fuera de los entornos de TI clásicos.
Gartner predice en este sentido, que para 2025, el 80 % de las soluciones tecnológicas personalizadas dentro de las empresas serán creadas por aquellos que no son profesionales técnicos a tiempo completo, frente al 20 % en 2020. Avanzar en los procesos y flujos de trabajo generativos será el paso natural desde la situación actual, que parte de generación de código basado en tareas.
Esto democratizará aún más el acceso a este tipo de soluciones, desarrollando de forma más sencilla la figura del ciudadano-programador y acelerando a su vez, las acciones de capacitación para conseguirlo. Si hasta ahora estas personas aprendían tareas básicas que no siempre entraban de lleno en el mundo de la programación, ahora podrán diseñar y construir aplicaciones completas que combinen servicios de front-end y back-end. De hecho, ya hemos empezado a ver los primeros ejemplos de cómo simplemente utilizando comandos de voz ya hay personas capaces de desarrollar aplicaciones web básicas.
Pero no pueden obviarse los riesgos
Pese a sus muchas e innegables ventajas, los asistentes inteligentes de código no son (ni es previsible que sean a medio plazo) la respuesta a todas las necesidades de las empresas. Siguen representando una tecnología incipiente, que exige una supervisión continua.
Como hemos apuntado, estos desarrollos van a mejorar la productividad de los programadores , pero siguen siendo un complemento y no se espera que puedan reemplazarlos ni a corto ni a medio plazo. Sobre todo porque aunque aceleran el desarrollo de código, existen riesgos de protección de la propiedad intelectual, errores inherentes al desarrollo de software, vulnerabilidades de seguridad, calidad general del código, etc. que va a haber que seguir supervisando.
En este sentido, las organizaciones que utilicen estas herramientas deberán estar vigilantes sobre estas cuestiones y determinar claramente para qué y dónde exactamente resulta interesante emplearlas, tomando una conciencia activa de estos riesgos.