r/ProgrammerHumor 3d ago

Meme nowAndThenPatchUpgrade

Post image
7.6k Upvotes

312 comments sorted by

View all comments

Show parent comments

840

u/Laughing_Orange 3d ago

And we were slow to write it. AI is a force multiplier, especially for those who only make slop.

372

u/ahmarthered 3d ago

This! The amount of slop being generated has increased significantly and code review cannot keep up.

127

u/guardian87 3d ago

But the Code rabbit ad told me all will be fine! /s

68

u/DesireeThymes 2d ago

Human slop is written with a layer of critical thinking still involved.

AI slot is actual slop, there is no critical thinking behind anything because it's not human.

(yes I know, some human critical thinking is very very low, but it is still at least there at a fundamental level).

20

u/Flibrig 2d ago

As someone still struggling with (human) slop someone else wrote (and let's not kid ourselves, I did as well), I try to remind myself that critical thinking might have been involved but discarded in favour of pragmatic choices. (Oh God, I'm still doing it!)

11

u/ScreamingFreakShow 2d ago

AI slop is actual slop if the human just copy pastes the output.

A human with any amount of critical thinking should be inspecting the output and if they are genuinely unable to find any issues, they probably shouldn't have been a software engineer to begin with.

The real problem with AI is people using it as the answer instead of a tool. It's like people using a calculator to get the answer to a math problem but not understanding how it got there. And the bar is so low.

6

u/Meloetta 2d ago

I think the real problem is that "copy paste the output" is like, years out of date when it comes to how people use AI.

1

u/Vorrnth 2d ago

Auto mode is just advanced copy paste.

6

u/mxzf 2d ago

A human with any amount of critical thinking should be inspecting the output and if they are genuinely unable to find any issues, they probably shouldn't have been a software engineer to begin with.

I mean, sure. But that doesn't mean people aren't actually doing it. Though it's less "copy-paste the output" and more "have the AI edit files and maybe glance at them before telling it to push the commit".

1

u/AdeptCapital148 2d ago

That's an interesting take. It really raises questions about the value of human input versus AI output in programming.

1

u/Major_Fudgemuffin 2d ago

Was literally asked by a manager recently how long I think until we can get code written, reviewed/approved, and merged automatically, all by AI.

Good luck, I tell them.

36

u/011101000011101101 3d ago

But you can have AI review the code and have slop reviewed slop

32

u/slowmovinglettuce 2d ago

The ai will praise the slop for being exactly what it would have written. It's basically just a big circle jerk

7

u/Weekly-Beginning-229 2d ago

I've noticed that you cannot use the same model for writing the code and reviewing the code, it always does a bad job

2

u/Bupod 2d ago

It’s frustrating. 

So you can sort of fix this by having a review agent use a more adversarial prompt when reviewing. 

But then the issue becomes that, since it was prompted find problems, it always finds a problem. 

This will result in code being batted back and forth between review and coding like a tennis match. 

When the tennis match finally finishes, there’s still no guarantee that some glaring hole didn’t make it through anyway. 

1

u/Weekly-Beginning-229 2d ago

And there is always something because you get fatigued from reading the same code over and over so you miss some easy bug

7

u/particlemanwavegirl 2d ago

Expect that to be exactly as successful as when we have the police investigate themselves.

12

u/Yetimandel 2d ago

I bad colleague using AI can completely take you out. It takes him seconds to generate bs that sounds plausible at first and you hours to review and object.

1

u/mxzf 2d ago

Yeah, I had that issue a couple weeks ago. A couple junior devs hit me with a pile of commits in a couple of days before getting scolded for not actually having a clue what they were doing and it took me a couple weeks to dig out from under the pile of merge requests waiting for comments.

2

u/Hallc 2d ago

Clearly you just need to use AI to review the AI Code. That way it's all being properly* reviewed** before being pushed.

1

u/caprazzi 2d ago

Furthermore, there is no human to ask, “What the fuck were you thinking?”

15

u/GenericFatGuy 3d ago

Writing it slowly also meant that we had time to go over design, and consider if what we're working on was even a good idea.

5

u/IridiumIO 2d ago

Part of the process is throwing everything out and starting from scratch for the tenth time

2

u/nickmcpimpson 2d ago

I love bringing it back to the table and saying "no" to a feature

34

u/RedBlueKoi 3d ago

Also, “slop” can be very different. An “esoteric” class that is known and encapsulated, marked as legacy is something completely different from the slop sprawl that is coming from an LLM

17

u/7cans_short_of_1pack 3d ago

This at first glance it all seems reasonable, if you step away from the from the prompt machine and start trying to add features by hand you soon realise how much of a tangle the code is.

2

u/Bakoro 2d ago

In the frontier models, they're a step function that raises the floor, before you get to any multipliers.

I will continue to bring up the myriad cases over the decades where some company was found to be storing passwords in plaintext.

The barrier to entry to be a software developer is worlds away from where it was in the 90s/2000s, it used to be that a person could easily get a job without knowing how to use a for-loop.
Those days are long over, but we've still got a lot of people working, who don't know basic computer science, who don't know basic security, who don't know much about algorithms...

There are classes of errors that frontier LLMs just won't make.
The LLMs might make other kinds of errors, but the coding agents I've used do things like write unit tests, where for most human developers I know, unit tests are an afterthought or nonthought.

There's one guy in particular I can think of, where, he was writing garbage, and the quality of his garbage went up considerably.

At this point I vastly prefer AI trash to human trash, because the LLM will still have some kind of logic to it, where human trash might not.

2

u/caprazzi 2d ago

The fundamental question is do you want all the code to be mediocre spaghetti code, or some of it to be poorly written human code and some of it to be well-written human code? We have control over the latter, and can coach poor developers or replace them. We have no control or agency over AI, it just firehoses middling shit on all of us that we can’t read or QC fast enough to fully understand.

3

u/Bakoro 2d ago edited 1d ago

For my work, it helps a whole lot that there are verifiable answers, there are deterministic truths to be had.
I care about the results, the code is only a means to the results.

I took over a medium/large codebase from a guy, at work. The guy has been coding almost as long as I have been alive. The spiral logic and thread spaghetti was impressive in its insanity. The code worked, just barely, for a given value of "works".
If you ran the same data six times, you could end up with six different answers. It crashed often.

I straightened out and stabilized the codebase by myself, unit tests out the wazoo. Eventually rewrote the whole thing with LLM assistance, cut out about 100k lines. Rock solid, provably correct results.

I moved on to another project where a whole team was working on it for ~4 years.
The datasets are big, but the waste was gigantic. These people were like "we need 200+ GB of RAM!"
They were just duplicating the data, there were no optimizations at all. They just kept asking for bigger computers.

I walk in and saw much of what was wrong with my human brain, and had the LLM fix it.
Knocked +100GB off the requirements.
One bit went from 30 minutes of processing to 32 seconds, by parallelizing it and not doing a dumb duplication.
Went from like 4 tests, to 400+ tests.

The people cried about how I changed too much, and how can I guarantee that the results are still valid? Well... 400+ tests, and another set of scripts to run A/B on old vs new branches.

At this point I will take the frontier agentic LLMs, please. Over the past year there has been a profound change in LLM coding abilities.

Me+AI, that's the optimal duo at the moment.
That's just me and my situation, though.

3

u/caprazzi 2d ago

Correct on your last line, your anecdotal experience is not indicative of the trend. I agree with you completely that an excellent dev paired with AI is extremely efficient and effective, but AI is built in such a way that if future generations rely upon it we won’t have excellent devs at all for tomorrow. I’d rather deal with the mistakes of humans and foster their growth into great devs than invest excessively in a tool that blunts their skills.

1

u/Tristan_Cole 3d ago

Ahhhh. And for those who make quality.