El Futuro del Desarrollo de Software: ¿Reemplazará la IA a los Codificadores Humanos?
El advenimiento de la asistencia de codificación por IA ha introducido una sensación de temor en la industria tecnológica del desarrollo de software. El inversor Chris Sacca afirma que la IA eliminará la necesidad de desarrolladores, declarando que "estamos super jodidos" y que la IA reemplazará la mayoría de los trabajos de codificación. Sin embargo, no estoy convencido de que la IA vaya a reemplazar la experiencia reflexiva de un gran desarrollador web, persona de producto o constructor.
Las Limitaciones del Código Generado por IA
Una de las principales preocupaciones con el código generado por IA son sus limitaciones. Si bien la IA puede generar código, carece del enfoque reflexivo, integrado y de producto completo para el desarrollo que un codificador humano puede proporcionar. La construcción de un producto realmente bueno requiere un servicio cohesivo, confiable y de buen rendimiento, lo cual es difícil de lograr con el código generado por IA. Como señala Tyler King, el temor acerca de las empresas y las personas que construyen sus propias aplicaciones personales con IA se parece mucho al temor que teníamos antes con el no-code y los constructores de no-code como Bubble.
Esta es la leyenda de la imagen 1
La Ola de No-Code y Sus Limitaciones
Se suponía que la ola de no-code revolucionaría el desarrollo de software, permitiendo que cualquiera construyera sus propias aplicaciones web, aplicaciones móviles y herramientas. Sin embargo, no resultó de esa manera. Los constructores de no-code como Bubble fueron excelentes para ciertos casos de uso, como la creación de un portal de clientes para que los clientes iniciaran sesión, pero no reemplazaron las aplicaciones web SaaS o las aplicaciones móviles que requieren delicadeza. Estos deben ser de buen rendimiento, confiables y tener una experiencia de usuario fluida, lo cual es difícil de lograr con los constructores de no-code.
La Amenaza de la IA y los Paralelos Históricos
La amenaza de la IA en el desarrollo de software me recuerda a la ola de no-code y la ola de código abierto. Hubo artículos que decían que el no-code sería el fin del desarrollo de software y el desarrollo de productos tal como lo conocemos, pero no resultó de esa manera. Del mismo modo, se suponía que la ola de código abierto reemplazaría el software comercial, pero no fue así. Compañías como 37 lanzaron Once.com, que permitía a los usuarios comprar software una vez e implementarlo en su propio servidor, pero no causó un cambio al por mayor en la industria.
Esta es la leyenda de la imagen 2
La Importancia de la Toma de Decisiones Humanas en el Desarrollo de Software
Un gran software requiere la toma de decisiones humanas, pensar en cada flujo de usuario, cada interacción, comprender el trabajo que debe realizar el cliente y todas las cosas que están en juego para el usuario. La IA puede generar código, pero no puede tomar estas decisiones creativas, que son difíciles de tomar incluso para las personas de producto con años de experiencia.
Las Limitaciones de la IA en la Creación de Extremo a Extremo
Si bien la IA puede generar código, no es buena para el pensamiento a nivel de sistema, y no es buena para crear un trabajo completo de extremo a extremo. Tan pronto como le pides que genere un trabajo completo, rápidamente se hace evidente que la IA no está allí, y no creo que nunca lo esté.
Esta es la leyenda de la imagen 3
El Mantenimiento y las Actualizaciones del Código Generado por IA
El software requiere mucho mantenimiento, muchas actualizaciones, y la IA tampoco está haciendo ese trabajo en este momento. De hecho, parece estar introduciendo más errores de los que está corrigiendo. Las empresas que tienen funciones masivas generadas por IA a menudo no entienden cómo funcionan porque no las escribieron, lo que dificulta la solución de problemas cuando surgen.
Esta es la leyenda de la imagen 4
Conclusión
En conclusión, si bien la IA puede generar código, no es un reemplazo para los codificadores humanos. Un gran software requiere una experiencia reflexiva, la toma de decisiones humanas y un servicio cohesivo, confiable y de buen rendimiento, lo cual es difícil de lograr con el código generado por IA. A medida que la industria continúa evolucionando, es esencial comprender las limitaciones de la IA y la importancia de la participación humana en el desarrollo de software.