La IA ha influido significativamente en numerosas profesiones y los desarrolladores no son una excepción. Pero, ¿cuáles son los pensamientos de los desarrolladores sobre esta tecnología?

La creciente popularidad de la IA es innegable, pero plantea la cuestión de cuán significativa y relevante es la IA para el flujo de trabajo de un desarrollador. Para arrojar luz sobre este tema, Stack Overflow encuestó a más de 90 000 desarrolladores para conocer sus puntos de vista sobre la IA. La encuesta arrojó varias conclusiones notables, como se muestra a continuación.

Sentimientos generales de los desarrolladores hacia la IA

Como se mencionó, la IA está creciendo en popularidad entre los desarrolladores. De acuerdo con la Encuesta de desbordamiento de pila 2023, el 70 % ya usa o planea usar herramientas de IA en su proceso de desarrollo, el 44 % ya usa las herramientas ahora y el 26 % planea hacerlo.

Las opiniones sobre la IA difieren según la profesión y el nivel de experiencia del desarrollador.

instagram viewer

Profesión

Los SRE, los profesionales de la seguridad y los desarrolladores de juegos tienen opiniones desfavorables sobre la IA. Esto es posible debido a las preocupaciones de seguridad provocadas por la alimentación de código o información confidencial a los sistemas de IA.

Es menos probable que los desarrolladores que se centran en el hardware, los sistemas back-end o las aplicaciones utilicen herramientas de IA. Esto se debe a que las aplicaciones son demasiado complejas y las herramientas de inteligencia artificial no pueden ayudarlas.

Los desarrolladores frontend, los científicos de datos y los desarrolladores de la nube se encuentran entre los desarrolladores que tienen más probabilidades de usar herramientas de IA. Para los desarrolladores front-end y back-end, las herramientas de IA pueden ayudar proporcionando fragmentos de código o scripts para ciertas funciones.

Los científicos de datos pueden aprovechar la IA para automatizar el procesamiento de datos, las optimizaciones de modelos y las selecciones de características.

Para los desarrolladores de la nube, la IA puede ayudar a optimizar la gestión de la infraestructura mediante la automatización de procesos como la asignación de recursos, el equilibrio de carga, la supervisión y el ajuste del rendimiento.

Experiencia

Los desarrolladores al principio de sus carreras y aquellos que están aprendiendo a codificar son más propensos a usar herramientas de inteligencia artificial, posiblemente porque mejora la velocidad de aprendizaje.

Por otro lado, el 42,2% de los desarrolladores con más de 21 años de experiencia son menos favorables a la IA. Esto puede deberse a que quieren ver si la exageración que rodea a la IA se desvanecerá antes de comprometerse con una determinada herramienta.

Países

Los desarrolladores profesionales de India (83 %), Brasil (78 %) y Polonia (70 %) se encuentran entre los desarrolladores que usan o planean usar herramientas de IA en el futuro. Esto probablemente se deba al alto crecimiento de jóvenes desarrolladores de estos países. Es menos probable que los desarrolladores del Reino Unido, Francia y Alemania utilicen herramientas de IA.

¿Cuáles son las tareas para las que los desarrolladores utilizan la IA?

Los desarrolladores están utilizando IA para diferentes tareas y estas tareas varían entre los desarrolladores que aprenden a codificar y los desarrolladores profesionales.

Los desarrolladores que aprenden a programar utilizan principalmente la IA para aprender sobre la base del código y escribir código.

La encuesta reveló que el 86 % de los desarrolladores profesionales utilizan herramientas de IA para escribir código y el 54 % las utilizan para depurar su código. También están interesados ​​en usar herramientas de IA para probar, confirmar y revisar código, implementar y monitorear aplicaciones y documentar código.

Vale la pena señalar que solo unos pocos desarrolladores están interesados ​​en usar la IA para colaborar con sus compañeros de equipo.

Beneficios de la IA para desarrolladores

La IA es beneficiosa para los desarrolladores profesionales, así como para aquellos que están aprendiendo a programar. En general, el 33 % considera que el aumento de la productividad es el beneficio más importante del uso de la IA. Herramientas como GitHub Copilot ofrecen funciones como sugerencias de código, finalización automática y detección de errores, que pueden acelerar significativamente el proceso de codificación.

Los desarrolladores profesionales vieron la mejora de la productividad (37,4 %) como el principal beneficio con una mayor eficiencia (27,9 %) y velocidad de aprendizaje (27,4 %) en segundo lugar.

Para desarrolladores que aprenden a programar, mayor velocidad de aprendizaje (42,4 %) y mayor productividad (41,4%) son los principales beneficios de la IA mientras que la mayor eficiencia (33,7%) a la hora de escribir código es un secundario beneficio.

Solo un pequeño porcentaje de desarrolladores ven una mayor precisión como un beneficio de las herramientas de IA. Los desarrolladores profesionales experimentados son más escépticos, ya que solo el 14,1 % considera que la precisión mejorada es un beneficio de la IA en comparación con el 23,8 % de los que están aprendiendo a programar.

La encuesta clasificó aún más estos beneficios en diferentes tipos de desarrolladores. El aumento de la productividad fue una constante entre todos los tipos de desarrolladores.

Stack Overflow analizó la popularidad de varias herramientas de IA agrupadas entre herramientas de búsqueda de IA y herramientas de desarrollo de IA. Según los datos, los desarrolladores utilizan principalmente dos herramientas, ChatGPT y GitHub Copilot.

Entre las herramientas de búsqueda de IA, ChatGPT es la herramienta más popular. El 79% de los desarrolladores que lo usan quieren volver a usarlo el próximo año. Le siguieron muy de cerca en popularidad Bing AI y Google Bard AI.

Google ha hablado abiertamente sobre las habilidades de codificación de Bard, pero cuando en comparación con ChatGPT, Bard todavía va a la zaga.

Algunas de las otras herramientas de búsqueda de IA que los desarrolladores informaron usar son WolframAlpha, Phind y You.com.

GitHub Copilot es el asistente de codificación de IA más popular. Más del 70 % de los encuestados que trabajaron con GitHub Copilot quieren volver a trabajar con él. Además, más del 59 % de los usuarios de Tabnine y el 50 % de los usuarios de AWS Code Whisperer quieren usar GitHub Copilot.

Esta adopción lenta de una amplia variedad de herramientas de IA se puede atribuir al escepticismo sobre la precisión de la IA, ya que solo el 2,85 % de los desarrolladores confían mucho en los resultados de la IA. Esta desconfianza se puede atribuir a herramientas como ChatGPT que a veces proporcionan resultados incorrectos. Esta salida, cuando se usa, puede causar un daño significativo a una aplicación. Al usar estas herramientas, siempre es una buena idea verificar primero la salida.

Cómo comenzar con la IA en el desarrollo de software

Como desarrollador de software, puede comenzar con la IA incorporando herramientas de edición y generación de código en su proceso de desarrollo. Herramientas como GitHub Copilot y Tabnine sugieren fragmentos de código basados ​​en el contexto a medida que escribe, lo que puede reducir significativamente el tiempo de desarrollo. Además, ChatGPT es muy útil para generar funciones de utilidad, componentes de interfaz de usuario y código de depuración. Con las indicaciones correctas, incluso puede usa ChatGPT para crear aplicaciones web.

El futuro del desarrollo de software asistido por IA

Aunque muchos desarrolladores están de acuerdo en que la IA es una herramienta beneficiosa en su flujo de trabajo, solo unos pocos están listos para confiar plenamente en las herramientas de IA para codificar toda su aplicación. Sin embargo, la IA ciertamente está cambiando la forma en que los desarrolladores crean aplicaciones. Al aprovechar las herramientas de IA, los desarrolladores pueden optimizar las diferentes etapas de desarrollo, incluida la escritura de código, las pruebas, la depuración y la revisión de código. Como resultado, pueden optimizar significativamente el ciclo de vida del desarrollo.