
poteto@poteto
Los codebases siempre han tenido slop. Siempre lo hemos aceptado porque el código rara vez necesita ser perfecto, salvo en software crítico "duro" (por ejemplo, embebido). swe es una forma de ingeniería muy particular, porque muchas veces estás construyendo algo que evoluciona constantemente y que es casi orgánico: cambian los gustos de los usuarios, evolucionan tus modelos mentales y las features van y vienen. La verdad, yo y mucha gente que lleva años programando éramos al principio (tipo en 2024) escépticos de que los agentes escribieran código de producción. "¿Y todo el slop que va a entrar a nuestro hermoso codebase?". Pues antes ya teníamos slop humano, ¡y un montón! Si somos honestos, la mayoría llama slop al "código que no escribí yo". La realidad es que el 99% de la gente (me incluyo) ni siquiera sabe cómo se ve el Good Code, mucho menos escribirlo. Yo propongo que Good Code es: • correcto • sin bugs • rápido y eficiente en costo al ejecutarse Escribir Good Code de verdad siempre ha sido carísimo y dificilísimo, porque durante mucho tiempo (quizá @bendlang lo cambie) el código no era algo que pudieras garantizar de forma barata y formal con estas 3 propiedades. Por eso escribir software difícil es mucho más caro y complicado: según el caso, quizá solo tengas una oportunidad y tengas que acertar desde el principio. Pero la gran mayoría del software que usamos no necesita ser Good Code para darle valor a los usuarios. De hecho, ¡es muy probable que la mayoría del software que usamos no sea formalmente verificable! Aceptamos algunos bugs a cambio de velocidad y avance, así que dependemos de tests y o11y y adoptamos un enfoque más incremental. ¡Eso es bueno! Los agentes nos ayudan a ir más rápido y, si estás abierto a la idea, pueden ayudarnos a escribir mejor código. No será Good Code (eso sigue siendo caro), pero probablemente sea mucho mejor en promedio y a escala. El nuevo oficio de swe es descubrir cómo hacer esto. ¡Ahora es tu trabajo! Si tu productividad con y sin agentes no es muy distinta, estás haciendo algo mal. Pero no es tarde para adoptarlo y usarlo como oportunidad para aprender todo un nuevo árbol de habilidades.
codebases have always contained slop. we have always been okay with this because code rarely needs to be perfect, outside of mission critical "hard" (eg embedded) software.
swe is a unique form of engineering because you're often building something that constantly evolves and is almost organic - user tastes change, your mental models evolve, and features come and go.
admittedly, i and many others who've been coding for a long time were initially (like back in 2024) skeptical that agents would write production code. "but what about all the slop that would enter our beautiful codebase?".
well, even before, we had human slop, and there was a lot of it! if we're being truthful, most people call "code i didn't write" slop. the reality is that 99% of people (i include myself in that number) don't even know what Good Code looks like, let alone be capable of writing it. i would propose that Good Code is:
• correct
• bug free
• fast and cost efficient to run
it has always been exceedingly difficult and expensive to write truly Good Code, because for the longest time (maybe @bendlang will change that), code was not something you could cheaply and formally guarantee to have all 3 of these properties. this is why writing hard software is much more difficult and expensive, because depending on the use case, you may only get one chance and so you have to be right from the start.
but the vast majority of software we use does not need to be Good Code to provide value to users. in fact, it is very likely that most software we use is not formally verifiable! we accepted some bugs in exchange for velocity and progress, so we rely on tests and o11y instead and have adopted a more incremental approach. this is a good thing!
agents help us move faster, and if you're open to the idea, are capable of helping us write better code. it won't be Good Code (that is still expensive), but it is likely to be much better on average at scale.
the new craft of swe is to figure out how to do this. it's your job now! if your productivity with and without agents is not significantly different, you're doing something wrong. but it's not too late to embrace it and use it as an opportunity to learn a whole new skill tree
