Yeah, I have never understood the over reliance on AI. Writing the code is not the challenge. The time it takes to push a new feature and test it out is often trivial, maybe a few hours.
The real challenge is forming the new ideas in the first place and most of those new ideas coming either from using the code as a product or time spent maintaining and refactoring large code.
Wriring the code is not the challenge, but it's what was taking up most of the time. Not the typing itself, but also because I had to think of how to implement it.
Now I can just say "add 2FA" and in 5 minutes, while I test something els, it is done.
It also made iterations a lot faster, you can try something out, see how it feels, if it doesn't work, you can just trash all the code and start again.
I don't know what it built for you in 5 minutes, probably something that "works".
I have spent two weeks using opus just to write a plan/design for 2FA and iron it out until review (about 7 of them) doesn't flag it with 20+ problems (with security holes of various sizes), for which I had to guide it through to not turn it into a mess and whac-a-mole.
Aside from the fact that the implementation must be secure, you want for example to:
- handle accounts that have lost their second factor in an way appropriate for your business
- decide what to do with accounts who don't configure it. If e.g. you want to send them authentication codes via email or SMS that's another can of worms.
Let alone the simple things such as making sure that your implementation works with the various TOTP apps
Any of the latest models can one shot a modern 2FA workflow given the right context in a sane codebase.
The critical part is providing it a way to validate its work end to end. Without that, it's similar to asking a human to implement a feature with pen and paper.
> The critical part is providing it a way to validate its work end to end.
Yes! Part of implementing it "one-shot" is actually a loop of planning, implementing, testing e2e on various devices and various edge-cases. It's not just writing the code, and this is not how "vibe-coding" works nowadays. It's not just writing code anymore, this is why most providers worked on their computer-use support too, not only for doing tasks, but also for being able to check and test the work they do e2e.
If you're not doing anything that matters, 2FA is easy. If you're doing something people actually care about, you're going to have to answer real world questions like "how do we provide support for this", "do we force certain roles to set up 2fa", "what if someone loses their phone", etc
I just asked the model to implement 2FA and it did address all the points you've mentioned.
EDIT: Support was not the case, because the app is self-hosted, but the docs should indeed provide instructions for recovery if both authenticator and recovery codes are lost.
If the problem and implementation is so well defined, and "determnistic", this means that LLMs should also be able to just "write code" from specs, without thinking.
The limiting factor of development (for money) is good ideas, or valuable ideas. If you have 5 features you want, but only time in a month for 2, then that forces you to choose the best 2, which come with the tech debt, support and opportunity cost.
Removing the opportunity cost doesn't eliminate the other two costs of a feature
This actually sums up a lot of what I feel about AI. For everything. For flyers, menus, all the rest of it.
It always only took a few hours. And yeah, whatever, sure it adds up. But now you've got this dogshit looking flyer outside your restaurant, and it would have taken you like 45 minutes to adept a Canva template.
For AI, the skill loss and all the rest of it, the lack of control, the lack of knowledge of the codebase. It doesn't feel like saving the few hours is ever worth it.
“ There were tasks I could have done in 20 minutes easily, that took 5 minutes of an AI agent, and then 2 days for me to review.”
This is using AI for productivity in any domain, in a nutshell. I just wrote a book using Claude as an experiment, and while the thing got done and it was an amazing tool and a great experience, what I’m left with is a book where every line needs rewriting, there are logical inconsistencies throughout, and the style is so bad it should actually just be binned rather than rewritten.
I noticed lately that recent LLMs write very short sentences, sprinkling so many periods over one paragraph. I'm pretty sure that this is some new regression that we're having with new models.
That's a side effect of people bashing the em-dash and the labs rushing to correct. The period is the most common replacement (along with some minor tweaks to sentence structure), so now that models are being RL'd away from the em-dash the models are overusing a new construction.
That's stupid. People didn't bash the em dash because it was an em dash. They bashed it because it made it obvious it was AI. If your product is so good why are your customers ashamed of using it?
Honest take: people aren't ashamed of using AI, they're trying to avoid being cancelled by rabidly anti-AI ideologues who would hate AI output even if it was the best thing they'd ever seen.
It’s not that it’s intractable, and I genuinely enjoyed the process working with Claude. But responding to the initial post – using Claude I managed to do three months work in about two weeks, but at the end of that I then realised I probably had three months of improvements and rewrites and corrections left to go if it was going to be to be a book worth anyone else reading.
> I just wrote a book using Claude as an experiment, and while the thing got done and it was an amazing tool and a great experience, what I’m left with is a book where every line needs rewriting, there are logical inconsistencies throughout, and the style is so bad it should actually just be binned rather than rewritten.
How was this a great experience if what was produced needed such extensive changes that your own assessment is that it should be thrown out? At what point is the necessary rework so much that the thing being reworked didn't really contribute much to the end product at all?
It was really interesting in having an assistant who was completely on the ball and up to speed, never forgot, could pick up from where we left off days ago, could produce and summarise arguments… but the issue was that the amazing assistant could only really work one chapter at a time even with a plan, and changing one chapter would often break things said in other chapters, and their style of writing was such that the resorted to cliches, bad metaphors, and generally bad or repetitive prose. So the grammar was fine, the style was bad to the point where the whole work would not be something I could have my name on or near. I really could come back to it, just having to retype everything in markdown made me see that the project had legs and the topic is sufficient for a book length treatment, but even with the help of Claude I have a few months work to do to get it done and out there. Just it’s a different few months work to the work I would have had without Claude. I could also have attempted to pay Claude thousands of dollars to see if it worked better, but the book is not likely to recoup what that would cost.
I don’t see how that’s possible. When I am doing a comprehensive code review with rigorous functional testing of another developer’s work, it usually takes me around half as long to review as the developer took to write it. That includes the back and forth of MR issues and fixes. If AI writes it why would it take 100x longer to review than write it? At worst case it’s just a draft of something I can develop myself, so it shouldn’t take longer than 20 minutes. At best case it is a code review exercise so it takes me half as long.
AI can produce for you an amazing jpeg of an oil painting you’ve ideated together. You could print it out on a large format printer but you’re still only holding a printout of an AI oil painting. To actually make a piece of art that’s worth being on a wall and standing as an artwork, then you still have to paint the painting using oil paint.
Maybe robot arms can solve this last part one day.
Depends on how the AI is used. If used intelligently, for short, readable code snippets, reviewing and understand is easy.
If used naively, where AI spits out 1000s of lines of code, that is far from perfect, written in a style that might not be what you are used to, it can take longer to parse, than if your colleague of 2 years wrote it.
That's not surprising, I've used LLMs to write several chapters of a book and it's many times more difficult than getting them to write working code. It's not a task that they're well optimized for but the biggest hindrance is that there are practically no tools that allow you to validate prose especially at the lengths required for a book.
Getting a good writing style out of them requires careful prompting and many corrections, their default writing style(s) are so highly reinforced by training that they will always tend to drift back to them. Maintaining continuity requires you to create a lot of documentation outside of the text itself. It's a much more manual process than working on a codebase where you've set up a lot of automation and tooling that allows them to check their own work.
Edit: it's also worth noting that many LLMs have gotten much worse at writing prose as they have gotten better at writing code.
This is the way. Basically, what determines when to use AI or not is what you enjoy about the creative process. Do you only care about the result, use AI, and then spend hours (or days) fixing errors, tweaking, rewriting, using other AI:s to validate and improve the first AI etc. You get the result, and your activity consist of arguing with AI:s.
If you enjoy the craft and the creative process of actually coming up with new thoughts, instead of relying on the probabilistic combinations of thoughts of others, then you can just as well do it yourself and have full control of the process.
I use AI for low value work with dead lines, where the customers don't really care about the result either. For the golden services and customer engagements were I can tell the customer cares deeply, I use little to no AI, and then get a deep sense of fulfillment due to a job well done.
> I stopped reading those descriptions, like, I told it what to do, I assume it did what I said. The description is for others.
If you cannot read it as the author, what hope do I have to read and make sense of the wall of text which doesn’t seem to describe what I actually need to start reviewing.
I really really encourage everyone to write their own PRs. If you cannot succinctly describe it in a way another human understands then you don’t understand your own change and you should withdraw your request.
I think that comparing AI to cocaine is a really good analogy. It gives you that feeling that you are amazing and can do anything, but it's just a feeling, in the end you are just high and sooner or later will have to come back to reality and face a bad implementation or a hangover
I'd compare it to bath salts (as in α-pvp). I have an unforgettable experience seeing a substance abusive acquaintance of mine feverishly trying to reverse engineer a Doppler radar's output, he was just trying to read raw hex stream of data and find patterns in it.
"See?? Here's that DEADBEEFCAFFEE again! Look! Again! The FECEFACCAFFEC7!! I'm so close to crackin' it! Aha.. Aha.. ABEBE23.. BECACA17.. 1337C0C.. It all clicks in place, don't you see? I'm totally getting it!"
He was all bubbling like this throughout the whole night until his brain just issued a shutdown to let the body rest a bit. That was truly a horrible sight.
I remember him every time I see instances of AI psychosis around.
For most folks here basic smartphone with tiktok is cocaine. No basic discipline and self-control. Plus they believe everything "expert ai" tells them, no critical thinking, independent verification...
Why don’t you start a company where AI is banned. Surely it will do much better. In fact, you should also believe that most companies will bad AI for the same reason.
Smh new conspiracy theories every day. “Ai is actually a drug and you only feel that it helps you but it doesn’t”
I get the sentiment but really you can't argue you are nearly as productive from a business point of view without LLM agentic assistance. Sure do a hand code Friday to keep skills up similar to how a airplane pilot hand flies in the clouds every now and then to keep up skills, but autopilots most of the time.
Only a fool would believe that without actively coding you can produce good designs. If you don't code, your overall software engineering skills are atrophying.
Okay, but why? This seems to be based purely on presumptions and guessing. Every attempt I've seen at actually measuring it has found the opposite. At some point there's a "code quality of the gaps" going on that I think comes down to "code is designed in a high quality way when I've internalized the design, and poorly when I haven't", which creates a self fulfilling prophecy when one thinks reading code written by an LLM is below them.
Ease of implementation is a decent indicator of good design. If you're delegating implementation to a machine that WILL implement whatever you ask it to implement, however badly designed it is, you don't get that signal at all.
Where I find LLMs most useful is maybe not even writing code (though helps with boilerplate and test cases, mechanical refactoring, translation from one form into another, rebases and conflicts), but debugging weird production issues, where I have to pull data from multiple places (with often horrible UX) and correlate the data and logs and code. Just need to be careful to follow its reasoning as it can easily go down the wrong route if it misses some important part of the contex, but an SME in the area spots that and directs the agent accordingly. This cut down time for investigations quite a bit.
I also had similar feelings recently. I think the article is good and captures many of the issues I have with the current state of AI development, but I feel like the conclusion/reaction is somewhat exaggerated.
Of course if someone wants to stop using AI completely that's a completely valid decision[0], but I somewhat feel like AI is just a tool that can be easily misused.
I constantly have to review giant PRs and I noticed that I'm handwaving them more and more often. We went from almost no commit messages to walls of text that no one reads. We're starting to become bottlenecked on reviews because code is coming out too fast.
But at the same time, these are mostly issues stemming from a lack of understanding of why some of the standards/processes existed in the first place. If a developer thinks the commits have to be written just to tick a checkbox, they won't care about making them readable.
And at the same time, I'm getting a lot of value from AI, in tasks that do not necessarily have such adverse effects:
- I can create quick tools to test something, or parse/process some data. In these instances code quality is not important and I don't really want to spend hours on developing it myself (just to feel accomplished?)
- I can research issues in our codebase by just providing a log file. It's not always gonna be accurate or correct but it often gives me a very good starting point, almost always quicker than I could've done it myself
- While I do not use AI to completely generate ticket descriptions, asking it to generate me a body containing the relevant code snippets and references allows me to focus on verifying that what I'm writing is correct and understandable.
Etc etc.
So I don't know if it's just the nature of my work, the fact that I have a different skillset, or different priorities. But it somehow feels weird to me wanting to completely abandon AI just because in some cases it can lead to frustrating consequences.
[0]: I too just started a new project where I'm forcing myself to use absolutely no AI!
Implementation reviews are not useful anymore. CRs should be replaced with design reviews where reviewers validate the sanity of the specs and the coverage of the tests
I vehemently oppose delegating our brains to the AI.
I agree with the article in spirit.
> let me tell you about this experience, and how it was turning me dumber, lazy, and a worse developer.
Of course the article discusses from the point of the agents.
But I digress to the topic of building in general with AI.
My experience has been the exact opposite. A new idea (usually related to correctness or architecture) is discussed with LLM first where LLM defaults to average Joe idiotic bullshit pushback.
This frustrates me and abuse the LLM for being idiotic explaining how, thus resulting in a finer refined more concrete form of the abstraction leading to even more insights.
The LLM remains an idiot. But a useful idiot nonetheless.
My workflow leans on AI for some tasks: review what I wrote, drop me a one-off script (this one is the generative exception), and so on.Or even initial scaffolding.
For the rest I do not. I do not place AI-generated code anywhere.
You lose all control AND UNDERSTANDING.
When things go wrong it gets very messy.
I will keep doing this, I think it works well, I emjoy programming and I think it is productive.
For testimg I tend to write randomized testing, which takes a bit of design but oncr you have it, well, it os test-generatove and increases the quality of checks.
I think there might be (dare I say) a middle ground to get the productivity of the llm, esp as we evolve them, while still maintain a global and even fine-grain comprehension of a code base.
It is not a simple change, however, but a fundamental one.
Overall I think we are still living in the past and try to apply ourselves to the future. But if the ai craze is to be taken clear-headedly for what it is, it is a complete break from the von Neumann computer and all its resulting artifacts. So why should we use the same tools?
It’s not just coding that’s affected by the skill degradation issue. As a sysadmin and jack of all trades IT engineer over reliance on AI has unsurprisingly led to a serious knowledge dip.
I see great engineers troubleshoot everything by pasting logs into the prompt and blindly accepting the answer. Zero added value while they ctrl-c ctrl-v themselves out of a job.
The point about multitasking getting out of control very much hits home for me. This summer my team tried going hard for agentic coding. Within a month we had 6 people each juggling at least two projects at a time, all the time.
Soon we rediscovered Little’s Law. WIP was piling up and we were getting overwhelmed at the integration phase, and realized that we had got really good at starting projects but actually finishing them was a struggle. Tickets were moving fine, of course. Our rate of generating code and committing PRs was through the roof. But getting actual projects to a point where the stakeholders and customers were happy with the result was just not happening.
So now we have gone back to strict WIP limits and requiring every non-trivial project to have at least two people collaborating on it. The rate at which we are churning out code has gone back down, along with the token bill, but the logjam is clearing. Better yet, the stakeholders, who never cared about our quantitative velocity metrics in the first place, have eased off on complaining that we aren’t getting anything done.
> you stop questioning, and start accepting as good some code you would have never accepted, just because you cannot tell why it’s bad. You have lost control
I have not lost control.
I my most prolific project I do not review the code, but I QA test extensively.
In other projects at work, I review the code.
I prompt to simplify, I challenge implementation that solves irrelevant edge cases, resulting in much smaller PRs.
In projects where I do not work alone, I still write two line PR descriptions myself.
Dumping paragraphs of AI output into the description of a MR where I ask others to review I consider disrespectful.
---
> If you turn off your brain, and relax babysitting AIs, you’re not getting any better. You’re losing value
I'm hardly turning off my brain here.
As the author notes, the context switching and so on takes concentration and effort too.
I can say without doubt that I am more productive than ever.
I am getting better by the month, and I am not currently losing value, until the AI fully replaces both me and the author.
I find it strange to see people writing articles like this as if everyone has used AI for decades. I've programmed for decades. I thought I retired three years ago but got an offer I couldn't refuse. Already there were little things I'd forgotten how to use.
Over the past six months I tried using Claude, chatgpt, Grok and Gemini. At best I got reminders of how things worked. People online say they use them to write their code. The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
At most, I use these tools as search engines. Even then some references are poor.
I'm starting to think this is becoming a sad, sad world and AI is just the new TV of the programming world.
My experience was similar to yours, upon till earlier this year. Now the code which comes out of Claude code is acceptable most of the time.
It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.
Still saves time compared to writing the code by hand. Especially for tricky things, where type checking and tests can verify correctness.
>It usually takes me two or three iterations to get there though.
That's the whole problem with AI imo and I think the slot machine analogy is mostly right. It's just not predictable whatsoever and then you won't even be able to review all of the thousands of lines of code that you generate. You never know what you get and this has some serious safety implications that are not acceptable. Yes, it's fine as chat to just generate some snippets here and there that can be easily reviewed. Agentic coding is horrible imo.
> It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.
Am I crazy, or hasn't it been this good for a very long time? The ability to get code out of it after correcting it, correcting it, specifying and respecifying, instrumenting and reinstrumenting, reviewing and demanding refactoring, "no not like that", etc. has been there (for me) nearly from the start. They're great when you're working on something you're not an expert at, and fine if you're working on something that you are pretty good at (if you like to have a cheerleader that sometimes trips and falls on her face.)
My problem is that they don't understand some things that are very clear, and after you've corrected them to get them on track, you're exhausted. You put all of those corrections into a file for them so that when they make the same mistake in the next session you won't have to wrack your brain correcting them, then they a) ignore the file, or b) make a bunch of spurious objections because they were all ready to object and the saved response killed all of the content of those objections. They still seem remarkably dumb.
>>after you've corrected them to get them on track
They all still insist on serving bash code for FreeBSD where bash is not native. I've had to correct them all this whole year and they apologize profusely but, the next time, still use bash.
Note: you can install and run bash on FreeBSD. It's just not in the base installation or usage and I do not use it there.
I've explained to Claude Opus and Fable how rg is recursive by default so they shouldn't run it with -r. It's in my CLAUDE.md file. It's in a memory too. And still the newest versions of those models make the mistake several times per week.
You would probably be surprised by how many jobs require that you use AI - I even had an interview where it was strongly encouraged to use it during the technical phase. I guess what I’m getting at is, for many people this isn’t really a choice.
The phrasing makes it sound like you are using them through a chat interface. Have you tried something like Claude Code? The real value only starts materialising once it has sufficient access to your environment.
I find LLMs are a hit&miss. Can be great at rewriting a function from lang A to lang B. Fails completely at a refactor. Great at coming up with a bunch of networking hosts/IPs to test a particular func. Fails when doing simple validation. Great for prototyping an alternative UI but not even remotely production ready. Always confident regardless of whether the result is correct or false. Run it three times with same query get 3 different results etc. Plenty of claims online how people have become a 1000x developer but 0 actual examples of working code in production. Given they're stochastic by design all of this makes sense in a way.
There's no clear path moving forward. Overreliance on LLMs means your knowledge will exponentially decay and you will absolutely crash any future tech interviews becoming unemployable. Not using it for some quick wins feels wasteful. Finding balance between the two extremes in addition to all existing software development woes is really hard.
I mean, that's why it's not writing good code then, since if you're not using it with an actual harness then it can't read your current code and contribute. Also there is a huge gap between models made more than 1 year ago now versus today's models.
> The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
For me, it's like reading prose with "Not X, not Y, just Z": it's technically correct, but grates like fingernails on a chalkboard.
I have real trouble sometimes, reading what SOTA (Fable, etc) generate - not isolation or partitioning.
The worst was the planning an AI does. When I plan something, it'll be split according to data structures "An object to hold this, an intermediary for the obejct to talk to ORM, a serialiser for it that does this", etc.
The "plans" from SOTA are sometimes just hilarious. It'll go "phase one, implement these user-facing features. Phase two, implement those user-facing features", etc.
That's not a plan, it's an aspiration! A roadmap maybe. A plan, in my way of working, is a blueprint of where all the data goes, with algorithms connecting them. With AI, the data is incidental, the algorithms are incidental, only the goal (in the form of tests) remain. It'll work out some spur-of-the-moment idea around data at the time of writing.
So yeah, I do what you do and throw their stuff away. Currently having more success laying down a skeleton manually and then asking them to add a single feature at a time.
1) The size of task the AI has been given to do appears to be too big, which is why it looks like a roadmap/aspiration. You can ask it to implement a single feature or even a single part of a feature. Just keep cutting the size of the tasks until you become comfortable with it.
2) You like plans in a particular way following data structures/data etc. have you actually told the models this. It doesn't magically know. For the record the fact that the models focus on the end behaviour covered with tests is the way to to it imo. The actual implementation is less important and can be refactored as you wish fairly easily with the AI with the tests ensuring the feature still works.
I do agree though that the current SOTA models are very keen to just implement absolutely everything straight away without explaining/exploring properly. You can customise it fairly easily by using the various skills/agent/claude files to remember your preferred workflow, imo the agents adhere to theses better than they used to even just a few months ago.
With Claude and Codex, you can specify exactly how you want the plan and code to be researched and written. That goes into your rules file. (Claude.md etc). Also, make them read the existing code so they can follow the patterns.
i'm using LLMs/GenAI to do one thing: write unit tests.
since i really don't follow the idea of "writing unit tests first", i implement the feature, test as a user, and then use LLMLs to write the basic unit test. then, i will write more tests to make sure i'm covering everything.
feels like an ok-ish compromise because LLMs can do some ok job with defensive code, while i maintain the main implementation and more advanced test scenarios.
I think part of the problem -- answering all of why people are somehow OK with this, and even why the AI does this in the first place -- is that the majority of software developers never got to the point of understanding any of this: the lack of understanding how to carefully structure data surrounds a question they don't even know how to pose, much less answer, and so "write some tests then incrementally try to make them work without breaking any of the existing tests" is the only way they know how to develop at all. In the end, that means that, with the current state of the art (which might change, of course... potentially quickly), your strategy of treating the AI as a junior engineer who fundamentally isn't ready to do your senior-level architecture job makes a lot of sense.
> Over the past six months I tried using Claude, chatgpt, Grok and Gemini. At best I got reminders of how things worked. People online say they use them to write their code. The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
I've been finding AI either works great for people or is just awful, and I'm having a hard time pinpointing where the problem is. I don't think there's a big intelligence gap between us, so it's not like others wouldn't be noticing the things you're claiming when using AI. I genuinely believe your experience has been bad, but the part I'm trying to figure out is why it's been bad.
So my questions are: have you given things a fair shot? Have you tried turning things on its side to see if approaching AI usage a different way results in significantly better and more useful results? Do you actually put thought into what you're writing in your prompts (i.e., if I took your prompt and gave it to a junior dev, would they know what to do)? Are you just using the free models available online or do you have a dedicated integration into your development environment through Github Copilot or other vendor(s)?
I mean what I'm about to say with zero offense, but this honestly reminds me of how the elderly generation says, "technology doesn't work for me because it's always broken", and when you go and try to coach them on how to use the technology that's problematic for them, it's as if you're casting black magic.
I don't think AI is the second coming of Christ or that we're anywhere near AGI, but I do believe it's an extremely useful tool that people should be using.
The biggest problem with AI isn't being able to do things. You can do them. The question is "should you?" I had a peer dev this week put in a commit that was 1.2mb (this despite an AGENTS.md saying not to do exactly this) of plan documents and ~20 lines of code. The conversation on the PR review was probably one of the best learning experiences for both of us. It was all about the ramifications of a book's worth of AI pontificating about what it would do and what succeeded and what failed. And we were able to validate that that plan document had huge side effects as we prompted with it in the repo. As we read the document we realized that it was just 1.2MB of smart sounding gibberish and maybe two bullet points of signal.
One very unfortunate curse we are stuck with is LLM providers pulling the rug from under us and swapping models with quantized versions during peak demand or on monthly plans. You never know if that's the reason AI starts writing shitty code or it's just the context size that has grown. On top of that there is the queuing mechanism which makes tasks take longer. Sometimes AI is super fast and sometimes a simple task takes 10, 15 or even 20 minutes of "thinking". You may not realize this if you are just using your same subscription but if you switch between providers you can immediately tell. I advise everyone to invest $5 in openrouter, deepseek and qwencode. Just do an experiment and use same model (deepseek-4.1 flash) asking same prompt on same code, then look at the result. Spoiler: you will see trash coming out of openrouter at 1-5 tokens/second, you will see slightly faster and better quality output from qwencloud and when you get to deepseek API where you are paying per token you will not believe this is the same model. Because it isn't.
I don’t mean to advertise OpenAI - let’s make it clear, fuck OpenAI - but I’ve never seen a degradation like that in Codex. All models have always seemed completely stable over their release lifetime. Meanwhile, I rolled back my attempts at using open weight models because providers start throwing “too many requests” errors after just a few requests and the pricing is roughly 10x worse for same model quality, except the inference is much slower. Getting your weights silently downgraded sounds like fun.
OpenAI does the same, the day Astra released I asked it to make a game, it made a really detailed beautiful blender model and some gameplay elements.
A week later, same prompt, really low poly blender model. Either they reduced token usage per person, or they quantized the model, idk, but it really doesn’t work as good as day of release anymore
I keep hearing these anecdotes, but never see it in practice, nor in benchmarks. Do you think it's possible that there exists someone who asked Astra to make a game and they got an ugly one on day 1 and a nicer one later? And don't you think blender modeling is a bit of a "svg of a pelican" problem? It's not what the type of task the model is trained to be doing, and I wouldn't really expect the results to be particularly good or reproducible.
I think there’s a critical difference between AI automation for software development and previous rounds of similar automation, like CNC machines automating manual machining.
The barrier to software development has only ever been computer access and knowledge.
With AI, it’s roughly computer and internet access.
This means we’re getting a lot of people who aren’t good at either software development or AI automation playing with both. It’s the majority of what people seem to talk about.
I don’t think this is bad, but I do think it’s making real progress in AI automated software development on teams which are good at both much less visible.
A conservative team member of mine estimated we’re working at 200x speed these days, compared to 2 years ago. And we still see ways we can improve. A parallel team is only seeing an 1.2x increase, but they are unable to modify their architecture around AI.
Some of this is shifting roles. You can have a mildly technical domain expert vibe code the frontend for a new module. The more AI automation you’ve architected for, the faster they can go and the higher quality the outcome. We’re experimenting with mixing vibe coding with specifying formal requirements to push this further.
This works well. And now you’ve cut dozens of rounds of the PM not knowing the right shape for the new software out of the process. Even if we threw the end code away, this would save us tons of time.
Playing an instrument vs electronic/computer music.
We do forget skills we don't practice, especially fine motor skills (like playing the guitar or typing code).
There's inherent pleasure in playing a musical instrument - practicing improves fine motor skills and produces satisfaction.
You can play for yourself and that can be a great experience.
Often people create music for other listeners - and now the satisfaction comes not just from your skill, but from how the music impacts your listeners.
They say you can put more of your 'soul' into music made with an instrument, but I'd say there's quite a bit of electronic music with just as much soul.
People who create electronic music don't generate any of those sounds with their fine motor skills, but they do have a plan about how the song progresses and what emotional state it elicits in users.
That's why you have DJs which are more popular than others.
If you stop playing the guitar for a year, then pick it up and try playing something, you will feel very rusty. But give it a week of practice and most of your skill comes back.. and in 1 month you're back to your peak skill.
I guess my point is - If you go full on agentic, you'll loose some of your coding skill, but you can get it back fairly quickly if you go back to manual coding. On the flip side, you get better at using AI if you use it, so your thinking is at a higher level, but you give up understanding the low level details of how exactly the code works.
Either way you're making 'music', albeit a different kind of music.
I lost my programming skills entirely due to a brain injury for about a year. They did come back though in full better than ever! So I don’t see why AI would do worse damage than a brain injury.
Engineering is not music though. If you're building a skyscraper, and your tower crane breaks, you could go old-school like they did with the pyramids in ancient Egypt. But why would you?
Now, manual labor does have its place as a form of art--take high-precision hand-built timepieces for example.
Ha, I could talk about this framing for days as I think about it a lot.
To add some points on he other side of this analogy:
There is not a lot of purely electronic music that has stood the test of time, at least not when it comes to popularity or, more relevant to the metaphor, profitability. There is usually at very least a human voice in the (literal) mix, but more often than not there are also traditional instruments mixed in.
Take this next point as you will as I am being a bit tongue-in-cheek: While making music-making more accessible to more people is totally great, if I could go a week without hearing a variation of the phrase "Check out my dark ambient drone project!" I would feel oddly accomplished.
Most importantly, though:
> But give it a week of practice and most of your skill comes back.. and in 1 month you're back to your peak skill.
This is only true if you had the skill to begin with. For many electronic musicians, by which I mean junior developers, this is not the case. Does it matter? As a 45-year-old traditional musician... er, I mean hand-coder... I think so, but also ¯\_(ツ)_/¯
> It started reminding me of the strategy where Google lowered the quality of the search results, forcing users to search several times, and see several times as many ads. And if that worked for Google, how is it not going to work for AI? Specially in the uncertain financial times the AI companies are going through, do you really think they would not do it? Come on. They will do this and more.
We’re using an online, undeterministic, black-box middleman to generate our code. It’s 100% Trust me bro. No proof, no scrutiny, no guarantees.
The bottom line is, if the code matters, someone needs to take responsibility for the changes. You can't take responsibility without understanding and understanding takes a lot of time.
AI helps a lot but for code that matters, use it to fill your context window, not the other way around. For code that doesn't matter (prototypes, speed runs, etc), vibe away - it can be super fun!
My employer pays for Claude, and my approach is to use it as a better Google search. It's often not better.
Just today it made three glaring mistakes in one session:
1. It read a file in the wrong directory, because that file had the same name as the file in the right directory. It apologized when I challenged it, promising me that it would remember to "read import statements" in the future.
2. It miscounted the number of times a function was called in my repo. It said 20, while my built-in IDE search accurately showed 17. Again, it apologized when I corrected it.
3. It referred to a variable by name that does not exist anywhere in my code. It apologized, and said it was referring to a variable used internally by one of the third-party packages installed in my repo.
So many apologies.
It's the little things like this that remind me on a regular basis just how little I can trust artificial "intelligence."
Are you using the best models? I feel like my experience is completely different. I am an expert in a small part of a huge monolithic codebase that I’ve worked in for years. When customers report issues that would take me days or weeks to debug, AI can figure it out on the first try.
What model are you using? The early stopping after hitting a wrong directory instead of continuing on, and the hallucinations suggests you are using a old model.
I call it the redditification of HN. The trend has been massively increased with Corona, and now post AI it's essentially the norm.
People can't even discuss about any politics anymore.
Back in Obama's days there were always interesting discussions in the political threads and they were rarely insta flagged. And it was mostly nuances wrt business needs and what that means for our societies. The PRISM news also frequently got heated, and still the technical.
Extremely noticable compared to the platform is today.
Tbf though, HN always had a few topics it was extremely irrational about.
As one of the users that moved to HN when Reddit closed access to third party apps it’s also quite literally this. I apologize for any reduction in quality of discourse I might have caused.
What made you want to move over? Are you just desperate for a venue to talk, desperate enough that if your venue of choice changes its API you'll go to another place with other norms?
>It's a small tangent but I am constantly taken aback
I'm amused by your surprise.
>Its not even like its less techincal
I'd wager that, actually, it is less technical. We constantly see otherwise very techinical people here poking their heads up and admitting that they haven't been writing any code for 6 months or more, and the ones that brag about it are seemingly unaware that they've been reduced to being a technical PM (the ones that contest this probably havent worked with capable technical PMs). No one wants to engage with vibe-coded Show HN entries because the poster may not grasp the implementation. No one appears to be doing (or sharing) anything super novel with all this coding superpower they have suddenly attained so there's nothing technically interesting to talk about. The last time I found an AI application submission interesting was the one where the person was trying to turn their pet's random keyboard typing into a language (if I remember correctly).
If the guidelines banned any AI comments that didn't preface their comment with the model and version of AI they used, their application domain, and the programming language being used I'm sure there would be less contentious dorky debate and more technical/practical discussion.
And since many here don't see the endgame with AI resulting in anything good for their career or society, like the endless remote work debates they comment because from a strategic point of view they do not want to cede the narrative to the other side on such an important topic. understandably. hence more dorky debates.
I am skeptical of letting AI do everything as well but this does seem like your using a less capable model. Fable doesnt really do this. In my experience it does just "get" what to do given a clearly defined and measurable outcome
I have had a ton of success in exposing AST-based tools to agents when working in large, old codebases.
Without them, not only do agents get simple things like function call counts wrong, they tend to return different results. I use this as an example when showing people how the tooling works.
Grep is fine for simple use cases. A step up from that is ast-grep and I need to explore this tool more. But I had the most success building a small pipeline that reads the old code base, parses it file by file using tree sitter, and then loads it into a SQLite database for querying. For example, I have it capture construct definitions and usages and represent those as directed edges and nodes in a single table depending on the node type. The agent is instructed on how to query it and perform interesting queries like build call graphs, or determine dependencies between domains (modularity is not great in this codebase) which is helpful for us to extract around capability lines.
I also calculate fitness statistics, and have some code to capture specific details and knowledge about this very old framework that short circuits agent work in the future. We have some “interesting” magical libraries and functions that block static analyzers from going beyond the call site. This is mitigated, and means agents don’t have to “guess”.
Making all of this available to the different team members at my work has been pretty helpful. It’s faster (fewer tool calls), cheaper (fewer tokens), and accurate.
I'm amused at how many hacker news accounts saw this and immediately jumped to the conclusion that you either were using the model wrong or using the wrong model.
ive been regularly seeing this exact reaction online since November 2025, sadly :/
I still do upfront planning and then do careful review of all AI content. The behavior the parent described above hasn't happened for me since around Opus 4.6.
The most telling one is counting function invocations wrong, because that's simply not how models work anymore. They use terminal commands and Python scripts for research like that (if not an LSP, if one took the time to set up their tools most effectively).
Combined with their attitude, I have little doubt that the parent has disabled tool calls, is working in some janky Harness like chat/Duo/Juno, or is using a severely reduced or outdated model.
Exactly this. If you were using the exact model today that 6-12 months ago people here were telling you "absolutely does not make this kind of mistake anymore" they'd tell you the same thing again, just replacing $OLDER_MODEL with $NEWER_MODEL. Why did $OLDER_MODEL not make this mistake 6-12 months ago, but it does now? The answer to that question is obvious, but AI-bros cannot understand that.
It's basically impossible at this point to take these people seriously anymore.
> I'm amused at how many hacker news accounts saw this and immediately jumped to the conclusion that you either were using the model wrong or using the wrong model.
Yes, so I'll disclose it: I was using Opus 5.5, on medium effort, in Claude desktop, which has full access to my entire repo.
Now everyone can officially lambast me for "using the model wrong or using the wrong model," exactly as you say. But I find it quite interesting that one of the commenters here assumed I was using Opus 4.6, because these mistakes sound like that old version! I'm using the version released just four freaking days ago!
I expect some commenters will now say, "Oh, you should have been using Fable, you old boomer." To them I say: "Yeah, well my employer doesn't allow me to use Fable." And, in jest: "Now get off my lawn."
141 comments
[ 0.28 ms ] story [ 14.0 ms ] threadThe real challenge is forming the new ideas in the first place and most of those new ideas coming either from using the code as a product or time spent maintaining and refactoring large code.
Anyways, if you want to continue on the path towards regaining control and take it to the next level I wrote something similar here: https://blog.sharefile.systems/be-brave-go-low/
Now I can just say "add 2FA" and in 5 minutes, while I test something els, it is done.
It also made iterations a lot faster, you can try something out, see how it feels, if it doesn't work, you can just trash all the code and start again.
I have spent two weeks using opus just to write a plan/design for 2FA and iron it out until review (about 7 of them) doesn't flag it with 20+ problems (with security holes of various sizes), for which I had to guide it through to not turn it into a mess and whac-a-mole.
It's just a secret key that an autheticator uses to generate a time-based code, which the app can validate and before completing a normal log-in flow.
What model did you use?
Astra xhigh on fast mode can probably indeed one-shot that in 5 minutes.
Plus optionally QR image generator to easily add that key to the authenticator app.
There are already many libraries doing 2FA, but implementing it in any language is quite trivial, right
No?
Aside from the fact that the implementation must be secure, you want for example to:
- handle accounts that have lost their second factor in an way appropriate for your business - decide what to do with accounts who don't configure it. If e.g. you want to send them authentication codes via email or SMS that's another can of worms.
Let alone the simple things such as making sure that your implementation works with the various TOTP apps
The critical part is providing it a way to validate its work end to end. Without that, it's similar to asking a human to implement a feature with pen and paper.
Yes! Part of implementing it "one-shot" is actually a loop of planning, implementing, testing e2e on various devices and various edge-cases. It's not just writing the code, and this is not how "vibe-coding" works nowadays. It's not just writing code anymore, this is why most providers worked on their computer-use support too, not only for doing tasks, but also for being able to check and test the work they do e2e.
EDIT: Support was not the case, because the app is self-hosted, but the docs should indeed provide instructions for recovery if both authenticator and recovery codes are lost.
I believe "writing the code" means literally just "writing the code" not thinking how to implement it.
If the problem and implementation is so well defined, and "determnistic", this means that LLMs should also be able to just "write code" from specs, without thinking.
Removing the opportunity cost doesn't eliminate the other two costs of a feature
I'd expect it's in the tens of thousands, given how effortless you find it.
https://github.com/prettydiff/aphorio/commit/0c730389c9e4e69...
It always only took a few hours. And yeah, whatever, sure it adds up. But now you've got this dogshit looking flyer outside your restaurant, and it would have taken you like 45 minutes to adept a Canva template.
For AI, the skill loss and all the rest of it, the lack of control, the lack of knowledge of the codebase. It doesn't feel like saving the few hours is ever worth it.
https://www.youtube.com/watch?v=b6URa-PTqfA
https://youtu.be/Jt0OoXluC8g?t=248 at 4:08
This is using AI for productivity in any domain, in a nutshell. I just wrote a book using Claude as an experiment, and while the thing got done and it was an amazing tool and a great experience, what I’m left with is a book where every line needs rewriting, there are logical inconsistencies throughout, and the style is so bad it should actually just be binned rather than rewritten.
Have you noticed it, too?
How was this a great experience if what was produced needed such extensive changes that your own assessment is that it should be thrown out? At what point is the necessary rework so much that the thing being reworked didn't really contribute much to the end product at all?
Maybe robot arms can solve this last part one day.
If used naively, where AI spits out 1000s of lines of code, that is far from perfect, written in a style that might not be what you are used to, it can take longer to parse, than if your colleague of 2 years wrote it.
Getting a good writing style out of them requires careful prompting and many corrections, their default writing style(s) are so highly reinforced by training that they will always tend to drift back to them. Maintaining continuity requires you to create a lot of documentation outside of the text itself. It's a much more manual process than working on a codebase where you've set up a lot of automation and tooling that allows them to check their own work.
Edit: it's also worth noting that many LLMs have gotten much worse at writing prose as they have gotten better at writing code.
If you enjoy the craft and the creative process of actually coming up with new thoughts, instead of relying on the probabilistic combinations of thoughts of others, then you can just as well do it yourself and have full control of the process.
I use AI for low value work with dead lines, where the customers don't really care about the result either. For the golden services and customer engagements were I can tell the customer cares deeply, I use little to no AI, and then get a deep sense of fulfillment due to a job well done.
In effect, everything is classified as: "low value work with dead lines, where the customers don't really care about the result either."
If you cannot read it as the author, what hope do I have to read and make sense of the wall of text which doesn’t seem to describe what I actually need to start reviewing.
I really really encourage everyone to write their own PRs. If you cannot succinctly describe it in a way another human understands then you don’t understand your own change and you should withdraw your request.
"See?? Here's that DEADBEEFCAFFEE again! Look! Again! The FECEFACCAFFEC7!! I'm so close to crackin' it! Aha.. Aha.. ABEBE23.. BECACA17.. 1337C0C.. It all clicks in place, don't you see? I'm totally getting it!"
He was all bubbling like this throughout the whole night until his brain just issued a shutdown to let the body rest a bit. That was truly a horrible sight.
I remember him every time I see instances of AI psychosis around.
Like toddlers!
Smh new conspiracy theories every day. “Ai is actually a drug and you only feel that it helps you but it doesn’t”
Tbh, I felt anxious doing it wondering if I am still able.
Of course if someone wants to stop using AI completely that's a completely valid decision[0], but I somewhat feel like AI is just a tool that can be easily misused.
I constantly have to review giant PRs and I noticed that I'm handwaving them more and more often. We went from almost no commit messages to walls of text that no one reads. We're starting to become bottlenecked on reviews because code is coming out too fast.
But at the same time, these are mostly issues stemming from a lack of understanding of why some of the standards/processes existed in the first place. If a developer thinks the commits have to be written just to tick a checkbox, they won't care about making them readable.
And at the same time, I'm getting a lot of value from AI, in tasks that do not necessarily have such adverse effects:
- I can create quick tools to test something, or parse/process some data. In these instances code quality is not important and I don't really want to spend hours on developing it myself (just to feel accomplished?)
- I can research issues in our codebase by just providing a log file. It's not always gonna be accurate or correct but it often gives me a very good starting point, almost always quicker than I could've done it myself
- While I do not use AI to completely generate ticket descriptions, asking it to generate me a body containing the relevant code snippets and references allows me to focus on verifying that what I'm writing is correct and understandable.
Etc etc.
So I don't know if it's just the nature of my work, the fact that I have a different skillset, or different priorities. But it somehow feels weird to me wanting to completely abandon AI just because in some cases it can lead to frustrating consequences.
[0]: I too just started a new project where I'm forcing myself to use absolutely no AI!
I use it to find reasoning gaps, add examples, add citations etc. The LLM/Agent can find them quicker than I.
I agree with the article in spirit.
> let me tell you about this experience, and how it was turning me dumber, lazy, and a worse developer.
Of course the article discusses from the point of the agents.
But I digress to the topic of building in general with AI.
My experience has been the exact opposite. A new idea (usually related to correctness or architecture) is discussed with LLM first where LLM defaults to average Joe idiotic bullshit pushback.
This frustrates me and abuse the LLM for being idiotic explaining how, thus resulting in a finer refined more concrete form of the abstraction leading to even more insights.
The LLM remains an idiot. But a useful idiot nonetheless.
For the rest I do not. I do not place AI-generated code anywhere.
You lose all control AND UNDERSTANDING.
When things go wrong it gets very messy.
I will keep doing this, I think it works well, I emjoy programming and I think it is productive.
For testimg I tend to write randomized testing, which takes a bit of design but oncr you have it, well, it os test-generatove and increases the quality of checks.
I think there might be (dare I say) a middle ground to get the productivity of the llm, esp as we evolve them, while still maintain a global and even fine-grain comprehension of a code base.
It is not a simple change, however, but a fundamental one.
Overall I think we are still living in the past and try to apply ourselves to the future. But if the ai craze is to be taken clear-headedly for what it is, it is a complete break from the von Neumann computer and all its resulting artifacts. So why should we use the same tools?
I see great engineers troubleshoot everything by pasting logs into the prompt and blindly accepting the answer. Zero added value while they ctrl-c ctrl-v themselves out of a job.
Soon we rediscovered Little’s Law. WIP was piling up and we were getting overwhelmed at the integration phase, and realized that we had got really good at starting projects but actually finishing them was a struggle. Tickets were moving fine, of course. Our rate of generating code and committing PRs was through the roof. But getting actual projects to a point where the stakeholders and customers were happy with the result was just not happening.
So now we have gone back to strict WIP limits and requiring every non-trivial project to have at least two people collaborating on it. The rate at which we are churning out code has gone back down, along with the token bill, but the logjam is clearing. Better yet, the stakeholders, who never cared about our quantitative velocity metrics in the first place, have eased off on complaining that we aren’t getting anything done.
I have not lost control.
I my most prolific project I do not review the code, but I QA test extensively.
In other projects at work, I review the code.
I prompt to simplify, I challenge implementation that solves irrelevant edge cases, resulting in much smaller PRs.
In projects where I do not work alone, I still write two line PR descriptions myself.
Dumping paragraphs of AI output into the description of a MR where I ask others to review I consider disrespectful.
---
> If you turn off your brain, and relax babysitting AIs, you’re not getting any better. You’re losing value
I'm hardly turning off my brain here.
As the author notes, the context switching and so on takes concentration and effort too.
I can say without doubt that I am more productive than ever.
I am getting better by the month, and I am not currently losing value, until the AI fully replaces both me and the author.
Over the past six months I tried using Claude, chatgpt, Grok and Gemini. At best I got reminders of how things worked. People online say they use them to write their code. The code they supplied to me has NEVER worked or was so convoluted that I threw it away and did it myself.
At most, I use these tools as search engines. Even then some references are poor.
I'm starting to think this is becoming a sad, sad world and AI is just the new TV of the programming world.
It usually takes me two or three iterations to get there though. Discussing design and principles before writing the bulk of the code is a must. And then a pass or two of review to weed out ugliness.
Still saves time compared to writing the code by hand. Especially for tricky things, where type checking and tests can verify correctness.
That's the whole problem with AI imo and I think the slot machine analogy is mostly right. It's just not predictable whatsoever and then you won't even be able to review all of the thousands of lines of code that you generate. You never know what you get and this has some serious safety implications that are not acceptable. Yes, it's fine as chat to just generate some snippets here and there that can be easily reviewed. Agentic coding is horrible imo.
Am I crazy, or hasn't it been this good for a very long time? The ability to get code out of it after correcting it, correcting it, specifying and respecifying, instrumenting and reinstrumenting, reviewing and demanding refactoring, "no not like that", etc. has been there (for me) nearly from the start. They're great when you're working on something you're not an expert at, and fine if you're working on something that you are pretty good at (if you like to have a cheerleader that sometimes trips and falls on her face.)
My problem is that they don't understand some things that are very clear, and after you've corrected them to get them on track, you're exhausted. You put all of those corrections into a file for them so that when they make the same mistake in the next session you won't have to wrack your brain correcting them, then they a) ignore the file, or b) make a bunch of spurious objections because they were all ready to object and the saved response killed all of the content of those objections. They still seem remarkably dumb.
They all still insist on serving bash code for FreeBSD where bash is not native. I've had to correct them all this whole year and they apologize profusely but, the next time, still use bash.
Note: you can install and run bash on FreeBSD. It's just not in the base installation or usage and I do not use it there.
There's no clear path moving forward. Overreliance on LLMs means your knowledge will exponentially decay and you will absolutely crash any future tech interviews becoming unemployable. Not using it for some quick wins feels wasteful. Finding balance between the two extremes in addition to all existing software development woes is really hard.
I mean, that's why it's not writing good code then, since if you're not using it with an actual harness then it can't read your current code and contribute. Also there is a huge gap between models made more than 1 year ago now versus today's models.
For me, it's like reading prose with "Not X, not Y, just Z": it's technically correct, but grates like fingernails on a chalkboard.
I have real trouble sometimes, reading what SOTA (Fable, etc) generate - not isolation or partitioning.
The worst was the planning an AI does. When I plan something, it'll be split according to data structures "An object to hold this, an intermediary for the obejct to talk to ORM, a serialiser for it that does this", etc.
The "plans" from SOTA are sometimes just hilarious. It'll go "phase one, implement these user-facing features. Phase two, implement those user-facing features", etc.
That's not a plan, it's an aspiration! A roadmap maybe. A plan, in my way of working, is a blueprint of where all the data goes, with algorithms connecting them. With AI, the data is incidental, the algorithms are incidental, only the goal (in the form of tests) remain. It'll work out some spur-of-the-moment idea around data at the time of writing.
So yeah, I do what you do and throw their stuff away. Currently having more success laying down a skeleton manually and then asking them to add a single feature at a time.
That's with SOTA models as of September-26-2026.
1) The size of task the AI has been given to do appears to be too big, which is why it looks like a roadmap/aspiration. You can ask it to implement a single feature or even a single part of a feature. Just keep cutting the size of the tasks until you become comfortable with it.
2) You like plans in a particular way following data structures/data etc. have you actually told the models this. It doesn't magically know. For the record the fact that the models focus on the end behaviour covered with tests is the way to to it imo. The actual implementation is less important and can be refactored as you wish fairly easily with the AI with the tests ensuring the feature still works.
I do agree though that the current SOTA models are very keen to just implement absolutely everything straight away without explaining/exploring properly. You can customise it fairly easily by using the various skills/agent/claude files to remember your preferred workflow, imo the agents adhere to theses better than they used to even just a few months ago.
since i really don't follow the idea of "writing unit tests first", i implement the feature, test as a user, and then use LLMLs to write the basic unit test. then, i will write more tests to make sure i'm covering everything.
feels like an ok-ish compromise because LLMs can do some ok job with defensive code, while i maintain the main implementation and more advanced test scenarios.
I have JIRA mcp wired up I tell agent to pick up the ticket it makes a feature. I review PR deploy to test server click happy flow through.
It works for me and company I work for.
I am always baffled by how people take their experience as „this is ultimate truth”.
When used in projects with good practices it was writing good code.
I've been finding AI either works great for people or is just awful, and I'm having a hard time pinpointing where the problem is. I don't think there's a big intelligence gap between us, so it's not like others wouldn't be noticing the things you're claiming when using AI. I genuinely believe your experience has been bad, but the part I'm trying to figure out is why it's been bad.
So my questions are: have you given things a fair shot? Have you tried turning things on its side to see if approaching AI usage a different way results in significantly better and more useful results? Do you actually put thought into what you're writing in your prompts (i.e., if I took your prompt and gave it to a junior dev, would they know what to do)? Are you just using the free models available online or do you have a dedicated integration into your development environment through Github Copilot or other vendor(s)?
I mean what I'm about to say with zero offense, but this honestly reminds me of how the elderly generation says, "technology doesn't work for me because it's always broken", and when you go and try to coach them on how to use the technology that's problematic for them, it's as if you're casting black magic.
I don't think AI is the second coming of Christ or that we're anywhere near AGI, but I do believe it's an extremely useful tool that people should be using.
A week later, same prompt, really low poly blender model. Either they reduced token usage per person, or they quantized the model, idk, but it really doesn’t work as good as day of release anymore
The barrier to software development has only ever been computer access and knowledge.
With AI, it’s roughly computer and internet access.
This means we’re getting a lot of people who aren’t good at either software development or AI automation playing with both. It’s the majority of what people seem to talk about.
I don’t think this is bad, but I do think it’s making real progress in AI automated software development on teams which are good at both much less visible.
A conservative team member of mine estimated we’re working at 200x speed these days, compared to 2 years ago. And we still see ways we can improve. A parallel team is only seeing an 1.2x increase, but they are unable to modify their architecture around AI.
Some of this is shifting roles. You can have a mildly technical domain expert vibe code the frontend for a new module. The more AI automation you’ve architected for, the faster they can go and the higher quality the outcome. We’re experimenting with mixing vibe coding with specifying formal requirements to push this further.
This works well. And now you’ve cut dozens of rounds of the PM not knowing the right shape for the new software out of the process. Even if we threw the end code away, this would save us tons of time.
This is just one example.
Playing an instrument vs electronic/computer music.
We do forget skills we don't practice, especially fine motor skills (like playing the guitar or typing code).
There's inherent pleasure in playing a musical instrument - practicing improves fine motor skills and produces satisfaction.
You can play for yourself and that can be a great experience.
Often people create music for other listeners - and now the satisfaction comes not just from your skill, but from how the music impacts your listeners.
They say you can put more of your 'soul' into music made with an instrument, but I'd say there's quite a bit of electronic music with just as much soul.
People who create electronic music don't generate any of those sounds with their fine motor skills, but they do have a plan about how the song progresses and what emotional state it elicits in users.
That's why you have DJs which are more popular than others.
If you stop playing the guitar for a year, then pick it up and try playing something, you will feel very rusty. But give it a week of practice and most of your skill comes back.. and in 1 month you're back to your peak skill.
I guess my point is - If you go full on agentic, you'll loose some of your coding skill, but you can get it back fairly quickly if you go back to manual coding. On the flip side, you get better at using AI if you use it, so your thinking is at a higher level, but you give up understanding the low level details of how exactly the code works.
Either way you're making 'music', albeit a different kind of music.
No, playing an instrument VS making electronic music has absolutely no comparison to writing code by hand or with AI.
You're comparing the difference between a motor skill and a knowledge-based competency, with the difference between two knowledge-based competencies.
Now, manual labor does have its place as a form of art--take high-precision hand-built timepieces for example.
To add some points on he other side of this analogy:
There is not a lot of purely electronic music that has stood the test of time, at least not when it comes to popularity or, more relevant to the metaphor, profitability. There is usually at very least a human voice in the (literal) mix, but more often than not there are also traditional instruments mixed in.
Take this next point as you will as I am being a bit tongue-in-cheek: While making music-making more accessible to more people is totally great, if I could go a week without hearing a variation of the phrase "Check out my dark ambient drone project!" I would feel oddly accomplished.
Most importantly, though:
> But give it a week of practice and most of your skill comes back.. and in 1 month you're back to your peak skill.
This is only true if you had the skill to begin with. For many electronic musicians, by which I mean junior developers, this is not the case. Does it matter? As a 45-year-old traditional musician... er, I mean hand-coder... I think so, but also ¯\_(ツ)_/¯
90% of Hacker News posers^Wprogrammers
We’re using an online, undeterministic, black-box middleman to generate our code. It’s 100% Trust me bro. No proof, no scrutiny, no guarantees.
AI helps a lot but for code that matters, use it to fill your context window, not the other way around. For code that doesn't matter (prototypes, speed runs, etc), vibe away - it can be super fun!
Just today it made three glaring mistakes in one session:
1. It read a file in the wrong directory, because that file had the same name as the file in the right directory. It apologized when I challenged it, promising me that it would remember to "read import statements" in the future.
2. It miscounted the number of times a function was called in my repo. It said 20, while my built-in IDE search accurately showed 17. Again, it apologized when I corrected it.
3. It referred to a variable by name that does not exist anywhere in my code. It apologized, and said it was referring to a variable used internally by one of the third-party packages installed in my repo.
So many apologies.
It's the little things like this that remind me on a regular basis just how little I can trust artificial "intelligence."
https://news.ycombinator.com/item?id=49858166
People can't even discuss about any politics anymore.
Back in Obama's days there were always interesting discussions in the political threads and they were rarely insta flagged. And it was mostly nuances wrt business needs and what that means for our societies. The PRISM news also frequently got heated, and still the technical.
Extremely noticable compared to the platform is today.
Tbf though, HN always had a few topics it was extremely irrational about.
Eg Apple since the start and Musk post 2012...
As one of the users that moved to HN when Reddit closed access to third party apps it’s also quite literally this. I apologize for any reduction in quality of discourse I might have caused.
I'm amused by your surprise.
>Its not even like its less techincal
I'd wager that, actually, it is less technical. We constantly see otherwise very techinical people here poking their heads up and admitting that they haven't been writing any code for 6 months or more, and the ones that brag about it are seemingly unaware that they've been reduced to being a technical PM (the ones that contest this probably havent worked with capable technical PMs). No one wants to engage with vibe-coded Show HN entries because the poster may not grasp the implementation. No one appears to be doing (or sharing) anything super novel with all this coding superpower they have suddenly attained so there's nothing technically interesting to talk about. The last time I found an AI application submission interesting was the one where the person was trying to turn their pet's random keyboard typing into a language (if I remember correctly).
If the guidelines banned any AI comments that didn't preface their comment with the model and version of AI they used, their application domain, and the programming language being used I'm sure there would be less contentious dorky debate and more technical/practical discussion.
And since many here don't see the endgame with AI resulting in anything good for their career or society, like the endless remote work debates they comment because from a strategic point of view they do not want to cede the narrative to the other side on such an important topic. understandably. hence more dorky debates.
i read some of these posts and it feels like the experience with boomers i had to help with their computers at my college job.
they did the least and expected the most.
Without them, not only do agents get simple things like function call counts wrong, they tend to return different results. I use this as an example when showing people how the tooling works.
Grep is fine for simple use cases. A step up from that is ast-grep and I need to explore this tool more. But I had the most success building a small pipeline that reads the old code base, parses it file by file using tree sitter, and then loads it into a SQLite database for querying. For example, I have it capture construct definitions and usages and represent those as directed edges and nodes in a single table depending on the node type. The agent is instructed on how to query it and perform interesting queries like build call graphs, or determine dependencies between domains (modularity is not great in this codebase) which is helpful for us to extract around capability lines.
I also calculate fitness statistics, and have some code to capture specific details and knowledge about this very old framework that short circuits agent work in the future. We have some “interesting” magical libraries and functions that block static analyzers from going beyond the call site. This is mitigated, and means agents don’t have to “guess”.
Making all of this available to the different team members at my work has been pretty helpful. It’s faster (fewer tool calls), cheaper (fewer tokens), and accurate.
Otherwise, that’s exactly the tool to help those kind of queries IMO
ive been regularly seeing this exact reaction online since November 2025, sadly :/
The most telling one is counting function invocations wrong, because that's simply not how models work anymore. They use terminal commands and Python scripts for research like that (if not an LSP, if one took the time to set up their tools most effectively).
Combined with their attitude, I have little doubt that the parent has disabled tool calls, is working in some janky Harness like chat/Duo/Juno, or is using a severely reduced or outdated model.
It's basically impossible at this point to take these people seriously anymore.
My model weights don't change unless I change them.
Yes, so I'll disclose it: I was using Opus 5.5, on medium effort, in Claude desktop, which has full access to my entire repo.
Now everyone can officially lambast me for "using the model wrong or using the wrong model," exactly as you say. But I find it quite interesting that one of the commenters here assumed I was using Opus 4.6, because these mistakes sound like that old version! I'm using the version released just four freaking days ago!
I expect some commenters will now say, "Oh, you should have been using Fable, you old boomer." To them I say: "Yeah, well my employer doesn't allow me to use Fable." And, in jest: "Now get off my lawn."