logoalt Hacker News

vitally3643today at 4:51 PM0 repliesview on HN

> AI “writes bad code,” “introduces bugs,” “creates technical debt,”

Is bad because

> Users [...] care that the product works.

Is true.

If you want your project to work for more than a few weeks/months at a time, you need to put actual engineering effort into designing a product that works. "The AI can fix it when it inevitably breaks" doesn't change the fact that it broke, and now you have to pay for more tokens to fix it.

Well engineered software still breaks, obviously, but the class and severity of bugs is generally a whole hell of a lot less. When you have an engineer who understands the product, fixing problems is faster than naive "pls fix" prompts.

The fundamental misunderstanding is that "code" represents the entirety of a project. Your premise is that code is a means to an end, which isn't wrong, but your conclusion is "therefore code quality is irrelevant". These two ideas put together are extremely naive and outright incorrect.

In many ways, the code is the product. The functionality your users want is literally encoded in the program. It's true that the aesthetic qualities of the code are largely irrelevant to that goal, but the code needs to be correct. Otherwise the functionally is incorrect and your users are unhappy. Moreover, the product needs to stay working indefinitely under practically infinite use cases. The only way that happens is if you put actual engineering effort into designing a system that works and is correct. The way that happens is if you write good, correct, and readable code.

AI generated code is not a bad thing in and of itself.

The bad and objectively incorrect idea is that you don't need to put thought, consideration, or engineering into a project because you have an infinite code machine.

These two notions are not mutually exclusive. You can have hand written slop that blows up on launch. You can have well engineered and architected AI written code. The problem is when people think that code is all that matters and thought is no longer required because any problem can be fixed with more code.

This is something fundamental that comes up in literally every domain. If you want your solution to work for the next ten minutes, you can slap together anything that works. If you want your solution to last a generation, you have to engineer it to do so. Bridges, houses, sewer systems, cars, medicine, code, interpersonal relationships. To do a job well, you have to put effort in and you have to think critically.

The bulk of the "anti-AI" sentiment you're complaining about is not about AI. It is the objectively correct rejection of your attitude that infinite code can replace thought, design, and engineering. Code isn't the problem, it's that you're ignoring everything else that makes a project work. This is plain and simple reality. Having infinite nails does not mean you can build a three story apartment block. Having infinite rivets doesn't mean you can build the golden gate bridge.

Infinite code does not make you an engineer.