Not sure what I can say but the LLMs simply do not write good code without tons of handholding. As a C developer most LLMed patches I have seen the last couple of months have been awful and the few good ones I know from the author themselves that they did a ton of iteration and/or manual cleanup. Maybe they are less bad at writing other languages.
At least what I have seen in Ruby and Typescript, they are excellent at doing what you asked for. But if what you asked for is stupid they will happily make it happen.
They don’t make normal mistakes like typos and they aren’t lazy so things like tests and checking error cases is usually done.
People say this every 6 months. I've stopped even paying attention to it, because (A) the code quality remains below the floor, and (B) the people saying it continue to ignore all the other issues with LLM code generation.
Up until the last couple of months, I have treated LLMs as a supercharged stackoverflow. I would ask it questions on how to do something in a general sense, and then adapt the answer to my use case.
Now, my entire programming flow does not even include an editor. The tools I use are: pi.dev to write and implement openspec specifications, herdr to manage many pi instances, and ollama to run qwen 3.8 27b on my single 7900 XTX.
Writing good specifications is the key detail here. I will often iterate on a spec for hours until I am happy with it all of the details. Once I am happy with the spec, I can be quite confident that when I tell pi to apply the spec, the changes that I want will be done, and done how I want them, when I come back to check when it reports itself as done.
The landscale is fundamentally different from what it was. Feel free to ignore it, but you can absolutely generate high quality code if you know what you're doing.
No problem. I think it's less of people withholding information to have an advantage, and more people still not having settled on a workflow they like. Herdr is the most recent addition in my workflow as of only a few days ago, but it directly solves problems I have been having (juggling tons of terminals, even with my tiling wm has been a little unwieldy). The rest I've pretty much settled into for a while now.
I tried a lot of tools. Claude code, deepseek with kilocode and OMP, codex... I still use claude quite a bit. But frankly, all of them produce some absolutely godawful code. Review load went way up with AI, and it's not just the volume that caused it, but also the quality. It's extremely verbose, hard to read, often repeats code instead of factoring it into reusable components. And yes, sometimes it's also buggy. Except now, you have to debug a problem that's in code you didn't write yourself, and is awful to read.
LLM is incredibly valuable for debugging complex problems, codebase exploration, and planning large changes. But the writing code part itself, I find, LLMs are just not very good at it yet.
Vaguely telling the agent what the issue is and what behavior I expect solves the issue with a fraction of the effort.
Some claim that the tech debt only keeps increasing and that the result will be unmaintainable. This is not my experience, and I don't think it is theirs either. These claims are often entirely speculative.
I, and I think most experienced developers, can recognize the type of code that incurs a maintenance cost down the line; that will make adding new code take longer. And AI writes such code "relatively" frequently. I love having the AI to write code, but I find it extremely important to review it - to make sure that it's correct, understandable, and not going to be a problem later.
I find it unnecessary for most non-critical code, such as client applications.
I doubt that any supposed future extra effort for the AI to add new code is remotely comparable to the upfront effort of you reviewing the code manually.
I know that this is the case today for native mobile apps, and I speak from hundreds of hours of experience over the last four months on such a project where I stopped reviewing the code.
We are already here today, and this balance is only going to further shift to the point where it is obvious that the hands-on approach is no longer competitive.
Everything about what you're said strikes me as sounding like "I don't bother wearing a seatbelt, because my experience is that I don't get in accidents" .. and also "I don't write automated tests, because I already hand tested my code and it works".
And neither one of those statements is very convincing to me.
And what you said strikes me as speculation not based on actual experience in using AI in this way, with a healthy dose of condescension added.
Anyway, I think we shared our viewpoints, and neither of us is going to change their mind until either my project fails spectacularly, or you change your approach in the future to use AI more autonomously.
I've had bugs the agents can't fix or figure out. Sometimes those involve third-party, proprietary, broken code (read: Windows APIs). Sometimes they just involve complex deployment situation on the client code (I work on desktop apps) where the agent can't figure out what's wrong/makes wrong assumptions/goes nowhere. Sometimes the agent is just very dumb and tunnels vision on the wrong fix.
FWIW, I've also had bugs the agent fixed that I probably never would've figured out without LLMs - LLMs are definitely useful! But I need to keep understanding how the code works so I can take over the reigns when the LLM fails.
I’ve had some luck prompting them to be concise, both in writing and in code, and with code doing an approach where they get it working, write tons of tests, and then refactor for conciseness and readability. All the tests prevent regressions doing this.
Without such prompting and a conciseness and clarity pass you get a slop grenade.
They overall work better with tests, and Rust is a great language for them. Overall they do better with lots of walls and alarms that go off if they mess up. I don’t need nearly as much of this, can mentally simulate it, which is a good “are we superintelligence yet” reality check. Still not even as good as my wet meat brain. But impressive given what was possible even two years ago!
The result is still not as clean as a good programmer but it’s better than the slop grenade you get first pass.
I spent 22 years as an engineer split between MS and Apple. SOTA LLMs can write code just as good as most human engineers. I expect to see the "LLMs are just next token predictors!" crap on Reddit... not HN.
LLMs produce pretty crappy code but they are very useful tools for protyping, code search and finding bugs. Maybe LLMs in the future will be able to write good code but they are very far from that right now.
Perhaps it would be useful if both of you could provide examples of supposedly good and bad code – the latter being the result of a genuine effort to produce good code with state of the art models. Just asserting that LLM code is good or bad ends in a yes - no - yes - no back and forth circle immediately.
I just used an LLM (along with my decades of operating system development experience) to create a macOS tool [0] that lets me see through windows, instead of having to continually command+tab between windows.
The solution required reverse engineering and internals knowledge that most human engineers don't even have.
The question is no longer "Can an LLM write code?". It can. The problem is that certain humans refuse to put in the effort required to properly utilize these tools.
LLMs have been good at knowing what's in the manual from v1.0. Super good at that. Pretty good translators. Pretty good at doing things that have been done a million times before, like your CRUD app. Super mediocre at everything else.
LLMs as things that know what's in the manual are AAA+. Extremely helpful. Very good at making a rough draft of something filled with a lot of stupid mistakes and no new abstractions. That's what your transparent window thing is. Something that you could never ship, is probably too big and doing senseless things for no intelligible reason, and definitely has bizarre bugs.
What in the world are you talking about? I was literally an senior engineer on the Windows Kernel team, the Visual Studio team, and the Xcode team at Apple.
This application, named Seymore, is being evaluated for purchase by several tech companies. (It helps having good industry contacts)
There was a ton of interesting engineering required to make this work at 60 fps+ without resorting to hacks or using private APIs. Most macOS engineers wouldn't even know where to start.
I've shipped code that is used by billions of people and all you just did was spew a bunch of bullshit. As someone who has built their own LLM from scratch, I have an extremely good idea of what they can and can't do.
If you don't know how to use these tools, you'll end up with crap. If you DO know how to use them, they are incredibly useful.
I don't agree with using your credentials to show your code quality, but I don't doubt you have better standards than most developers. That said, stop trying to change their minds. Antirez was a good at programming until he started coding using AI only. The same will be said about Carmack and Linus.
What they are saying is increasingly difficult to defend, but they will do it anyways. I see the same arguments at my job, and I just gave up arguing against
This kind of shaming is getting tired. At the end of the day, the people claiming their code quality is better without ai, while everyone else has low standards, aren’t providing any evidence of their supposed superiority.
I think the burden of proof is on the new technology. It's been almost a year since the supposed death of manual coding, depending on how you count, but I haven't seen the efficiency benefits of AI trickle down to the programs I'm an end-user of. I _have_ seen the bugs, however (rsync 3.4.3 for example.)
Depends what you mean by end-user. Power users of AI aren't using these things to build applications for users, they're using them to do all the things they couldn't do as mere mortal programmers. Like the other poster detailing how they got a game running in web assembly. That's not for end-users, and even if it was they wouldn't be able to look at that and say "Wow, this is an example of AI benefitting me as an end-user" they'd just say "Wow cool, a game".
Those things made 30 years are filled with carcinogens. the Chinese make great stuff, your opinion comes off like programmed xenophobia, lay off the twitter.
Most of my "smart" devices are Chinese. Huawei creates superior products than most western/korean/japanese counterparts. I would prefer everything I own is Chinese, the quality is superb.
The llm induced dunning krueger from you larper types is really funny. Software isnt all shitty webapps is you vibe coders create and declare software solved.
None of the code written for a pacemaker, medical imaging, weapons systems, and thousands of other perf critical domains are written by llms in any meaningful sense. Not everything runs in a browser.
If you automate a business heavily, it will fail. At least in the sense you people seem to be imagining. You can get away with this at a factory (kind of, but you'll also be out competed by your local community, you won't get tax breaks for hiring people your competitor will, and new types of taxes will be developed to punish you). We reward human collaboration as a society for a reason and punish extreme selfishness, these efforts will fail.
Your bot you call a 'manager' can't actually do anything. You are selling ali-express drop shipped (probably filled with heavy metals) protein for $50.00 (why)?
You're in here actually running the company.. It seems like you have no product, a wrapper maybe.
See the reason you're in here running the company, sharing this link is because humans inherently value the social connection derived from "doing business". Pivot while you can, because this simply is not a paradigm anybody wants. You should read up on commodity fetishism.
Every company that attempts a strategy of full autonomy will automatically get out competed by the human ran company. For many different reasons, but mostly because its rather cheap and lacking any meaning. Even if you had an AI that was capable of doing so (you don't), people want human connection, they want the meaning behind things. We don't do business just for the sake of producing pieces of paper..
I would argue half the reason to have "businesses" is to employee your fellow community members, a tide that lifts all boats so you can live in a decent society. There's so missing here. You llm grifters are really losing the plot, not everything is about money (even if we would like it to be).
Yeah completely unmaintainable code that cant handle more than 1k users before it collapses on itself. And quite probably so ugly its literally impossible to use.
That only matters if you need to support 1k users. Tons of software doesn't and if you can spit out a web app in a few hours a lot of companies are going to do that.
I'm sure there is still a pot for really high quality stuff but it's a tradeoff a lot of companies don't care. But the interfaces - they aren't ugly, they're very usable and complete, which is the main reason I think web dev is in trouble. It'd take me 10x the time to do it myself.
Simple web apps, the kind you're describing have never been difficult, they were never what kept SWEs employed.
I'm not even sure what you're talking about when you say "web apps", because the kind of "web apps" that have kept SWEs employed are created by large organizations that have large requirements. You sound like you don't know what you're talking about. Companies also aren't going to just stop growing, iterating and improving, which requires expertise. Im worth more than ever with AI, my value as a SWE has only been increasing.
You people seriously need to stop using LLMs because your brains are devolving like taxi cabs drivers who had parts of their brains responsible for navigation atrophy after the advent of GPS.
> Simple web apps, the kind you're describing have never been difficult, they were never what kept SWEs employed.
I'd say the first part is right but the second part is statistically incorrect. I would even expand from "web-apps" to just about any kind of software, especially "business software" -- very little of it was ever too difficult.
Now the following will clearly not be true for all cases, and the boundaries are very fuzzy, but generally a huge part of software development has always been the relatively straightforward translation of high-level requirements into code. Crafting the high-level requirements was typically the challenging part, but that typically was done by the more senior devs / architects, whereas the actual implementation was done by more junior / mid-level engineers. And there were typically multiple junior / mid-level devs for every senior dev, say 3:1 or more. As such, it is correct to say that the simpler aspects of software development were what kept most SWEs employed.
Now AI has completely usurped the lower-level coding work. You as an expert dev are definitely getting worth more than ever with AI, but that's because you single-handedly can now do what an entire team used to do. You may even get paid much more, but that is eventually going to be at the expense of a bunch of other people who are not required anymore.
This is why people are seeing "jobs apocalypse" written on the wall.
I don't get why you're being so rude. What's the point?
For the record, I hardly use these models. I've simply seen that they can replace existing web apps. That hurts the market for web devs, most orgs aren't building out large apps they are building out smallish ones and generative models do that today.
Sorry, Ive been hearing these exact same arguments for 3 years now and its always extermely divorced from reality. Its starting to get very tiring, its hard not to be rude at a certain point.
Don't go around telling people their careers are in peril when you clearly have no clue what you're talking about. What do you expect?
You've identified a very specific type of web dev, one that works on perf critical apps in a corp environment and said corp cares about perf and quality. Tons of people simply don't work in those environments and unfortunately this threatens their career.
I work in an environment where we can vibecode 4/5 of our web apps because they are either small enough or the perf doesn't matter. Or, I've looked under the hood and these are writing endpoints that would take me 3x the amount of time it would take it to use the same libraries. You say it's divorced from reality, I'm saying it's just what I've directly observed.
I'm glad it doesn't affect you, but you don't have any kind of statistical measurement (nor do I) to know how much of the market this impacts. I do know for a lot of the web dev I did pereviously, I could do it viea these models today.
You must have incredibly low standards for quality if you think manual coding will be finished any time soon, web dev or any.
secondly, using llms well still requires you to be a great programmer. Y'all are losing the plot.
Also, just because its easier to do doesnt mean everyone is suddenly going to want to do it. There's still always going to be only a small percentage of thr world that likes to build things.
Have you seen the code these things produce? Just because it compiles/ runs/ loads does not mean its durable. Its wild you people have these opinions, and it leads me to belive you have no idea what you're talking about.
There is mass dunning kruger due to llms, and people are speaking with way too much authority about things they do not understand. I hate this website.
reply