I am big on reproducibility (nix aficionado) and determinism (flagging test failures are a red-alert, all-hands-on-deck situation in my world) and correctness.
I am also big on testing (the correct things). And nine-nines (big on Elixir).
And... I'm also big on agent-assisted dev. Which requires pretty much every check in the book to stay productive in. And that's fine to me. I've seen bugs that I wouldn't have made myself. And I've also seen my own bugs fixed. They've all gotten fixed in short order. I don't see why this is a problem.
Raise your personal standards.
Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.
I don’t think the author (or many people) doubt that one can (and some will) find a way that does not “suck”
But it’s pretty clear that most people are not. For whatever reasons (mgmt pressure, trying to get ahead, skill issues, etc) they half ass it, accept the 10% (silent) fail rate and blame the bad outcomes on the AI as if that absolves them. Or, adopt the attitude that 10% fail is fine, and people who say otherwise are being picky, or are anti-ai luddites or whatever. You should accept that things will suck.
If you took a bad but functional AI generated service and transported it back to 2018 it would have been at worst just mediocre. People do seem forget how dreadful devslop was in the past. I'd take an AI generated mess to disentangle every time over a spaghetti codebase that grew organically in the hands of careless managers.
I don't like the idea of shaming people for making OSS vibe-coded tools for niche hobbies, so I don't want to name names, but there is ABSOLUTELY some stuff on Github now that can be used to get the job done but has UI/API/code performance, consistency, and quality issues, that would've been unfathomable for the average OSS project in 2018. Because it's the sort of stuff that only happens when there isn't a human in the loop to point out some very-obvious swings-and-misses. Like "you don't need a third button here doing the same thing as these other two" or "this button literally does nothing in 3/4 of the modes, but it's never shown as disabled" or "this takes 5 times longer than it needs to and blocks the main UI thread because work is all happening sequentially."
In the past it wasn't really common at all to add 10 features in an evening without actually trying to use those 10 features by hand yourself.
Personally I think it's wonderful that tools for these spaces exist when they didn't use to. But it's also ludicrous to say that anyone with Claude can replace even mediocre homemmade stuff in any dimension other than "being worth building even a bad tool" or "getting to semi-usable faster." Currently you still benefit massively from knowing what's going on behind the scenes, and from knowing "software engineering 201" type stuff around what sort of testing would be helpful where, vs accepting model-default-output everywhere.
> People do seem forget how dreadful devslop was in the past.
It was dreadful, but the volume was a single-digit percentage of what you see now.
Even those develoeprs who made a living opying from SO *still needed to make that code work for their system!"
Volume has nothing to do with it, this is discussing code quality. But if you mind me saying so, blame this ridiculous amount of codeslop volume on greedy managers and corpocrats. Developers are artists, they usually ship shitcode when they're under pressure
> Developers are artists
I don't think this has ever, as a rule, been true.
Good to know your opinion my friend. I think they are, the incentives are for them to hide it and play the corporation ladder climbing game instead, if you think about it.
As far a I can tell, most didn’t bother to see if it worked for the system,p. They just needed to have it compile in their system and then they’d call it done.
If someone was a crappy developer it was also a coin flip if anything actually got shipped. AI will shove it out the door in whatever state it can.
That’s true. But there were also places with very high standards and good design. And the LLM slop is pushing in there as well.
Are the managers of these hypothetical places still interested in keeping the high standards and good design? Enshitification isn't inherent to the technology, if this is what you are deriving from the counterexample, it's a business strategy my dude.
It’s a combination of technical capabilities and human nature / incentives in big companies.
Concepts like good design, security, quality are abstract and hard to measure.
Time, cost, revenue etc are easy to measure. The “quality” people eventually get push aside by the money people.
This is not new, but LLMs further tilt the balance
> This is not new, but LLMs further tilt the balance
You speak as if llms had their own minds. Every time anyone talks about AI doing this or that they further reinforce this idea that there isn't a person behind all this. There's always someone watching.
With that said, when you say that llms tilt the balance, who specifically do you say that's driving llms to do that?
It means an ambitious manager can take on more work by having the team slop out. They move up (very effective leader!), standards fall, other managers have to match the changes. The bill comes due years later after they have moved on (and up).
And who pays that bill, actual or technical, is never who created them...
But as more and more things depend on increasingly deep software stacks, everything goes to utter shit if the individual systems don't become more reliable.
If you asked management they'd say that's "business risk"
That's a problem of customers stop paying for the product. If the don't then it's a philosophical discussion. I don't like the dilemma because I've been in a company that went bust from years of bungling it couldn't recover from and I wouldn't want to repeat the experience.
Yeah, a good reason to be touchy about AI is that it tips the balance of power to lazy people who don't want to work or think. On the scale of our whole society. Imagining the ideal responsible use by most others is folly. No matter how responsible and conscientious you, the reader, are with your use of it.
> Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.
I have definitely seen more bafflingly-poor OSS software that just plain doesn't work frequently now than before.
But it's mostly software that wouldn't have existed before because it's trying to do super-niche things. So on the "hobby" side of things, whatever.
But from a "trying to develop software as a business that you want to be a going concern," quality from people who should know better is less tenable than it used to be.
Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.
Yes but that's the big thing, now isn't it? These are nice tools, used wisely. But their unwise use, oh boy...
The problem is one needs to be in a situation where the incentive is towards quality rather than speed. But that situation rather rare now - thirty years ago, Microsoft won the office wars with crap that had features. And nothing has fundamentally changed in web development since the LPad crisis.
The problem is those companies whose incentive is to allow bugs where it's the involuntary users who suffer will bite you no matter what quality you make your own software.
This, 100% I've seen far far worse produced by humans.
If the anti-AI people have skill issues because they're holding it wrong then when the output is crap it's the fault of the person with no skill issues who is using It correctly. It can't be both ways.