This is something I've been thinking about as I start to adopt more agent-first coding.

There is a real advantage to having good code especially when using agents. "Good Code" makes iteration faster, the agent is unlikely to make mistakes and will continue to produce extensible code that can easily be debugged (by both you and the agent).

A couple months ago I refactored a module that had gotten unweildly, and I tried to test if Claude could add new features on the old code. Opus 4.5 just could not add the feature in the legacy module (which was a monster function that just got feature-crept), but was able to completely one shot it after the refactor.

So there is clear value in having "clean code", but I'm not sure how valuable it is. If even AGI cannot handle tech debt, then there's value is at least building scaffolding (or atleast prompting the scaffolding first). On the other hand there may be a future where the human doesn't concern himself with "clean code" at all: if the value of "clean code" only saves 5 minutes to a sufficiently advanced agent, the scaffolding work is usefuless.

My reference is assembly - I'm in my early 30s and I have never once cared about "clean" assembly. I have cared about the ASM of specific hot functions I have had to optimize, but I've never learned what is proper architecture for assembly programs.

For me it comes down to Language. They're LLMs after all. They pattern match on tokens, and if your tokens have muddled semantics, you've lost before you even started.

I have a codebase where variables are named poorly - nah that's too generous, variable names are insane; inconsistent even within a single file and often outright wrong and misleading. No surprise - the LLMs choke and fail to produce viable changsets. Bad pattern = bad code generated from that pattern.

Going through and clarifying the naming (not ever refactoring) was enough to establish the pattern correctly. A little pedantry and the LLM was off to the races.

If LLMs are the future of coding, the number one highest priority for the software industry should be to fix muddled naming, bad patterns, and obfuscated code. My bet is that building clean code foundations is the fastest way to fully agentic coding.

Right: Having "Good Code" is an investment into future velocity.

IMO we shouldn't strive to make an entire codebase pristine, but building anything on shaky foundations is a recipe for disaster.

Perhaps the frontier models of 2026H2 may be good enough to start compacting and cleaning up entire codebases, but with the trajectory of how frontier labs suggest workflows for coding agents, combined with increasing context window capabilities, I don't see this being a priority or a design goal.

>Perhaps the frontier models of 2026H2 may be good enough to start compacting and cleaning up entire codebases

I don't think this will happen - or rather I don't think you can ask someone, human or machine, to come in and "compact and clean" your codebase. What is "clean" code depends on your assumptions, constraints, and a guess about what the future will require.

Modularity where none is required becomes boilerplate. Over-rigidity becomes spaghetti codes and "hacks". Deciding what should be modular and what should be constant requires some imagination about what the future might bring and that requires planning.

Paying down tech debt doesn't necessarily take any knowledge of future changes. Code with tech debt didn't even handle past changes well. You can usually make future changes easier just by improving how the code does what it currently does.

[flagged]

> Is there anything you really have to get done regardless of quality right this second?

A vast number of things. There are a vast number of things I will accept having done in even mediocre quality, as in the old pre-AI world, I would never get to them at all.

Every friend with a startup idea. Every repetitive form I have to fill out every month for compliance. Just tooling for my day to day life.

Please name a single "startup" you've shipped from vibe coding thats gotten a paying customer that you didnt know IRL.

Everyone thinks they're a startup founder now is a major part of the problem. Y'all are falling for the billionaire marketing. Anything that can be built with vibe coding for a startup can be instantly copied by someone else. This makes no sense.

>Why would you adopt agent first coding?

Since most work on software projects is going to be done via coding, debugging, QA, etc AI agents you should prioritize finding ways to increase the velocity of these AI agents to maximize the velocity of the project.

>Are you that bad at it?

That is irrelevant.

>Is there anything you really have to get done regardless of quality right this second?

You are implying that AI agents have low quality work, but that is not the case. Being able to save time for an equivalent result is a good thing.

>Just write the code yourself, and stop training your replacement.

AI labs are the ones doing the training better AI.

> That is irrelevant.

Why?

That commenter is try is trying to imply that AI agents are a form of crutch. Like if you are bad at programming you use an AI agent to program for you. In reality programmers of all skill levels are migrating to using AI agents for programming.

Just because a high skilled programmer can use an LLM with some effectiveness doesnt mean someone with less skills will be able to match their ability. You LLM-kiddies are worse than nft people in 2021 claiming they're making art.

I really cant wait until the inference providers 5x their prices and you guys realize you're completely incompetent and that you've tied your competency 1:1 to the quality and quantity of tokens you can afford. You're going to be a character from the movie idiocracy.

Of course you'll still be coping by claiming you're so productive using some budget kimi 2.5 endpoint that consumes all your personal data and trains on your inputs.

My motivation for learning how to use agents has nothing to do with my ability. In fact I didn't think LLMs provided value for a very long time - the work I do tends to be embedded in nature ad LLMs were really bad at generating useful code.

Opus 4.5 changed that and like every programming tool I've used in the past, I decided to sit seriously with it and try and learn how to use it. If coding agents turn out to be a bust, then oh well, it goes into the graveyard of shit I've learned that has gone nowhere (Angular, Coffeescript, various NoSQL databases, various "big data" frameworks). Even now one of my favorite languages is Rust, but I really took the plunge into the language before async/await and people also called it overhyped.

If coding agents are real, I don't want to be struggling to learn how to use them while everyone else is being 10x more productive. There's no downside to learning how to use them for me. I've invested my time in many hyped software frameworks, some good and some bad.

>with some effectiveness doesnt mean someone with less skills will be able to match their ability

I never said they would.

>Of course you'll still be coping by claiming you're so productive using some budget kimi 2.5 endpoint

I would. I already run my persistent agent on Kimi 2.5 and use Kimi CLI.

okay llm-kiddie, you're doing magic tricks on yourself like a toddler who's entertained by the sound the Velcro on their shoes makes. Have fun frying your brain and lighting money on fire.

I don’t worry about clean code anymore because I expect the model to read it in the future, not me personally.