logoalt Hacker News

OptionOfTlast Tuesday at 8:24 PM2 repliesview on HN

If you do this on your personal stuff, eh, I wouldn't do it, but you do you.

But we're seeing that this becomes OK in the workplace, and I don't believe it is.

If you propose these changes that would've normally taken you 2 weeks as your own in a PR, then I, as the reviewer, don't know where your knowledge ends and the AI's hallucinations begin.

Do you need to do all of these things? Or is it because the most commonly forked template of this piece of code has this in its boilerplate? I don't know. Do you?

How can you make sure the code works in all situations if you aren't even familiar with the language, let alone the framework / API and protocol?

    * Do you know that in Java you have to do string.Equals instead of == for equality? 
    * Do you know in Python that you assigning a new value to a function default persists beyond the function? 
        * And in JavaScript it does not? 
    * Do you know that the C# && does not translate to VB.NET's And?

Replies

friolast Tuesday at 10:29 PM

This is far and away the biggest problem I have atm. Engineers blowing through an incredible amount of work in a short time, but when an inevitable bug bubbles up (which would happen without AI!), there's noone to question. "Hey, you changed the way transactionality was handled here, and that's made a really weird race condition happen. Why did you change it? What edge case were you trying to handle?" -- "I don't know, the AI did it". This makes chasing things down exponentially harder.

This has always been a problem in software engineering; of course -- sometimes staff have left, so you have to dig through tickets, related commits and documentation to intuit intent. But I think it's going to make for very weird drags on productivity in _new_ code that may not counter the acceleration LLMs provide, but will certainly exist.

QuercusMaxlast Tuesday at 9:12 PM

A lot of that stuff can be handled by linters and static analysis tools.

show 1 reply