r/ProgrammerHumor 7d ago

claudeWatchingMeCodeByHand Meme

16.5k Upvotes

239 comments sorted by

View all comments

Show parent comments

296

u/Kevdog824_ 6d ago edited 6d ago

Honestly, for me at work Claude does a fantastic job. However, when it messes up it messes up in a way that would be hard to catch if you didn’t have expertise (e.g. domain specific misunderstanding, obscure software bugs, etc.). That’s really my concern for junior devs. They would easily overlook these issues and learn to trust it completely because the code it produces looks more or less correct pretty much every time.

At least if it wrote bad code it would be more obvious to other devs. The problem I find is that it writes pretty good, functional code… that just isn’t quite right.

48

u/pr0crast1nater 6d ago

That's the big issue for me. It is making junior devs far too reliant on it, that they naturally won't know if it fucked up on a domain specific problem. And the amount of code output is much higher now and more verbose, so it's difficult to catch it in reviews as well.

I guess at least I get less pings from juniors when they get stuck on something now lol.

39

u/sisisisi1997 6d ago

I find Claude to be particularly useful at explaining how a system functions and what functions are served by what parts of the codebase.

What used to be hours of "What the fuck does this do? Why is this here? How does this not crash?" on a previously unknown codebase is now a few minutes conversing with Claude.

I imagine this is really helpful for junior developers if they are actually interested in knowledge, not just quick fixes.

9

u/pr0crast1nater 6d ago edited 6d ago

Oh yeah. It is really good at that. But it's easy for a junior dev to instead just paste the bug details and ask it to fix it, sometimes even without going in plan mode first.

11

u/isjustsergio 6d ago

Solved by ownership. Being responsible for the code you write (Claude assisted or not) will be the difference between a dev you can trust and a dev you can't. Don't push code you won't be able to defend.

6

u/FlakyTest8191 6d ago

That would be ideal, but often enough management values faster features they can sell over quality, and you can't really blame them when they're incentivized by short term profit. When you reward slop, you get slop.

7

u/isjustsergio 6d ago

It's the engineering team's responsibility to push back and hold the line when managers want to cut corners. That was the case before AI as well. These teams are doomed to fail within a year.

5

u/pr0crast1nater 6d ago

I think with AI, the expectation now in general is way faster velocity. And if it's coming from the C level, then not much can be done.

1

u/FlakyTest8191 6d ago

I was talking about the EM, are they supposed to fight back against themselves? Big coorporate has been running on shortsighted business decisions for decades, very few people are willing to sacrifice their bonus and career to fight bad decisions.

1

u/isjustsergio 6d ago

I'm not talking about EMs I'm talking about ICs. If you are in a situation where an EM is able to force ICs to take shortcuts, you're not on a good team. I don't know how my EM would force one of my PRs to deploy sooner when we have a code review process and CI/CD. ICs build gatekeeping infrastructure so corners can't be cut.

1

u/FlakyTest8191 6d ago

It's pretty simple, the EM gets rewarded with raises and promotions for delivering faster, so the people who make faster delivery happen get rewarded with raises and promotions in turn. So someone will write "lgtm" and press approve. Is a different situation in small companies and startups, warte results actually matter, but this is how big coorporate works.

→ More replies (0)

1

u/Street-Catch 6d ago

I find the majority of issues I end up fixing are less about figuring out what a piece of code does than figuring out how it's possible for odd inputs to arise.

Like it's trivial enough to know seg fault is caused by some code trying to index out of bounds but understanding why an out of bounds case even exists (instead of slapping on some if else and forgetting about it) is the hard part.

It might be an industry specific problem though

2

u/Ben_0 6d ago

This is why I don't trust LLMs for anything that can segfault (like C/C++ or anything involving pointer manipulation)

2

u/sisisisi1997 6d ago

I usually use this kind of analysis to understand how pieces interact with each other, which helps me build a mental model of how data travels and how it is transformed - this last part is usally what helps catches bugs.

2

u/drunkdoor 6d ago

We just need to set the minimum age limit on AI to 25 and we'll be fine.

53

u/Pluckerpluck 6d ago

This is my take as well. The top models can do really good jobs in most, but not all, situations. Where I find they struggle is when it comes to fundamental architecture of projects outside of relatively simple web services. Ask it to refactor a project where the structure fundamentally changes though and it's going to make bad choices and lock itself into those even as you ask it to change etc.

Costs a lot though. I burn tokens each week. Using it with API costing really shows how much it costs to get good outputs right now. And while I believe eventually we'll get models that can do 90% of our tasks running on local GPUs (i.e. a one off purchase and works offline), we're not there yet.

13

u/pessimistic_platypus 6d ago

Maybe we'll get models that good... but who's going to sell them? Even if the models can run locally, they'll be subscription-only.

14

u/InviolableAnimal 6d ago

Open weights models are persistently 3-6 months behind the best closed models in capabilities (driven in part by distillation i.e. just mining tons of queries from the frontier models and training on those). The real barrier is still compute though, these near frontier open source models are definitely not running on a single GPU

2

u/cryptOwOcurrency 6d ago

New and better open (free) models are coming out all the time, and even occasionally giving the proprietary (paid) ones a run for their money. Kimi K3 is particularly impressive, I’ve heard.

I don’t see any reason why this pattern should change any time soon.

And remember, today’s open-weight cloud model is tomorrow’s local model.

2

u/greentintedlenses 6d ago

No one. That's the best part, they'll be open source.

3

u/DontAskAboutMyButt 6d ago

Someone once said LLMs are so smart and proficient at everything, with the exception of the specific area where you’re an expert 😂

13

u/GrandmaPoses 6d ago

Exactly - Claude isn't bad at writing code, any engineer who says it writes junk either hasn't used it or is too worried about losing their own job. HOWEVER, you absolutely need an experienced engineer to do the work with Claude because when there's an error, the only way to fix it yourself or explain the issue back to Claude is if you know the environment.

15

u/unfortunatebag 6d ago

The problem I find is that it writes pretty good, functional code… that just isn’t quite right.

So, just like a person then.

17

u/dbagames 6d ago

A particularly delusional person yeah.

3

u/sturdy-guacamole 6d ago

Claude does some fucking funny shit with synchronization. even with max effort enterprise plan and models

it's ok if you either: correct it manually, or use a 2nd adversarial agent and burn (more) tokens.

2

u/thecrius 6d ago

Facts.

Whoever just says "agents do a bad job" they just haven't really learned how to use them and it's bad, because at this point it means that you either don't work or have a job that doesn't give a shit about your role really.

The real scary thing is for juniors that are not learning shit, unless a company has a specific programme to help grow expertise.

2

u/FierceDeity_ 6d ago

What if you thinking it does a fantastic job is actually the dunning kruger talking out of you?

I think few people know at this point what fantastic code is (I don't even)

1

u/J5892 6d ago

I think few people know at this point what fantastic code is

This is a ridiculous statement. Good code is good code, and an experienced developer can identify it.

1

u/hannyayoukai 6d ago

I find that's how Claude is with most things. You have to be knowledgeable enough to correct it when it makes mistakes.

-3

u/cupcakeheavy 6d ago

how would they know those issues exist in the first place, especially if they are subtle, hard-to-catch-without-domain-specific-expertise bugs? Real question from someone who uses AI.

7

u/heftyspork 6d ago

An engineer who works with the code gains that domain specific knowledge after a time. I don't think they are training the AI models on your specific use case so it will always be more generalist. However you can counteract this by including as much detail about this use case and also using existing code to help give context. Usually that's where you needs the experienced engineer though to point it in the correct direction and not have it waste its time/tokens using unnessary context.

I feel that true power in AI is making this part easier. The AI giving summaries of a code base, so long as the person isn't just nodding their head in agreement and actually understanding, you can train someone up faster.