22 puntos por GN⁺ 2025-04-23 | 3 comentarios | Compartir por WhatsApp
  • Las herramientas LLM no reemplazan a los programadores; amplifican las capacidades del desarrollador
  • A partir de la experiencia usando Claude Code, la velocidad de programación aumentó de forma drástica, pero el juicio arquitectónico y la supervisión constante de una persona siguen siendo indispensables
  • Con la adopción de los LLM, definir el problema y diseñar la solución se volvió más importante que programar en sí
  • Como la IA también amplifica los errores, los desarrolladores sin experiencia corren el riesgo de no detectar los fallos de la IA
  • En el futuro, las capacidades clave en programación serán colaborar con la IA, tener criterio y saber cuándo eliminar

La programación con LLM no reemplaza al ser humano, lo potencia

  • Las herramientas de programación basadas en LLM son como un mech suit que amplifica la capacidad del desarrollador
  • El autor desarrolló recientemente una plataforma de agentes backend y una app SaaS frontend usando Claude Code
  • Escribió más de 30 mil líneas de código en total y experimentó de primera mano el impacto real de los LLM
  • Claude Code no reemplaza al usuario; es una herramienta que amplifica la capacidad del desarrollador, como el Power Loader de Ripley
  • Las decisiones de arquitectura, el control de calidad y la definición de rumbo siguen estando liderados por humanos
  • La IA tiene ventaja en velocidad y tareas repetitivas, pero si toma una dirección equivocada, las consecuencias pueden ser graves

Vigilancia: programar con IA requiere atención constante

  • Claude Code a veces toma decisiones extrañas y, para hacer que las pruebas pasen, ignora el problema de fondo o recurre a hardcodear
  • También puede forzar cambios de framework o agregar dependencias innecesarias
  • Como con un piloto, en los momentos importantes la intervención humana es obligatoria
  • En un descuido, la IA tomó un rumbo incorrecto y hubo que reescribir por completo el código backend tres veces
  • Los LLM reducen la carga de programar, pero aumentan la carga de supervisión y de mantener la arquitectura

Cambio en la economía del tiempo de programación

  • Tradicionalmente, el tiempo de programación se divide en tres áreas: por qué (objetivo), qué (diseño) y cómo (codificación)
  • Tras adoptar Claude Code, el tiempo dedicado al "cómo" se acercó prácticamente a cero
  • Pero, en cambio, pensar el "por qué" y el "qué" se volvió todavía más importante
  • Como generar código es fácil, ahora hace falta el valor de descartar sin apego el código existente y elegir un enfoque mejor
  • Esa capacidad de decisión todavía no es natural para muchos desarrolladores, y hemos entrado en una era donde el criterio de diseño importa más que el tiempo de implementación

La diferencia la marca la experiencia

  • Para aprovechar la IA de forma efectiva, hacen falta la intuición y el criterio de 30 años de experiencia
  • Incluso si el código funciona, es importante poder detectar antipatrones que no sirven para escalar o mantener el sistema
  • Los desarrolladores sin experiencia pueden pasar por alto los problemas del código generado por IA y correr el riesgo de conformarse solo con el resultado inmediato
  • La IA no solo amplifica capacidades, también errores, así que sin buen criterio el riesgo aumenta

Efecto centauro: colaboración entre humanos e IA

  • Igual que en el "ajedrez centauro", surgido del ajedrez, la combinación de IA y humano logra mejores resultados que la IA sola
  • La colaboración con Claude Code funciona igual: el humano aporta la dirección estratégica y la IA resuelve el trabajo táctico
  • El método más efectivo fue escribir primero la especificación siguiendo el flujo del pensamiento y luego refinarla junto con Claude
  • Como Claude no puede juzgar adecuadamente según el contexto, siempre hacen falta supervisión y criterio humanos

Encontrar el equilibrio: coordinar delegación y control

  • Si se deja sola a la IA, con frecuencia intenta resolver los problemas de forma excesivamente compleja
  • Ejemplo: escritura de código duplicado, malas elecciones tecnológicas y otros fallos de la IA que realmente causan problemas
  • Incluso en frontend, se repetían situaciones en las que había que reencauzar implementaciones irregulares de JavaScript hacia enfoques de Elixir o LiveView
  • Hay que construir un ritmo de colaboración donde se deleguen las tareas simples y repetitivas, y se intervenga directamente en lo que exige juicio complejo
  • Gracias a la IA fue posible desarrollar rápido, pero sin intervención humana no habría funcionado correctamente

El futuro es la ampliación

  • Los LLM no reemplazarán por completo a los programadores, pero sí cambiarán profundamente la forma de trabajar y las capacidades necesarias
  • El pensamiento estructural, el reconocimiento de patrones y el criterio técnico serán más importantes que la simple habilidad de programar
  • La capacidad misma de colaborar con la IA está emergiendo como una nueva competencia técnica
  • El desarrollador exitoso del futuro no será quien le tema a la IA, sino quien entienda y sepa manejar tanto sus límites como sus posibilidades
  • La IA no busca eliminar a los humanos, sino ser una herramienta para expandir su potencial

3 comentarios

 
bus710 2025-04-23

Yo no soy Amuro ni me dieron un Gundam, pero... ¿?

 
jsh5782 2025-04-23

Que la diferencia de rendimiento entre los mobile suits no sea una diferencia decisiva en la capacidad de combate...

 
GN⁺ 2025-04-23
Opinión de Hacker News

Más importante que programar es entender el problema y diseñar

  • Tradicionalmente, programar se divide en tres bloques de tiempo
    • ¿Por qué se hace este trabajo? Entender el problema de negocio y el valor
    • ¿Qué se debe hacer? Diseñar conceptualmente la solución
    • ¿Cómo se va a hacer? Escribir realmente el código
  • La última etapa antes consumía mucho tiempo, pero ahora, gracias a Claude, casi no lo consume
    • Si estás gastando mucho tiempo en la última etapa, puede significar que las dos primeras están mal o que no dominas bien la herramienta
    • Editar código manualmente es engorroso, pero en muchos lenguajes eso se automatiza con el IDE y los indexadores
    • Se ha invertido más tiempo en entender el problema dentro de los proyectos de programación
  • Es decir, entender el problema y diseñar requiere más tiempo
    • Programar está entre las etapas más fáciles
    • Si toma mucho tiempo, puede deberse a falta de dominio de la herramienta o falta de diseño
  • El diseño de estructuras de datos es clave
    • Si la estructura está bien definida, programar no es más que una implementación sencilla
    • En esta parte, las personas superan a los LLM

Límites y precauciones con los LLM

  • Los LLM a menudo toman decisiones equivocadas
    • Ejemplo: agregar dependencias innecesarias, generar código vulnerable
    • Una persona necesariamente tiene que revisar y corregir
  • No reconocen por sí solos problemas de seguridad
    • Ejemplo: injection, configuraciones de permisos incorrectas
  • Bajan de rendimiento en bases de código grandes
    • Por las limitaciones de la ventana de contexto, no logran entender la estructura completa

Mejoras de productividad que ofrecen los LLM

  • Son muy efectivos en tareas repetitivas y simples
    • Ahorro de tiempo en boilerplate, código de prueba, etc.
  • Usarlos en la etapa de planificación es más eficiente
    • Son útiles para borradores de system design, descomposición de funcionalidades, etc.
  • Sobresalen para aprender lenguajes o frameworks desconocidos
    • Permiten entender el flujo básico más rápido que con la documentación tradicional

La importancia de la experiencia y del criterio técnico

  • Para usar bien los LLM, la experiencia es aún más importante
    • Se necesita la capacidad de evaluar estructuralmente el problema y filtrar
  • Aunque el LLM genere código, la revisión y el refactor siguen siendo tarea humana
    • Que algo "funcione" y que sea "correcto" no es lo mismo

El LLM no reemplaza al desarrollador, es una herramienta de apoyo

  • Un LLM se parece más al rol de un desarrollador junior
    • Sin una dirección clara, produce resultados disparatados
  • La combinación persona + LLM supera al LLM por sí solo
    • La estrategia la pone la persona; el trabajo repetitivo, la IA

Los resultados cambian según cómo se use el LLM

  • Si solo dependes de la generación automática de código, incluso puedes ir más lento
    • Sobre todo en lenguajes que ya conoces, la persona suele ser más rápida
  • Las interfaces basadas en autocompletado (Copilot, etc.) son las más naturales
    • Facilitan recibir ayuda sin romper el flujo

Cambios en el trabajo y preocupaciones por los LLM

  • El rol central del desarrollador se está moviendo de escribir código hacia diseñar y revisar
  • Si dependes solo del LLM, pierdes oportunidades de aprendizaje y crecimiento
    • Existe el riesgo de no desarrollar base técnica sólida y volverte un usuario pasivo

El futuro de los LLM y su impacto social

  • En un entorno donde todo el mundo puede usar IA, las personas son las que marcan la diferencia
    • El criterio, la capacidad de comunicación determinan la competitividad
  • Los LLM son "herramientas como un automóvil"
    • Son potentes, pero aumenta la dependencia y, cuando surge un problema, es difícil responder