saltar al contenido
La verdad sobre el impacto de la IA en el desarrollo de software

La verdad sobre el impacto de la IA en el desarrollo de software

Durante la Cumbre Mundial de Gobiernos en Dubai a principios de este año, Jensen Huang (CEO de Nvidia) dijo algo intrigante; "En el transcurso de los últimos 10 o 15 años, casi todos los que se sientan en un escenario como este dirían que es vital que sus hijos aprendan ciencias de la computación, todos deberían aprender a programar. Y, de hecho, es casi exactamente lo contrario". ¿Causó eso un gran revuelo? Hasta cierto punto, sí.

8min de lectura

Durante la Cumbre Mundial de Gobiernos en Dubai a principios de este año, Jensen Huang (CEO de Nvidia) dijo algo intrigante; "En el transcurso de los últimos 10 o 15 años, casi todos los que se sientan en un escenario como este dirían que es vital que sus hijos aprendan ciencias de la computación, todos deberían aprender a programar. Y, de hecho, es casi exactamente lo contrario". ¿Causó eso un gran revuelo? Hasta cierto punto, sí.

Pero, ¿tiene razón? No del todo, porque la realidad es más compleja y el impacto de la IA en los trabajos de desarrollo de software sigue siendo observado y debatido.

IA generativa, low code y la nueva era del desarrollo

Ahora existen sistemas autónomos de IA generativa, como Qodo (antes CodiumAI), que ofrecen un asistente de IA para generar código, escribir pruebas unitarias y crear documentación. Luego, tenemos herramientas de bajo código como App Builder que brindan funciones de IA (App Builder IA), componentes de interfaz de usuario, generación de código y más para agilizar los ciclos de desarrollo.

Más información enApp Builder IA: ¿Cómo agiliza el desarrollo de aplicaciones? 

Aunque las herramientas de generación de código impulsadas por IA ya han modificado la forma en que los desarrolladores escriben código, queda un largo camino por recorrer antes de que observemos una toma de control completa de los trabajos de desarrollo de software. Aunque la dinámica de desarrollo de software ha cambiado significativamente, por ahora no es una revolución de la IA.

La verdad es que, en lugar de eliminar el papel de los desarrolladores, la IA sirve para aumentarlo de una manera que:

  • Afecta más a los programadores menos experimentados que a los desarrolladores expertos
  • Requiere que los equipos lleven a cabo controles de calidad y dirección arquitectónica
  • Permite a los desarrolladores junior manejar tareas mundanas y repetitivas
  • Acelera la programación: escribe más código más rápido
  • Libera el próximo boom de productividad, pero exige mejora de las habilidades y adaptación
  • Acumula valor, agilidad y crecimiento empresarial

Por lo tanto, se espera que la programación informática siga siendo una búsqueda centrada en el ser humano en su mayor parte. Y si hay algo con lo que estoy de acuerdo con lo que dijo Jensen Huang, es esto: "Todo el mundo en el mundo es ahora un programador. Este es el milagro de la Inteligencia Artificial. Ahora tienes una computadora para hacer lo que le digas que haga". Sin embargo, la capacidad y las capacidades humanas siguen siendo el núcleo del desarrollo de software.

Como señala McKinsey en el informe El potencial económico de la IA generativa: "La era de la IA generativa no ha hecho más que empezar. El entusiasmo por esta tecnología es palpable, y los primeros pilotos son convincentes. Sin embargo, la plena realización de los beneficios de la tecnología llevará tiempo, y los líderes de las empresas y la sociedad aún tienen retos considerables que abordar. Estos incluyen la gestión de los riesgos inherentes a la IA generativa, la determinación de qué nuevas habilidades y capacidades necesitará la fuerza laboral y el replanteamiento de los procesos comerciales centrales, como el reentrenamiento y el desarrollo de nuevas habilidades".

El papel cambiante de los desarrolladores de software

Al principio, algunos temían que la IA generativa y las plataformas low-code pudieran sustituir a los programadores tradicionales y dejar obsoletas las habilidades de codificación, lo cual es un concepto erróneo. Por el contrario, el desarrollo low-code y la IA tienen como objetivo agilizar el proceso mediante la automatización de tareas repetitivas para que los desarrolladores puedan centrarse más en la lógica empresarial principal y el desarrollo de funciones, reduciendo el tiempo dedicado a tareas técnicas repetitivas y desafíos de colaboración.

McKinsey indica que; "La IA generativa tiene el potencial de cambiar la anatomía del trabajo, aumentando las capacidades de los trabajadores individuales mediante la automatización de algunas de sus actividades. La IA generativa y otras tecnologías tienen el potencial de automatizar las actividades laborales que absorben entre el 60% y el 70% del tiempo de los empleados en la actualidad".

En consecuencia, con el impacto de la IA en el desarrollo de software, se produce un cambio que fomenta una combinación de habilidades técnicas y no técnicas. Los desarrolladores aprenden a cerrar la brecha entre las partes interesadas, traducir los requisitos en componentes modulares e identificar dónde y cómo se puede aplicar la automatización de manera más eficiente.

Además, con las plataformas low-code y la IA, ahora se presentan más oportunidades para un grupo más amplio de expertos, incluso para personas no técnicas, ya que estas herramientas eliminan la necesidad de codificar a mano. Vemos el aumento de desarrolladores ciudadanos que se han involucrado cada vez más en el desarrollo de aplicaciones. Los ejecutivos de nivel C y las partes interesadas aprenden a utilizar herramientas low-code como instrumentos que unen a los equipos de fusión y aumentan la productividad del desarrollo.

El papel de los desarrolladores, por otro lado, ahora incluye la supervisión de proyectos de low-code, la inspección de código (como herramientas de low-code como App Builder generar código para marcos populares como Angular, Blazor, Web Components, React), guiar las mejores prácticas y más.

¿Está entonces en riesgo la seguridad laboral de los programadores?

Todavía no, porque hay ciertas limitaciones de la IA. Los avances de la IA y el desarrollo low-code no amenazan directamente la seguridad laboral, sino que cambian el tipo de trabajo que realizan los desarrolladores. Si bien estas plataformas automatizan las tareas de codificación repetitivas, los desarrolladores siguen siendo esenciales para el diseño de sistemas complejos, las personalizaciones y las integraciones de alto nivel que las soluciones de bajo código no pueden manejar de forma independiente.

La menor necesidad de codificación manual libera a los desarrolladores para que se centren en tareas de mayor valor, como la arquitectura, la resolución de problemas y funciones más estratégicas dentro del ciclo de vida del proyecto. A medida que las empresas adoptan cada vez más la IA y el low code para acelerar la entrega, los desarrolladores que entienden cómo optimizar y ampliar estas plataformas siguen siendo vitales. Su experiencia evoluciona hacia puestos en los que guían y gestionan flujos de trabajo impulsados por IA, mejorando así su estabilidad laboral.

¿Qué es el impacto de los flujos de trabajo de desarrollo?

El impacto del low code y la IA en los trabajos de desarrollo de software funciona así: agilizan los flujos de trabajo al permitir una creación de prototipos más rápida, reducir la carga de trabajo de codificación inicial y simplificar el ciclo de retroalimentación a través de interfaces visuales, a menudo WYSIWYG, que las partes interesadas pueden revisar desde el principio. Cambia el flujo de trabajo al permitir un desarrollo más colaborativo e iterativo; Los no desarrolladores pueden contribuir, lo que acelera la recopilación de requisitos y las revisiones en las primeras etapas.

Sin embargo, estas plataformas de automatización también requieren supervisión para garantizar que los componentes generados se alineen con estándares de arquitectura y rendimiento más amplios. En general, acelera los plazos de los proyectos, pero también exige un equilibrio, ya que los desarrolladores a veces deben intervenir para personalizaciones y optimizaciones.

Lo que la IA puede (y no puede) hacer en el desarrollo de software

Actualmente, la codificación a través de la IA aún no es óptima. Todavía existen limitaciones de contexto dentro de las cuales operan la IA y el low code. Estas herramientas son las más adecuadas para generar fragmentos de código pequeños, simples e independientes, lo que se alinea con las mejores prácticas de programación: escribir código reutilizable, simple y modular.

Aspecto IA generativaCódigo bajo
Enfoque de codificación Modelo probabilístico cuando se utilizan modelos de PNLModelo determinista
Coherencia en la generación de código    Los resultados varían con cada solicitud, incluso cuando se hace la misma pregunta varias vecesProduce la misma salida para la misma tarea, lo que garantiza la coherencia
Ámbito de aplicación    Es el más adecuado para generar fragmentos de código pequeños, simples e independientesAdecuado para crear soluciones automatizadas, coherentes y de extremo a extremo
Conciencia del contexto    Falta comprensión de cómo se integran los fragmentos de código en un sistema más grandeOpera con una comprensión integral de todo el sistema, lo que le permite generar soluciones de código cohesivas
Alineación con las mejores prácticas    Admite la escritura de código modular y reutilizable, pero carece de conciencia holística del proyectoGarantiza un enfoque coherente para el desarrollo del sistema, adhiriéndose a las prácticas de programación automatizada
Limitaciones    Limitado por el contexto, que requiere intervención humana para integraciones y personalizaciones complejasNo puede proporcionar soluciones totalmente personalizables, pero sobresale en el desarrollo sistematizado y estructurado

Zdravko Kolev, Gerente de Desarrollo de Productos aquí en Infragistics, señala que; "Los desarrolladores sénior utilizan la IA de forma más eficaz: hacen mejores preguntas y, a cambio, reciben respuestas mejores y más específicas. Los desarrolladores junior que proporcionan menos contexto tienden a recibir respuestas más generales. El uso de Gen AI o soluciones low-code es muy beneficioso para tareas repetitivas, ya que obtenemos funcionalidades generales y existentes que hacen que los desarrolladores sean más productivos. Esto permite una producción más rápida y de mayor calidad en menos tiempo".

Si bien el impacto de la IA en el desarrollo de software es menos grave, el low code (aunque extremadamente potente) todavía tiene ciertas limitaciones a la hora de ofrecer soluciones totalmente personalizables. Los desarrolladores, entonces, no corren el riesgo de volverse obsoletos. 

¿Qué pasa con la calidad y la seguridad en la programación?

El impacto de la IA en los puestos de trabajo es que promueve despliegues de software más rápidos. Esto significa que la IA aumenta la cantidad de software escrito, pero no necesariamente aumenta la calidad. El resultado suele ser difícil de mantener sin la calidad y la estructura requeridas por una aplicación de misión crítica de alto rendimiento.

Con el tiempo, menos personas escribirán código manualmente. Especialmente para las soluciones front-end, el low code proporciona un valor significativo en poco tiempo. Los desarrolladores se centrarán cada vez más en saber hacer las preguntas correctas para generar código de mayor calidad. Eventualmente, el impacto de la IA en el desarrollo de software instará a los desarrolladores a convertirse en ingenieros hábiles y rápidos, que sepan con precisión cómo guiar la IA o las herramientas de bajo código para lograr el resultado deseado.

Sin embargo, las empresas seguirán necesitando personas que puedan entender el código y los conceptos de programación, revisarlo, mantenerlo y garantizar que la aplicación cumpla con las mejores prácticas, los principios de arquitectura y los estándares de codificación.

App Builder and impact of AI on development
Reserve una demostración