4 ms·
AI coding tools are making this problem worse in a subtle way. When an agent can generate a "scalable event-driven architecture" in 5 minutes, the build cost of
by Niko901ch 7mo ago
AI coding tools are making this problem worse in a subtle way. When an agent can generate a "scalable event-driven architecture" in 5 minutes, the build cost of complexity drops to near zero. But the maintenance cost doesn't.
So now you get Engineer B's output even faster, with even more impressive-sounding abstractions, and the promotion packet writes itself in minutes too. Meanwhile the actual cost - debugging, onboarding, incident response at 3am - stays exactly the same or gets worse, because now nobody fully understands what was generated.
The real test for simplicity has always been: can the next person who touches this code understand it without asking you? AI-generated complexity fails that test spectacularly.
- dude250711 7mo agoIt's a bad time to be an altruistic perfectionist, tell you what. Avoid hands-on tech/team lead positions like hell.
- skydhash 7mo agoIt’s not even about perfectionism. Code’s value is about processing data. Bad code do it wrongly and if you have strange code on top of that, you cannot correct the course. Happy path are usually the low hanging fruits. What makes developing software hard is thinking about all the failure and edge cases.
- cottsak 7mo agothat second line is so underrated
- whattheheckheck 7mo agoThats the kind of thinking that got us into this mess... scab
- brightball 7mo agoThe flip side of this is that languages who have a major selling point of maintainability just had their value increase dramatically.
- amelius 7mo agoSimplicity is a driver for better abstractions. But now with AI, will we even develop new abstractions?
- MarcelOlsz 7mo agoI was in charge of cleaning up a slop codebase by someone who has barely even heard of 'coding' before. Let's just say, it was abstract.
- Cthulhu_ 7mo agotbh codebases like that predate AI code generators. I had one job where my predecessor was not a very good developer by modern standards, but he was productive... a dangerous combination.
- MarcelOlsz 7mo agoI also kind of respect it, it bothers me endlessly when everything isn't perfect and this guy just threw caution to the wind. Jokes on me as I'm working for him now. But it's not like anything that predates AI, I couldn't write this type of slop if I tried lol. Zero formatting, linting, or anything. Just straight goulash.
- godelski 7mo agoThere's different kinds of abstraction. There's abstraction like Jackson Pollock and there's abstraction like what Dijkstra as suggesting: elegance. Which personally made the article a very weird read to me
- mattcollins 7mo agoOn the other hand, AI coding tools make it relatively easy to set and apply policies that can help with this sort of thing. I like to have something like the following in AGENTS.md: ## Guiding Principles - Optimise for long-term maintainability - KISS - YAGNI
- shafyy 7mo agoNot sure if you're kidding or not, but to write great maintable code, you need a lot of understanding that a LLM just doesn't have, like history, business context, company culture etc. Also, I doubt that in it's training data it has a lot of good examples of great maintainable code to pull from.
- nhayfield 7mo agoHe isn't kidding. I have a directive to write the shortest, least complicated, readable business code and it makes a huge difference
- kurthr 7mo agoSometimes, as in the bilsbi's top level comment, the solution is to use a free tool/library/product that already exists. The solution is not always to write new code, but the agent will happily do it. Maybe that's "the manager's job", but that's just passing the buck and getting a worse solution. Every level of management should be looking for the best solution.
- yudhiyudhi 7mo agoNeither do most humans writing such code, i have seen llms generate better code than 90% of coders I have seen in the last 20 years
- forgetfreeman 7mo agoAdmitting you've spent two decades on a career stuck working in the kind of sweatshops that hire people who can't actually code isn't much of a flex, and certainly doesn't lend a whole lot of credence to your argument.
- slfnflctd 7mo ago> now nobody fully understands what was generated To be fair, a lot of the on call people being pulled in at 3am before LLMs existed didn't understand the systems they were supporting very well, either. This will definitely make it worse, though. I think part of charting a safe career path now involves evaluating how strong any given org's culture of understanding the code and stack is. I definitely do not ever want to be in a position again where no one in the whole place knows how something works while the higher-ups are having a meltdown because something critical broke.
- bandrami 7mo agoThis. I've been a sysadmin for a quarter of a century and have professionally written next to no software. I've debugged every system I've had to support at some point though. It's a very different skill set.
- dudeinhawaii 7mo agoTrue, but I think the implication (as I read it) is that AI may be providing more complex solutions than were needed for the problem and perhaps more complex than a human engineer would have provided.
- muyuu 7mo agoit's MUCH worse now, not just because of the massive amount of code generated with zero supervision or very little supervision, but also because of the speed at which the systems grow in function
- gondo 7mo agoPeople on call will use AI as well. As long as the first AI left enough documentation and implemented traceability, the diagnosing AI should have an easier time proposing a fix. Ideally, AI would prepare the PR or rollback plan. In a utopia, AI would execute it and recover the system until a human wakes up. Or at least there is something to chat with about the issue at 3am.
- bigfishrunning 7mo ago
- __MatrixMan__ 7mo agoI think we'll see a decline of software as a product for this reason. If your job is to solve a problem, and you use AI to generate a tool that solves that problem, or you use money to buy a tool that solves that problem, well then it's still your job to solve that problem regardless of which tool you use. But given how poorly bought software tends to fit the use case of the person it was bought for... eventually generate-something-custom will start making more and more sense. If you end up generating something that nobody understands, then when you quit and get a new job, somebody else will probably use your project as context for generating something that suits the way they want to solve that problem. Time will have passed, so the needs will have changed, they'll end up with something different. They'll also only partially understand it, but the gaps will be in different places this time around. Overall I think it'll be an improvement because there will be less distance (both in time and along the social graph) between the software's user its creator--them being most of the time the same person.
- kaleidawave 7mo agoThe "coding benchmarks" should be based heavily biased on what dependencies they use etc. Reduced characters etc.
- jasondigitized 7mo agoWhat is the maintenance cost when Opus 6 or whatever is available?
- BloondAndDoom 7mo agoThis is something I keep thinking while coding with AI, and same with introducing library dependencies for the simplest problems. It’s not whether how quickly I can get there but more about how can I keep it simple to maintain not only for myself but for the next AI agent. Biggest problem is that next person is me 6 months later :) but even when it’s not a next person problem how much of the design I can just keep in my mind at a given time, ironically AI has the exact same problem aka context window
- fluidcruft 7mo agoWell in 6 months it you and a 6 months smarter LLM.
- an0malous 7mo agoAgree but I wouldn't say it's subtle, the slop builds up quickly
- mrweasel 7mo agoThere's also the operational cost of running whatever is churned out. I wouldn't exactly blame that on AIs, but a large contingency of developers optimize for popular tech-stacks and not ease of operations. I don't think that will change just because they start using AI. In my experience the AI won't tell you that you're massively overbuilding something or that if we did this in C and used Postgresql we'd be able to run this on an old Pentium III with 4GB of RAM. If you want Kubernetes and ElasticSearch, you'll get exactly that.
- Cthulhu_ 7mo agoAI generators only generate that if you tell them to though - as a developer (especially senior) it's your job to know what you want and tell the AI coding tools that.
- andix 7mo ago> When an agent can generate a "scalable event-driven architecture" in 5 minutes Currently they can't. Anyone with a basic understand of sw engineering will find numerous issues with the result of such a prompt within minutes.
- Schiendelman 7mo agoBut the product manager who asked for it won't realize that. Unless you hire good TPMs!
- johnfn 7mo agoWas this comment written by an LLM? It has a lot of the tell-tale signals, and pangram gives it a 100% chance of being written by AI.