No te llames programador artesanal

Don't call yourself an artisanal programmer

El autor rechaza el término 'programador artesanal' porque, al aceptarlo, cede el título de 'ingeniero de software' a quienes usan LLMs y devalúa el cuidado y la precisión que definen la ingeniería. Inspirándose en Hillel Wayne, propone llamar 'ingeniería de software sin IA' al trabajo manual y 'programación asistida por IA' cuando se usan modelos, para que la atención y la responsabilidad sigan siendo el centro de la profesión.

No creo que esto sea una operación psicológica, pero sí creo que deberíamos ser más conscientes de cómo nos llamamos, porque las palabras tienen poder.
  1. jlamberts

    La ingeniería consiste en crear algo que cumpla un propósito, operando dentro de un conjunto de restricciones. Parte de eso es darse cuenta de que "100% correcto/confiable en todas las circunstancias" es un objetivo poco realista, ya que el tiempo y el costo de implementación son una de esas restricciones.

    Un buen ingeniero reconocerá este tradeoff entre robustez y costo y actuará en consecuencia. Por ejemplo, si estás trabajando en sistemas críticos para la seguridad o muy fundamentales como sistemas operativos, tecnología médica, etc., deberías inclinarte muy fuertemente a favor de la robustez. Si no es así, esto puede ser fácilmente un acto de overengineering. El trabajo del ingeniero es encontrar el punto correcto a lo largo de la curva costo-corrección para lo que está construyendo.

    Esto siempre ha sido cierto, y los LLM solo cambian ciertas partes de la ecuación. Por ejemplo, escribir código es mucho menos un cuello de botella que antes, así que "podemos simplemente probar con una implementación desechable y ver si funciona" de repente es económicamente viable. También resulta que muchas cosas, en la práctica, no necesitan ser tan correctas como algunos de nosotros podríamos haber creído.

    Todavía podemos disfrutar haciendo cosas de calidad, pero hacerlo es a menudo un acto de artesanía más que de ingeniería.

  2. cortesoft

    Por extraño que parezca, pensé que los términos estarían invertidos… Yo pienso en un artesano como alguien que valora la calidad sobre la cantidad, y hace todo hermoso y duradero, mientras que un ingeniero se enfoca más en la productividad, las tolerancias y la eficiencia. Un artesano hace mejor calidad pero no escala como lo hace un ingeniero y el proceso de fábrica, aunque los bienes producidos en masa sacrifican calidad por cantidad.

  3. barrkel

    Una buena parte de la ingeniería consiste en armar sistemas confiables a partir de partes poco confiables.

    Construyes salvaguardas, redundancia, defensa en profundidad, sistemas de recuperación. Construyes modelos del sistema y demuestras características sobre él.

    El software es fundamentalmente automatización. Los LLM permiten automatizar la construcción del software mismo. Son mucho más rápidos y baratos que las personas, y son más poco confiables. (¡Las personas también son poco confiables!)

    El desafío inmediato de estos tiempos es descubrir cómo construir de manera confiable software confiable a gran escala, a largo plazo, de forma fiable. Este es un desafío de ingeniería, y la única forma de llegar al otro lado es intentar hacerlo. Las cosas serán difíciles, habrá una explosión cámbrica de técnicas, la mayoría de los enfoques fallarán, y muchos más no sobrevivirán a medida que los modelos mejoren en calidad y capacidad. Pero lo resolveremos.

    Hacer cosas a mano, como en la época anterior a la codificación agéntica, también puede ser ingeniería, pero no es el desafío central de estos tiempos, y pronto será un pasatiempo, o posiblemente una especie de bien de lujo. Ya no querrás software escrito a mano más de lo que querrás un auto hecho a mano. No tendrá la precisión, el rendimiento o la confiabilidad del software hecho a máquina.

  4. tibbar

    Prefiero el término "programador con formación clásica". :-)

  5. spawrks

    ¿No hay una diferencia entre hacer cosas que hace el código y el código en sí? He visto software verdaderamente hermoso con código terrible de seguir pero efectivo, y he visto código hermoso que, aunque técnicamente asombroso, no hacía nada sustancial. El software es como la carpintería, incluye todos los niveles de cuidado y resultados de producto.

Más de este día

2026-09-13