Live data from Hacker News

An AI coding agent, used to write code, needs to reduce your maintenance costs

jamesshore.com

81–90 of 126 posts

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#81
post #67

Earlier quoted context omitted.

Code doesn't exist in a vacuum though. Code bases that you "work in" (maintain, etc) solve real world problems, and solving those problems should trump cleanliness every time Codebases that are clean are typically showcase examples that sit on a shelf to be admired and appreciated.

> Code bases that you "work in" (maintain, etc) solve real world problems, and solving those problems should trump cleanliness every time Only if you value your time more than the users’ time and your fellow developer time. Code are run and read more than they are written. You may need to do some hacky coding, but they should be small in scope, surrounded by warning, and have a ticket filed for properly resolving the…

Outside of opensource developers do not suggest what code is written.

Sales does.

If the developers say something like "well this will take 3 weeks longer to do correctly". They'll be replaced by the code monkey that can turn a POC over to the customer in 3 days.

Reality does not live up to our dreams.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#82
The article is good in that it highlights the need for AI agents/assistants to help with different parts of software development, not just the up front "build me a new widget" part. The author (correctly imo) frames that if someone just uses an AI agent/assistant at the new widget part, then they'll end up with a lot more code to maintain since with AI, they crank out more code. Even if it's high quality, there is maintenance cost over time.

That being said, the problem the author talks about is more of a self imposed thing than everyone is going to suffer thing. The author correctly points out the startup scenario, where its just "get this damn thing to work somehow so I can see if there's market fit and nab some customers". That scenario has typically always come with higher maintenance costs down the road because quality is (rightfully) lowered in the name of speed to see if there's a business and if there is, get it going.

Also felt like the author was reluctant to talk about how AI can actually help with the maintenance part. AI can be great at fixing old dependencies and annoying bugs (with human guidance). Those tasks can feel like toil for software engineers and the kinds of things a software engineer will want AI to help with

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#83
The author seems to be starting with the assumption that humans need to review all AI code in detail and be able to understand and maintain it without the AI assisting. In my experience, this isn't how people are using AI.

It starts out that way. In the beginning, before they trust it, and before they've learned to prompt it to get the results they want, they use it to automate some tedious bits, but humans still create the initial implementation or pattern and then have AI fill in the gaps. More like turbocharged autocomplete than a sea change in how they write code.

The more people work with AI, the less they worry about the actual code it's producing. I'm not saying this is a good thing. It can introduce bugs, performance problems, security holes. It's reality, though. AI code produced a bug? Tell AI to fix it. AI code is bloated and hard to read? If you care, tell AI to fix it. A lot of people don't care.

When humans are removed completely from code maintenance, the need for maintainable code isn't there anymore.

We're not 100% there yet, but that's where we're headed. For a lot of companies, it's worth the risk to YOLO it because it's already good enough.

I don't personally trust it enough to stop reading the code it produces, but I don't read every single line. I pay more attention to the tests than the code under test. I pay more attention to parts of the code where performance matters. I guide the overall structure. But whenever any of that doesn't meet my standards, I'm not the one who's maintaining it. I just tell the AI to fix it.

Maintenance costs aren't on my radar when maintenance is this cheap.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#84
post #81

Earlier quoted context omitted.

> Code bases that you "work in" (maintain, etc) solve real world problems, and solving those problems should trump cleanliness every time Only if you value your time more than the users’ time and your fellow developer time. Code are run and read more than they are written. You may need to do some hacky coding, but they should be small in scope, surrounded by warning, and have a ticket filed for properly resolving the…

Outside of opensource developers do not suggest what code is written. Sales does. If the developers say something like "well this will take 3 weeks longer to do correctly". They'll be replaced by the code monkey that can turn a POC over to the customer in 3 days. Reality does not live up to our dreams.

> “well this will take 3 weeks longer to do correctly".

Well, I haven’t met any experienced developers that say this sentence. It’s career suicide in most cases. More often, an agreement about scope and delivery is reached and workload gets reshuffled. Customer battling with POCs to get their tasks done are soon to be ex-customers.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#85
Not really convinced by the first graph (and following too). According to it on a 10 year old project developers only manage to spend 10% of their available time adding features because rest is consumed by maintenance? By 10 year landmark I would expect most of software to be mature, with less new features needed and most known bugs fixed.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#86

This hasn't been my experience. I'm finding that I'm spending less time on maintenance precisely because it's less tedious to maintain as I go now, and because the "make a small change across 400 files" type thing which would have seemed impossible before can be chewed through by an agent in a couple of hours.

Usually, that is the kind of thing that's done with search-replace tools and some manual touch at the edge cases.

But AI does indeed make it faster and easier. Why sift through the changed lines and hammer down the edge cases yourself if you can get an AI to do it?

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#87
post #72

Insightful. Agree with this take. Unfortunately, maintainability is simply bucketed as a "non-functional" requirement. Maintainability (and similar NFRs) should actually be considered what preserves and enables the delivery of future functional requirements -- in contrast to framing non-functional requirements as simply "how" the software must do what it does vs. the "what"/functional requirements that "actually matt…

The maintenance cost argument cuts both ways. We ran into this building our own project AI moves fast, but the bugs it introduces are weirdly hard to spot. Not the obvious stuff. The logic that looks completely reasonable until three weeks later, when something breaks in production, and you trace it back to a subtlety the AI got wrong. My honest take: AI doesn't reduce maintenance costs, it shifts them. Less time wri…

AI coding assistants are really good at writing code with subtle errors of the sort humans struggle to notice, even with close and sustained focus.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#88

Insightful. Agree with this take. Unfortunately, maintainability is simply bucketed as a "non-functional" requirement. Maintainability (and similar NFRs) should actually be considered what preserves and enables the delivery of future functional requirements -- in contrast to framing non-functional requirements as simply "how" the software must do what it does vs. the "what"/functional requirements that "actually matt…

Forget the term “non-functional”. Who wants software that doesn’t function? Use Kevlin Henney’s terms: operational and developmental characteristics. Maintainability is a fundamental developmental issue.

Re: An AI coding agent, used to write code, needs to reduce your maintenance costs

#89
My team has been using AI to add code, but also to aggressively remove old deprecated code. "Is anyone still using this? How does this get called" is easier to answer when you can toss your FE, BE, and entire codebase at an agent and let it create a map of your software project. IDEs can do this in a single language to some degree usually in a single project, but RPC, REST, etc... break some of these tools in a lot of IDEs.
Post reply on HN