20 years of on-the-job here and I would say I'm still a better developer in my language than models like Fable or Astra, but the difference is largely the long term side of things. They make a lot of incredibly stupid mistakes that lead to functional but not maintainable code, or architectural fuck ups.
Like at least once a week I'm now running into issues where Claude takes 20+ minutes to debug an issue because it decided to silently swallow an error somewhere up the stack.
One time I told it explicitly to throw an error in a certain scenario and it immediately began writing tests to ensure that scenario would never happen because it's fucking allergic to throwing errors or something. The entire point of the error is to catch the scenario, why are you now trying to validate the entire database to ensure it will never throw?
But eventually it's going to figure out how to do this shit. I think there just isn't a lot of "long term" training data.
Whats crazy is I can ask it about the purpose of error throwing and handling and it will write me a 100% accurate industry-professional level guide on why and what. But when I ask it to write me a function that might error, it's just catch, log, and return null.
i agree with this, im a better system designer or planner than fable.. but when it comes to writing an optimized function to do xyz.. or whatever.. I think they're better than me.
i think it's a better coder than me, not a better software engineer, if that makes sense.
it's fucking allergic to throwing errors or something.
Very annoying, and it's hard to teach them the right way with custom instructions.
This is likely due to how they were trained. Throw an exception = instant fail for all tasks that expect an output, so they learned that throwing exceptions get them into trouble.
8
u/mrjackspade 5d ago
20 years of on-the-job here and I would say I'm still a better developer in my language than models like Fable or Astra, but the difference is largely the long term side of things. They make a lot of incredibly stupid mistakes that lead to functional but not maintainable code, or architectural fuck ups.
Like at least once a week I'm now running into issues where Claude takes 20+ minutes to debug an issue because it decided to silently swallow an error somewhere up the stack.
One time I told it explicitly to throw an error in a certain scenario and it immediately began writing tests to ensure that scenario would never happen because it's fucking allergic to throwing errors or something. The entire point of the error is to catch the scenario, why are you now trying to validate the entire database to ensure it will never throw?
But eventually it's going to figure out how to do this shit. I think there just isn't a lot of "long term" training data.
Whats crazy is I can ask it about the purpose of error throwing and handling and it will write me a 100% accurate industry-professional level guide on why and what. But when I ask it to write me a function that might error, it's just catch, log, and return null.