With that in mind, writing bad code is bad.
It does by, attributing a change in quality to a "testing and validation problem".
If there is a change in programming methodology, as far as we know no change in testing and validation methodology and at the same time an increase in the production of bugs, it's not reasonable to attribute that increased error rate to testing and validation getting worse.
It's like adding spinning saw blades to the fronts of cars and then attributing the increased fatality rates to pedestrians not wearing safety reflectors.
In your analogy, what I would say is that the saw blades on the front of cars situation exposed a weakness in the regulatory regime for what can be put on the front of cars, which should be improved.
I remind you that the belief you are defending is that an increase in the number of bugs produced per some unit of implementation "implies that testing and validation has gotten worse", not the general idea that you can or should improve software quality by improving testing and validation.
If we adopt the realistic perspective that the testing and validation process can only catch some fraction of bugs, then an increase in the number of bugs produced in the implementation stage is bad irrespective of what that fraction is. You can improve the testing and validation process so as to minimize the fraction of bugs that get past QA, but when you multiply that by the number of bugs produced in implementation you will be worse off if you produce 7 bugs per month during implementation than if you produce 5 bugs, regardless of whether you can also improve the testing and validation process. You will on average, over time, have fewer bugs in production if you produce fewer bugs during implementation given any testing and validation process that isn't completely fool proof.
> Isn't this a testing and validation problem?
One way for it to be that kind of problem is by exposing weakness in the existing approach. Another way would be if the approach was worsened. But both things fit my original contention.
I don't disagree with your concluding paragraph at all. But what I think is that there is no reason that implementing with llm based tooling implies an increased defect rate. Rather, I think it implies that there are existing or new holes in the quality process. That doesn't imply that I think a defect rate of zero is possible. But I think holding the defect rate steady is possible.
Also a confirmation to people who have the same inner thoughts and are ashamed to admit in public that they think the exact same thing.
I think we need such kind of posts to combat the influx of AI news.
What you don't see from most perspectives are the silent masses who simply don't engage, don't care about the discussion, and/or are too busy doing what they enjoy.
It has been a fairly painful experience for me to shift my thinking on this, but it's a much better mindset. I still care about many of the same code quality concerns I always have, but I'm thinking a lot more about why I care than I once did.
That mindset has also deteriorated my working environment due to some coworkers buying into it.
So it's kind of nice to see some sanity checks that align with my beliefs too. I can share articles like this with my teammates. I can see that I'm not alone in thinking most LLM code is slop.
I think too junior devs NEED to see this. My team had a couple of promising juniors who are now completely brain rotted by AI and can't even write "Hello World" without consulting Claude anymore.
Anyone could say the same about any post they don't agree with, doesn't seem very helpful.
If you're just writing code to fuck around or automate a small part of your life, whatever. But if you're making a big system or wanting other people to use your product, these things about how to make good software become more relevant.