> Conceiving them is fun. Delivering them is painful. Raising them, is a lifetime of work.

Then there's the technical debt!

Shipping is frankly the easy part. It's the operating overhead that often breaks you.

I liken it to free puppies.

This is true.

I have always prided myself on writing concise, high-Quality code, because it tends to be quite debt-free.

So far, LLMs seem to deliver code with "Louie Da Loan Shark"-levels of tech debt.

The problem is that the lines of code are riding on a stack of other dependencies that all need care and feeding. Things reach EOL. Frameworks have major breaking changes. CVEs are discovered.

You can actually get high-quality code out of them -- at least with Claude; not had a great experience with Gemini -- but for complex tasks requires riding them very, very hard and really understanding where things can go wrong and poking at them repeatedly. Iterate, iterate, iterate.

> Iterate, iterate, iterate.

That describes my last week. What made it most annoying, was the need to release through TestFlight, because the memory issues would not appear, when tethered. Also, I was checking in constantly, because I had to revert and reset the context, several times.

You mentioned in another part of this thread that you worked in hardware mostly?

It seems like the cost of changing hardware code is high enough to still insist on building it high quality, is that accurate?

Yes. It's also why working as a software (host) developer at a hardware company is difficult.

Hardware people insist on treating software the same as firmware.

Bad firmware can cause real-world, physical damage, and be impossible to fix without a hardware recall. A firmware bug can wipe out a hardware company. A software bug can be embarassing, but can also be corrected a lot more easily (as long as it is being treated differently from firmware).

> So far, LLMs seem to deliver code with "Louie Da Loan Shark"-levels of tech debt.

Maybe a couple of years ago, but these days, Opus 4.8 is frankly writing better software than what I've seen over the previous decades in non-tech enterprise. These previous two months, we've replaced so much technical debt we've been dragging along for the previous 5 years as our team went from 25 to 3 people.

This is in non-tech enterprise in Denmark and AI had absolutely no impact on us going from 25 to 3. That was all Putin and bad business decisions on the c-levels. Like keeping flexible loans to fund projects on the books when the interests rates were 0.01% because they might go to 0.001%. Anyway, I'm getting to the point where the AI does 100% of the work, but only if it's piloted by people who know what security, resource consumption and compliance is. The code itself is excellent though.

> Maybe a couple of years ago, but these days, Opus 4.8...

No. Opus 4.8 still writes bad code, just like every other time AI boosters have claimed "but the newest models are really good".

Every line of code is a liability

Yup. In another post, I was grumping about having to accept a truly obese bunch of code from an LLM. This particular issue is the only one I could imagine even considering accepting that much pasta, but I sort of have to, because the LLM was able to quickly solve a problem that would have taken me a couple more weeks to address.

I remember a .sig that went something along the lines of:

    I hate code, and want as little as possible in my software.