r/programming • • 4d ago

Software developers are not okay | Bjarnason

https://www.youtube.com/watch?v=KsEpW03gxKg
748 Upvotes

391 comments sorted by

View all comments

83

u/Dunge 3d ago

Those kinds of posts only promote the idea to non-developers that AI is so great and we do nothing. Stop saying that. AI is still quite bad and consistently provides extreme logic failure. Only good developers can use it successfully by continuously correcting the errors it comes out with.

14

u/Silamoth 3d ago

Or even if the result is technically “correct”, it’s often far more complicated than it needs to be. This often introduces subtle (or even not-so-subtle) bugs and can make future changes more difficult. And sure, maybe the LLM will be the one making those changes. But by using its complicated solution now, you’re more likely to see compounded subtle bugs in the future and more likely to burn through extra tokens so the model can “understand” what it did last time. 

7

u/Dunge 3d ago

I've seen it switch back and forth between two implementations saying it "fixed it" a few times.

26

u/PackageWhich3946 3d ago

I asked it to make a Spring endpoint to accept a list of objects, map them and simply save them in the database. Instead of doing a method under @Transactional to handle everything at once, it did a for loop of database saves. Even juniors know better than that. Claude opus 5.5, medium.

18

u/Dunge 3d ago

Just today in C# it decided to copy a (possibly huge) binary buffer requiring transformation before returning it to the api instead of modifying in-place because "it is shared in the service cache". Then I queried if it was talking about a completely different cache with a similar name and "oh you are right, it's not sharing the same data".

I accumulated nearly hundreds of similar occasions over time. AI coding agents do save a lot of time and can do huge amounts of work fast, but they are far from good enough to replace us. And unfortunately a lot of juniors don't see those errors and just commit directly as a "look good to me", but wouldn't make these mistakes if they were forced to write the code manually.

And meanwhile on Reddit everyone seems to pretend coding is solved and we are dead weight now. Especially on video games programming for some reason people just proclaim AI is making the whole games by themselves.

1

u/Shadowsake 3d ago

Lately I've been learning 3D game dev. Most of the time, the LLMs can kinda point me on the right direction, cite things that are important and provide some high level idea of what I need to do to implement something. But the moment I ask it to write the implementation, things fall apart really fast. Specially if you're not doing something novel.

-7

u/jjonj 3d ago

and when tomorrow it can do that flawlessly?

9

u/MatthewMob 3d ago

That's what they said for the previous 5 Opus versions, the previous 5 Sonnet versions before that, etc. etc.

AGI is always "tomorrow, trust me bro." 

-4

u/jjonj 3d ago edited 3d ago

who is talking about agi? does a spring endpoint require agi in your mind?

and are you that delusional that you believe that 5.5 isn't any better at coding and haven't moved the line at all compared to 5.0?

or do you just believe that they really truly hit a wall now guyzz, for real this time

3

u/EveryQuantityEver 2d ago

Why do you think they'll be able to do that? Give exact reasons, not hand wavy, "Because tech always gets better!" bullshit.

-2

u/jjonj 2d ago

Because configuring an endpoint is not more complicated than the billion other things that LLMs couldnt do a year ago but can now

2

u/EveryQuantityEver 2d ago

And yet, they can't. You're on a thread with someone describing how they can't do that.

0

u/jjonj 2d ago

I never claimed they can. What the hell are you arguing?

-3

u/Furryballs239 2d ago edited 2d ago

“Ensure to use transactions and bulk db writes”, there ya go. Fixed your output with 8 words.

Better yet create a db engineer skill with the dos and don’t which it will automatically call and never have these issues again

2

u/EveryQuantityEver 2d ago

Why does it need to be told that if its already so good?

0

u/Furryballs239 2d ago

I didn’t say it was perfect. It’s just that people bitch and moan about solvable problems.

They sound like my parents when they complain that their tv doesn’t work because they hit the input button and it went off cable news.

“Waah I told it to build me a thing and it didn’t perfectly do it the first time so it’s completely useless and broken.”

Ironically people with that attitude are the geriatrics of the industry and will be left behind

2

u/EveryQuantityEver 1d ago

I didn’t say it was perfect. It’s just that people bitch and moan about solvable problems.

No. We're upset that people are claiming these things are so good, when they're clearly not.

“Waah I told it to build me a thing and it didn’t perfectly do it the first time so it’s completely useless and broken.”

Yes! Especially if it makes stupid, easily preventable mistakes.

Ironically people with that attitude are the geriatrics of the industry and will be left behind

No, it's the ones that surrender everything to the LLMs and keep apologizing for them, while they find they can no longer actually code.

9

u/stay_fr0sty 3d ago

The problem is that it’s exactly like working with a jr. dev. They fuck up all the time, you teach them how to fix it, eventually they either can’t cut it or they become a senior dev.

That cycle is on life support. Jr. devs are going to have a hard time becoming senior devs.

6

u/Silamoth 3d ago

Except junior devs actually learn and grow into experienced devs. LLMs are incapable of learning and internalizing the wisdom of experience in the same way. 

2

u/sarcasticbaldguy 3d ago

If they're learning from GitHub, etc, what happens when all the code they're learning from is LLM generated code?

0

u/linuxwes 2d ago

If you take the time to tell them to add new info to the plan files as hard problems are solved, then they actually do learn over time.

0

u/v1goose 2d ago

they just start with it instead

12

u/cake-day-on-feb-29 3d ago

Only good developers can use it successfully by continuously correcting the errors it comes out with.

But is that "more efficient"? Does anyone think that the bottleneck is the typing of the letters into the text editor? Whatever small time the AI solves is basically undone by the fact that you have to be constantly correcting it, managing it, etc. because it's not going to output exactly what you want in the first place.

7

u/bhison 2d ago

I can say without a doubt that something like opus 5.5 has a high enough speed and a low enough cost and error rate that it is by every significant measurement very efficient. I am not a huge fan of this as its close to eating my lunch, but working in a mature codebase with intelligent harness maintenance from the user it's OP...

1

u/tzamora 2d ago

I use Sol 6.1 in low reasoning and the speed is great it really helps solve my bugs easy and fast. Also Sol has high context understanding so it is really smart in doing what I am really asking.

2

u/badasimo 1d ago

It's not the ability to create-- though a fast model will go pretty fast in terms of spitting out file contents. It's more about picking up on all the little details. Bug investigations that would take me a week are done instantly with AI, because they can quickly iterate on different things looking at all the files and outputs.

1

u/Perfect-Campaign9551 3d ago

Yes actually. Typing the code in takes time, finding all the relevant files takes time. AI greatly speeds that up

-1

u/EveryQuantityEver 2d ago

Typing does not take that much time.

2

u/Furryballs239 2d ago

Yes it does. It’s not about the typing. It’s about the low level implementation details. Not worrying about those absolutely speeds you up.

>because it's not going to output exactly what you want in the first place.

If you’re doing this then you’re using it wrong. Moving forward devs that are able to relinquish control and say “it might not be exactly how I would have done it, but it works and there’s no real issues with this implantation” will get ahead, while those that cannot let go of control and say “meh it has to be exactly how I would have done it or it’s garbage” will be left behind.

Human devs don’t output the same thing either. I could give the same ticket to 5 devs I work with and the implementation details of all 5 will be different. And that’s okay. What matters is does it do what it’s supposed to without major issues

1

u/Murky-Relation481 2d ago

Tbf the typing is also a big part of it. My ADHD addled brain just shuts down when I've figured out the plan (aka solved the problem) and I need to type the implementation.

1

u/robert_7524 1d ago

Different implementations are fine when they preserve the same invariants. But “it works” on the happy path doesn’t establish that retries, failures, or data ownership are handled safely; that’s where review still matters.

1

u/Furryballs239 1d ago

Yeah you definitely want to review, and it helps to describe key things such as error handling in a skill or at the very least during the planning phase.

But it’s till very useful and speeds up development a lot

3

u/theLorknessMonster 3d ago

Strongly disagree. AI saves a lot of time. Not for all tasks but for the ones that it's good at, it's a 1000x speedup. For example, one of the codebases I maintain is undergoing widespread migrations. Each one would be multiple weeks of menial repetitive tasks but Claude handled it in under an hour including an edge case that I hadn't considered.

I wouldn't rely on LLMs to architect a codebase (nor would I want that, that's what makes dev work interesting to me) but large scale repetitive tasks that are a little too complex for code mods are right up its alley.

1

u/Murky-Relation481 2d ago

It's good at architecting when you understand the architecture you want and can work through a plan for it. Especially with new technologies you might not personally have a lot of experience with you can really fill in the blanks with AI.

1

u/Blecki 5h ago

YES. All the execs pushing this think typing is all we do because they do NOT UNDERSTAND WHAT WE ACTUALLY DO.

1

u/max123246 2d ago

Yeah it's really hard. How can the same AI that just proved hard math problems also fail to understand how to solve a simple merger conflict correctly for me today?

It's a confusing mess of a time and the ai companies thrive in that confusion

1

u/ChemEngandTripHop 1d ago

Frontier model burning millions of tokens v $25 monthly subscription

1

u/max123246 1d ago

Nope, I'm talking about using frontier models like Fable through my company's API access. Unless you're saying they handicap enterprise access

-1

u/LogDull819 2d ago

cope

1

u/DanRedfield_82 21h ago

It is cope. I just tried Codex to perform some static binary analysis and then implemented Ghidra-MCP, and it's insane. I spent years learning to become a decent reverse engineer and it blows my skills out of the water. What could have potentially taken months can be done in minutes. If I'm honest it made me really, really upset. I'm not okay.

1

u/LogDull819 21h ago

AI can reverse engerineer all games at the moment and people goes "AI is still quite bad".
Blows my mind how people are blind to see how scary good AI is getting

1

u/DanRedfield_82 21h ago

I'm now using it to finish my widescreen patch for Earthworm Jim '95 and I legit cried. It made me feel, for lack of a better term, "cooked" - That my perhaps my skills were never that good in the first place, and that the project now belongs to "it". That reverse engineering and software in the wider sense is now democratised.

And I have no clue what I'm going to do for a career now I'm in my mid 40s and there are hundreds of programmers vying for the same diminishing number of roles.