Vamos a ganar una fortuna
(rocketpoweredjetpants.com)- En un escenario de unos 5 años, la expansión de la codificación con IA podría reducir la contratación de juniors y acumular complejidad en el código, elevando considerablemente el valor de los desarrolladores senior experimentados que puedan ordenarlo
- Las empresas que consideran que los modelos de codificación ya avanzaron lo suficiente como para reemplazar a desarrolladores junior empezaron a comprar más tokens en lugar de contratar personal, y las oportunidades reales de contratación junior también están disminuyendo
- Los LLM tienden a agregar código nuevo en lugar de ordenar el código existente y, sumado al límite de las ventanas de contexto, que no pueden abarcar repositorios completos, aumentan el código duplicado y la deuda técnica
- A medida que crecen tanto la tasa de defectos del código generado por IA como el volumen total de código, aparecen más bugs; además, por implementaciones duplicadas que no están bien abstraídas, hay que corregir el mismo defecto una y otra vez en varios lugares
- Si la oferta de talento experimentado disminuye por la suspensión de contrataciones junior y un aumento del 22% en el burnout severo, los desarrolladores con experiencia de mantenimiento previa a la IA y buen criterio podrían encontrarse con oportunidades escasas y valiosas, como los desarrolladores COBOL en la época del Y2K
El tamaño y la complejidad del código que impulsa la IA
- Todo el proceso tomará alrededor de 5 años, partiendo de la suposición de que ya llevamos entre 1.5 y 2 años en curso
- Los modelos de IA más recientes, aunque no sean perfectos, alcanzaron un nivel similar o superior al de un desarrollador junior en programación
- Se está extendiendo la idea de que, por el mismo costo, en lugar de contratar a un desarrollador junior se pueden usar muchos tokens para procesar más trabajo
- Las vacantes para desarrolladores junior podrían disminuir y, según un análisis del Stanford Digital Economy Lab, estos cambios en el empleo ya se están observando
- Los LLM pueden generar directamente incluso funciones auxiliares y métodos de bibliotecas de terceros que vieron en sus datos de entrenamiento, por lo que prefieren agregar código nuevo
- Como resultado, el código escrito y el tamaño de los repositorios siguen aumentando, y estudios relacionados también confirman el crecimiento del tamaño del código
- La IA tiene una fuerte tendencia a añadir funcionalidades sobre el código existente, más que a ordenar el código, eliminar duplicación o mejorar la mantenibilidad
- Incluso las ventanas de contexto grandes no alcanzan para contener repositorios modernos completos, por lo que pueden pasar por alto implementaciones existentes
- El código escrito por IA es en su mayoría aditivo y a menudo duplicado; el mismo fenómeno aparece en un estudio sobre la calidad del código asistido por IA
- La IA puede leer código complejo y flujos de control más rápido y con más precisión que las personas
- Como consecuencia, también crecen el presupuesto de complejidad y la deuda técnica que las organizaciones están dispuestas a asumir
- El principio de que depurar es el doble de difícil que escribir código sigue siendo válido, y si la complejidad continúa acumulándose puede llegar a un punto en el que ni siquiera la IA pueda manejarla
- Algunas bases de código ya superaron el nivel de complejidad que una persona puede soportar, algo que también se observa en casos de crisis de deuda técnica por IA
- La tasa de defectos del código generado por IA suele ser más alta que la del código escrito por humanos
- Aunque en el futuro la tasa de defectos llegue a ser menor que la humana, el volumen total de código generado crecerá, por lo que la cantidad total de defectos podría aumentar
- Como el código no está adecuadamente separado ni abstraído, aunque se corrija un bug en un lugar, otras implementaciones duplicadas quedan intactas, y se repite la situación de corregir el mismo defecto una y otra vez
La escasez de desarrolladores senior experimentados
- En bases de código complejas, mal estructuradas, con muchos bugs y duplicación, se necesitan desarrolladores senior capaces de decidir qué eliminar, qué abstracciones están mal y si hay que rediseñar el enfoque completo
- El talento experimentado disminuye no solo por la salida natural de la industria, sino también por la carga de gestionar la complejidad generada por IA
- El burnout severo entre desarrolladores senior aumentó un 22%
- Si se detiene la contratación junior, también se reduce el grupo de personas que crecerán hasta convertirse en la próxima generación de seniors
- Los desarrolladores que empezaron su carrera después de la IA también pueden ser competentes, pero podrían carecer de experiencia escribiendo código mantenible al estilo previo a la IA
- Los ingenieros senior listos para producción ya son un cuello de botella importante en el mercado laboral, por lo que probablemente aumente aún más la necesidad de desarrolladores con experiencia y buen criterio de código
- Si la demanda aumenta y la oferta disminuye, los precios suben, y podrían surgir para los desarrolladores senior oportunidades similares a las que tuvieron los desarrolladores COBOL alrededor del Y2K
- Los desarrolladores experimentados que sobrevivan al periodo de despidos impulsados por IA podrían recibir una compensación elevada cuando la escasez de oferta se vuelva crítica
1 comentarios
Opiniones en Lobste.rs
Creo que será un problema a una escala mucho más grave que cuando antes tocaba limpiar lo que producían herramientas WYSIWYG o equipos tercerizados en el extranjero
Si una empresa está pagando 20 mil dólares al mes por un chatbot para averiguar cuál de cuatro opciones eligió un usuario, puedes ofrecerles por ese mismo monto un programa que no dependa del precio de los tokens ni de errores probabilísticos, y además proponerles un contrato de mantenimiento de mil dólares mensuales
Las empresas ya se están dando cuenta de que meter LLM en muchas tareas sale más caro que contratar personas, pero en muchos casos ya despidieron a su personal existente, así que la época de cosecha probablemente llegue mucho antes de 5 años
Si tienes una búsqueda semántica realmente excelente, no hace falta una ventana de contexto gigantesca
Si entrenas de forma especializada un modelo de embeddings para que un agente de programación detecte bien conceptos duplicados, podría cargar en memoria otros cinco recursos que gestionan tiempos de expiración con colas de prioridad y unificarlos en una sola clase
ExpirationQueueAunque también existe el riesgo de que una IA así aplique abstracciones prematuras con demasiada prisa