362
top 50 comments
sorted by: hot top controversial new old
[-] Arghblarg@lemmy.ca 75 points 11 months ago

I feel this -- we had a junior dev on our project who started using AI for coding, without management approval BTW (it was a small company and we didn't yet have a policy specifically for it. Alas.)

I got the fun task, months later, of going through an entire component that I'm almost certain was 'vibe coded' -- it "worked" the first time the main APIs were called, but leaked and crashed on subsequent calls. It used double- and even triple-pointers to data structures, which the API vendor's documentation upon some casual reading indicated could all be declared statically and re-used (this was an embedded system); needless arguments; mallocs and frees everywhere for no good reason (again due to all of the un-needed dynamic storage involving said double/triple pointers to stuff). It was a horrible mess.

It should have never gotten through code review, but the senior devs were themselves overloaded with work (another, separate problem) ...

I took two days and cleaned it all up, much simpler, no mem leaks, and could actually be, you know, used more than once.

Fucking mess, and LLMs (don't call it "AI") just allow those who are lazy and/or inexperienced to skate through short-term tasks, leaving huge technical debt for those that have to clean up after.

If you're doing job interviews, ensure the interviewee is not connected to LLMs in any way and make them do the code themselves. No exceptions. Consider blocking LLMs from your corp network as well and ban locally-installed things like Ollama.

[-] jonathan7luke@lemmy.zip 16 points 11 months ago

It should have never gotten through code review, but the senior devs were themselves overloaded with work

Ngl, as much as I dislike AI, I think this is really the bigger issue. Hiring a junior and then merging his contributions without code reviewing is a disaster waiting to happen with or without AI.

[-] umbraroze@slrpnk.net 11 points 11 months ago* (last edited 11 months ago)

It used double- and even triple-pointers to data structures

(old song, to the tune of My Favourite Things)

🎶 "Pointers to pointers to pointers to strings,
this code does some rather unusual things...!"
🎶

[-] Scrath@lemmy.dbzer0.com 41 points 11 months ago

I talked to Microsoft Copilot 3 times for work related reasons because I couldn't find something in documentation. I was lied to 3 times. It either made stuff up about how the thing I asked about works or even invented entirely new configuration settings

[-] rozodru@lemmy.world 17 points 11 months ago

Claude AI does this ALL the time too. It NEEDS to give a solution, it rarely can say "I don't know" so it will just completely make up a solution that it thinks is right without actually checking to see the solution exists. It will make/dream up programs or libraries that don't and have never existed OR it will tell you something can do something when it has never been able to do that thing ever.

And that's just how all these LLMs have been built. they MUST provide a solution so they all lie. they've been programmed this way to ensure maximum profits. Github Copilot is a bit better because it's with me in my code so it's suggestions, most of the time, actually work because it can see the context and whats around it. Claude is absolute garbage, MS Copilot is about the same caliber if not worse than Claude, and Chatgpt is only good for content writing or bouncing ideas off of.

[-] Croquette@sh.itjust.works 26 points 11 months ago

LLM are just sophisticated text predictions engine. They don't know anything, so they can't produce an "I don't know" because they can always generate a text prediction and they can't think.

load more comments (5 replies)
load more comments (1 replies)
[-] Senal@programming.dev 5 points 11 months ago* (last edited 11 months ago)

In fairness the msdn documentation is prone to this also.

By "this" I mean having what looks like a comprehensive section about the thing you want but the actual information you need isn't there, but you need to tag the whole thing to find out.

[-] daniskarma@lemmy.dbzer0.com 38 points 11 months ago* (last edited 11 months ago)

The study was centered on bugfixing large established projects. This task is not really the one that AI helpers excel at.

Also small number of participants (16) , the participants were familiar with the code base and all tasks seems to be smaller in completion time can screw results.

Thus the divergence between studio results and many people personal experience that would experience increase of productivity because they are doing different tasks in a different scenario.

[-] 6nk06@sh.itjust.works 42 points 11 months ago

The study was centered on bugfixing large established projects. This task is not really the one that AI helpers excel at.

"AI is good for Hello World projects written in javascript."

Managers will still fire real engineers though.

[-] daniskarma@lemmy.dbzer0.com 6 points 11 months ago* (last edited 11 months ago)

I find it more useful doing large language transformations and delving into unknown patterns, languages or environments.

If I know a source head to toe, and I'm proficient with that environment, it's going to offer little help. Specially if it's a highly specialized problem.

Since SVB crash there have been firings left and right. I suspect AI is only an excuse for them.

[-] Feyd@programming.dev 25 points 11 months ago

familiar with the code base

Call me crazy but I think developers should understand what they're working on, and using LLM tools doesn't provide a shortcut there.

[-] daniskarma@lemmy.dbzer0.com 7 points 11 months ago

You have to get familiar with the codebase at some point. When you are unfamiliar, in my experience, LLMs can provide help understanding it. Copying large portions of code you don't really understand and asking for an analysis and explanation.

Not so far ago I used it on assembly code. It would have taken ages to decipher what it was doing by myself. The AI sped up the process.

But once you are very familiar with a established project you had work a lot with, I don't even bother asking LLMs anything, as in my experience, I come up with better answers quicker.

At the end of the day we must understand that a LLM is more or less an statistical autocomplete trained on a large dataset. If your solution is not on the dataset the thing is not going to really came up with a creative solution. And the thing is not going to run a debugger on your code either, afaik.

When I use it the question I ask myself the most before bothering is "is the solution likely to be on the training dataset?" or "is it a task that can be solved as a language problem?"

[-] _cnt0@sh.itjust.works 37 points 11 months ago

I'll quote myself from some time ago:

The entire article is based on the flawed premise, that "AI" would improve the performance of developers. From my daily observation the only people increasing their throughput with "AI" are inexperienced and/or bad developers. So, create terrible code faster with "AI". Suggestions by copilot are >95% garbage (even for trivial stuff) just slowing me down in writing proper code (obviously I disabled it precisely for that reason). And I spend more time on PRs to filter out the "AI" garbage inserted by juniors and idiots. "AI" is killing the productivity of the best developers even if they don't use it themselves, decreases code quality leading to more bugs (more time wasted) and reducing maintainability (more time wasted). At this point I assume ignorance and incompetence of everybody talking about benefits of "AI" for software development. Oh, you have 15 years of experience in the field and "AI" has improved your workflow? You sucked at what you've been doing for 15 years and "AI" increases the damage you are doing which later has to be fixed by people who are more competent.

load more comments (3 replies)
[-] WoodScientist@sh.itjust.works 22 points 11 months ago* (last edited 11 months ago)

Don’t give yourselves to these unnatural men - machine men with machine minds and machine hearts! You are not machines! You are men!

[-] sp3ctr4l@lemmy.dbzer0.com 4 points 11 months ago

You are not cattle!

You are men!

You have the love of humanity in your hearts!

You don’t hate!

Only the unloved hate - the unloved and the unnatural!

Soldiers!

Don’t fight for slavery! Fight for liberty!

In the 17th Chapter of St Luke it is written: “the Kingdom of God is within man” - not one man nor a group of men, but in all men!

In you!

load more comments (4 replies)
load more comments (1 replies)
[-] Phen@lemmy.eco.br 21 points 11 months ago

Reading the paper, AI did a lot better than I would expect. It showed experienced devs working on a familiar code base got 19% slower. It's telling that they thought they had been more productive, but the result was not that bad tbh.

I wish we had similar research for experienced devs on unfamiliar code bases, or for inexperienced devs, but those would probably be much harder to measure.

[-] staircase@programming.dev 16 points 11 months ago

I don't understand your point. How is it good that the developers thought they were faster? Does that imply anything at all in LLMs' favour? IMO that makes the situation worse because we're not only fighting inefficiency, but delusion.

20% slower is substantial. Imagine the effect on the economy if 20% of all output was discarded (or more accurately, spent using electricity).

[-] Phen@lemmy.eco.br 6 points 11 months ago

I'm not saying it's good, I'm saying I expected it to be even worse.

load more comments (1 replies)
[-] vrighter@discuss.tchncs.de 10 points 11 months ago

1% slowdown is pretty bad. You'd still do better just not using it. 19% is huge!

[-] dil@lemmy.zip 12 points 11 months ago

Would ai coders even get faster over time or just stay stagnant since they aren't learning anything about what they're doing

[-] rizzothesmall@sh.itjust.works 10 points 11 months ago* (last edited 11 months ago)

Ai-only vibe coders. As a development manager I can tell you that AI-augmented actual developers who know how to write software and what good and bad code looks like are unquestionably faster. GitHub Copilot makes creating a suite of unit tests and documentation for a class take very little time.

[-] SpaceNoodle@lemmy.world 18 points 11 months ago
[-] kinttach@lemmy.zip 6 points 11 months ago

The article is a blog post summarizing the actual research. The researchers' summary says:

We do not provide evidence that: AI systems do not currently speed up many or most software developers. We do not claim that our developers or repositories represent a majority or plurality of software development work.

The research shows that under their tested scenario and assumptions, devs were less productive.

The takeaway from this study is to measure and benchmark what's important to your team. However many development teams have been doing that, albeit not in a formal study format, and finding AI improves productivity. It is not (only) "vibe productivity".

And certainly I agree with the person you replied to: anecdotally, AI makes my devs more productive by cutting out the most grindy parts, like writing mocks for tests or getting that last missing coverage corner. So we have some measuring and validation to do.

[-] SpaceNoodle@lemmy.world 12 points 11 months ago* (last edited 11 months ago)

The research explicitly showed that the anecdotes were flawed, and that actual measured productivity was the inverse of what the users imagined. That's the entire point. You're just saying "nuh uh, muh anecdotes."

load more comments (4 replies)
[-] rizzothesmall@sh.itjust.works 5 points 11 months ago* (last edited 11 months ago)

I did, thank you. Terms therein like "they spend more time prompting the AI" genuinely do not apply to a code copilot, like the one provided by GitHub, because it infers its prompt based on what you're doing and the context of the file and application and creates an autocomplete based on its chat completion, which you can accept or ignore like any autocomplete.

You can start writing test templates and it will fill them out for you, and then write the next tests based on the inputs of your methods and the imports in the test class. You can write a whole class without any copilot usage and then start writing the xmldocs and it will autocomplete them for you based on work you already did. Try it for yourself if you haven't already, it's pretty useful.

[-] sturlabragason@lemmy.world 4 points 11 months ago* (last edited 11 months ago)

I read the article (not the study only the abstract) and they were getting paid an hourly rate. It did not mention anything about whether or not they had expirence in using llms to code. I feel there is a sweet spot, has to do with context window size etc.

I was not consistently better a year and a half ago but now i know the limits caveats and methods.

I think this is a very difficult thing to quantify but haters gonna latch on to this, same as the study that said “ai makes you stupid” and “llms cant reason”… its a cool tool that has limits.

[-] oantolin@discuss.online 13 points 11 months ago

One interesting feature in this paper is that the programmers who used LLMs thought they were faster, they estimated it was saving about 20% of the time it would have taken without LLMs. I think that's a clear sign that you shouldn't trust your gut about how much time LLMs save you, you should definitely try to measure it.

load more comments (1 replies)
[-] resipsaloquitur@lemmy.world 9 points 11 months ago

Someone told me the best use of AI was writing unit tests and I died on the inside.

[-] FizzyOrange@programming.dev 4 points 11 months ago

Why? That is a great use for AI. I'm guessing you are imagining that people are just blindly asking for unit tests and not even reading the results? Obviously don't do that.

[-] resipsaloquitur@lemmy.world 10 points 11 months ago* (last edited 11 months ago)

Of course that’s what they’re doing. That’s the whole point. Generate a bunch of plausible-looking BS and move on.

Writing one UT (actually writing, not pressing tab) gives you ideas for other tests.

And unit tests are not some boring chore. When doing TDD, they help inform and guide the design. If the LLM is doing that thinking for you, too, you’re just flying blind. “Yeah, that looks about right.”

Can’t wait for this shit to show up in medical devices.

load more comments (4 replies)
[-] Ptsf@lemmy.world 9 points 11 months ago

People are a bad judge of their own skill and overrely on tools and assistants when present. See also: car adas systems making drivers less skillful. More news at 11.

load more comments (1 replies)
[-] HaraldvonBlauzahn@feddit.org 8 points 11 months ago

Now the interesting question is what it really means when less experienced programmers think they are 100% faster.

load more comments (1 replies)
[-] BrianTheeBiscuiteer@lemmy.world 6 points 11 months ago

The only time it really helps me is when I'm following a pretty clear pattern and the auto-complete spares me from copy-pasting or just retyping the same thing over and over. Otherwise I'm double-checking everything it wrote, and I have to understand it to test it, and that probably takes most of my time. Furthermore, it usually doesn't take the entire codebase into account so it looks like it was written by someone who didn't know our team or company standards as well as our proprietary code.

load more comments (1 replies)
[-] Ek-Hou-Van-Braai@piefed.social 5 points 11 months ago

I wish AI was never invented, but surely this isn't ture.

I've been able to solve coding issues that usually took me hours in minutes.

Wish it wasn't so, but it's been my reality

[-] Traister101@lemmy.today 5 points 11 months ago

LLMs making you code faster means your slow not LLMs fast

[-] Ek-Hou-Van-Braai@piefed.social 4 points 11 months ago

I doubt anyone can write complex regex in ~30 seconds, LLM's can

[-] staircase@programming.dev 4 points 11 months ago

I'm not trusting a regex written by AI

load more comments (5 replies)
[-] vrighter@discuss.tchncs.de 4 points 11 months ago

yes they can. I regularly do. Regexes aren't hard to write, their logic is quite simple. They're hard to read, yes, but they are almost always one-offs (ex, substitutions in nvim).

load more comments (6 replies)
load more comments (5 replies)
load more comments (1 replies)
[-] monkeyman512@lemmy.world 4 points 11 months ago

It would be interesting to see another study focusing on cognitive load. Maybe the AI let's you offload some amount of thinking so you reserve that energy for things it's bad at. But I could see how that would potentially be a wash as you need to clearly specify your requirements in the prompt, which is a different cognitive load.

[-] SpaceNoodle@lemmy.world 8 points 11 months ago

I seem to recall a separate study showing that it just encouraged users to think more lazily, not more critically.

load more comments
view more: next ›
this post was submitted on 12 Jul 2025
362 points (100.0% liked)

Programming

27318 readers
126 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS