Según Simon WillisonEl fundador de Datasette (editor de soluciones de código abierto para explorar y publicar datos), “nunca ha habido un mejor momento para aprender a programar”. Y no es porque la IA codificará para los programadores. De hecho, es exactamente lo contrario. "Los modelos de lenguajes grandes aplanan la curva de aprendizaje", afirma el directivo, y facilitan así que los jóvenes desarrolladores se pongan al día. Sin embargo, no podemos ni debemos olvidar en absoluto cómo codificar. Por otro lado, es posible utilizar la IA generativa para mejorar la tarea de los desarrolladores, independientemente de su año de experiencia.

Realmente podemos apreciar lo que dice Simon Willison sobre la IA generativa. Desde mi punto de vista, es uno de los desarrolladores más reflexivos sobre el tema. Mike Loukides de O'Reilly Media también es una gran lectura porque siempre reduce los grandes temas a sus aspectos más esenciales. En cuanto a la IA generativa y el desarrollo, nos recuerda que es más difícil de lo que parece “escribir muy buenas indicaciones”. Afirma que “para ser realmente bueno con las indicaciones, hay que desarrollar experiencia en el tema”. En otras palabras, hay que ser un buen programador. “Si nos dejamos seducir por la idea de que la IA es una reserva de experiencia y sabiduría inalcanzable para un ser humano, nunca podremos utilizarla de manera productiva”, sugiere también Mike Loukides.

Índice
  1. Ayuda para aprender a codificar...
  2. ...pero no para hacer todo el trabajo

Ayuda para aprender a codificar...

Para utilizar eficazmente herramientas de codificación como AWS CodeWhisperer o Google Codey, realmente necesita guiarlos sobre los resultados esperados. Y para explicarle a la IA, paso a paso, cómo resolver los problemas de desarrollo, primero hay que entenderlo bien y saber cómo conseguir que la IA responda a ello. El desarrollador también deberá poder evaluar si la IA está cometiendo un error. Una vez más, se requiere un cierto nivel de experiencia. Sí, los asistentes de codificación deberían ayudarnos a ser más ambiciosos en los proyectos que emprendemos, como anima Simon Willison, pero no, simplemente no van a salvar a los desarrolladores de tener que entender el código. Algo que no deberíamos querer. Lo que me lleva de nuevo al primer punto planteado por Simon Willison.

Para muchos desarrolladores principiantes o experimentados que son nuevos en un lenguaje, marco, base de datos, etc., la curva de aprendizaje puede ser pronunciada. Por ejemplo, "podrían omitir un punto y coma y ver un mensaje de error extraño, y les tomará dos horas encontrar el camino de regreso", explicó Simon Willison. Algunos podrían darse por vencidos, pensando que simplemente no son lo suficientemente inteligentes como para aprender a programar. Aquí es donde los asistentes de IA tienen un papel que desempeñar. Según el directivo, “no hace falta ser licenciado en informática para que un ordenador realice una tarea tediosa”.

...pero no para hacer todo el trabajo

ChatGPT y otros asistentes impulsados ​​por un modelo de lenguaje grande pueden automatizar completamente estas tareas. Jaana Dogan, ingeniera de GitHub, señala que "la gente se centra demasiado en la generación de código y desconoce por completo que los LLM son útiles para el análisis de código", entre otras cosas. No necesitamos IA para hacer todo el trabajo. Para usar el argumento de Simon Willison, sólo lo necesitamos para automatizar tareas discretas y aburridas que no van a hacer o deshacer una aplicación, pero que podrían disuadir al desarrollador de verse obligado a aprender y ocuparse de todos los aspectos. de programación, mientras que un asistente de codificación puede encargarse de esta tarea.

Como siempre, la mejor manera de abordar la IA generativa y el desarrollo de software es empezar. Empiece poco a poco, automatizando tareas sencillas que comprenda, pero que no necesariamente quiera tener que escribir una y otra vez. El tiempo ahorrado permitirá al desarrollador centrarse en desafíos de codificación más difíciles, lo que también lo colocará en una mejor posición para automatizarlos a medida que adquiera experiencia.

Artículo escrito por el colaborador Matt Asay para IDG NS