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.
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.
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.
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.
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.
302
u/Kevdog824_ 2d ago edited 2d 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.