- Hay dos patrones principales en cómo los desarrolladores usan la IA
- Bootstrappers:
- Usan herramientas como Bolt, v0 y screenshot-to-code AI para generar rápidamente prototipos iniciales.
- Parten de un diseño o un concepto y usan la IA para crear la base inicial de código, desarrollando un prototipo funcional en cuestión de horas o días
- Iteradores:
- Usan herramientas como Cursor, Cline, Copilot y WindSurf en el desarrollo cotidiano para autocompletar código, hacer refactorizaciones complejas y generar pruebas y documentación
Diferencias en el uso de la IA entre desarrolladores experimentados y principiantes
- Desarrolladores experimentados: refactorizan continuamente el código sugerido por la IA, manejan casos límite, refuerzan las definiciones de tipos y revisan las decisiones de arquitectura
- Desarrolladores principiantes: tienden a aceptar la salida de la IA tal cual, con el riesgo de crear código como un "castillo de naipes" que puede fallar en entornos reales
La paradoja de las herramientas de IA: la paradoja del conocimiento
- Desarrolladores experimentados: usan la IA para acelerar tareas que ya saben hacer
- Desarrolladores principiantes: intentan usar la IA para aprender qué deberían hacer
- Resultado: la efectividad del uso de la IA cambia drásticamente según el nivel de experiencia
El problema del 70% al usar herramientas de programación con IA siendo no experto
- Avance inicial: con herramientas de IA se puede implementar rápidamente el 70% de la funcionalidad deseada
- 30% restante: al intentar corregir pequeños bugs surgen nuevos problemas, y al tratar de resolverlos se pueden generar aún más, entrando en un círculo vicioso
Estrategias para usar eficazmente las herramientas de IA
- Patrón de borrador con IA: generar una implementación base con IA y luego revisarla y refactorizarla manualmente
- Usar la IA como herramienta de aprendizaje: entender el código generado por la IA mediante una conversación continua, aprender junto con ello conceptos básicos de programación y acumular conocimiento gradualmente
- Reconocer los límites de la IA: las herramientas de IA son útiles para desarrollar prototipos, apoyar el aprendizaje y validar ideas, pero para crear software mantenible y listo para producción sigue siendo necesario contar con conocimientos reales de ingeniería
El auge de la ingeniería de software agéntica
- Sistemas agénticos: están evolucionando más allá de responder órdenes, hacia sistemas capaces de planificar, ejecutar e iterar
- Perspectiva futura: la IA no está reemplazando a los desarrolladores, sino avanzando hacia un rol de colaborador cada vez más proactivo, resolviendo problemas de forma autónoma mientras respeta la guía y la experiencia humanas
- La IA ya ayuda a implementar patrones conocidos, crear prototipos de ideas rápidamente y explorar distintos enfoques
- Automatiza tareas de programación repetitivas y rutinarias, permitiendo concentrarse en problemas más interesantes
Precauciones al usar herramientas de IA
- Importancia de la experiencia de usuario: con IA se pueden crear demos rápidamente, pero si no se manejan con cuidado los mensajes de error, los casos límite y los estados de la UI que pueden surgir cuando lo usen personas reales, eso puede generar una mala experiencia
- El resurgimiento de la artesanía:
- Aunque la IA ha acelerado el desarrollo de software, existe el riesgo de perder el arte de crear experiencias con verdadera calidad de producto para el consumidor.
- Las herramientas de IA pueden encargarse de las tareas rutinarias de programación para que los desarrolladores se concentren en los detalles importantes.
Conclusión
- El papel de la IA:
- La IA no se trata de escribir más código más rápido, sino de ayudar a construir mejor software
- La IA no mejora de forma drástica la calidad del software.
- Las partes difíciles del desarrollo de software siguen requiriendo juicio humano.
- La IA permite explorar rápidamente para encontrar mejores soluciones, pero no puede reemplazar las buenas prácticas de software.
- Responsabilidad humana: sigue siendo tarea de las personas usar la IA con criterio para mantener los principios de ingeniería y mejorar la calidad del software
12 comentarios
Está bien aprovechar la tecnología, pero me preocupa que haya demasiadas personas que hasta le delegan el pensamiento, y eso se nota aún más, sobre todo, cuando voy a temas de educación. Sinceramente, no me gustaría trabajar con personas así.
Tal vez sea parecido a la discusión de que los IDE arruinan a los desarrolladores...
Estoy cansado de corregir el código generado por IA de los clientes
Cuando la IA empieza a tomar decisiones, parece que ya no hay salida.
Parece que mejora cuando le das retroalimentación a la IA… pero en algún momento se rompe. Hace falta saber detectar ese momento. Y cuando llegue, hay que elegir si dejas la IA o empiezas de nuevo.
¿Cómo quedaría más natural traducir
production-ready(listo para producción) en el texto principal?Nivel listo para entrar en servicio real
Nivel de producto
¡Listo para el lanzamiento!
Yo normalmente lo traduzco como
listo para lanzaropreparado para el lanzamiento."Listo para lanzar" suena bien, ¡me gusta!
"Listo para desplegarse" (ya sea para uso real o para clientes) ¿qué tal suena?
¿Qué tal con uno que ha sido validado en la práctica?
Parece que para validar en condiciones reales se usa mucho la expresión battle tested.
Opinión de Hacker News
La IA, al igual que muchas herramientas del pasado, intentó reemplazar parte de la programación. Pero el trabajo esencial sigue requiriendo el cerebro humano
La IA es como un desarrollador junior entusiasta del equipo
Se pudieron desarrollar nuevas herramientas rápidamente usando herramientas de IA
Para los desarrolladores junior, la IA es un arma de doble filo
El patrón de "confía, pero verifica" es importante
csscolorparserde RustLa IA puede escribir código rápido, pero eso no acelera el proceso de aprendizaje
Copilot falla en tareas complejas
GenAI puede ofrecer resultados profundos en soluciones con requisitos bien conocidos
Es importante verificar el trabajo de la IA
Es difícil encontrar en la práctica a personas que realmente hayan mejorado mucho su productividad con IA