Remix.run Logo
mindwok 2 days ago

IMO “junior developer who doesn't learn“ is not quite right. Claude is more like an senior, highly academic engineer who has read all the literature but hasn't ever written any code. Amazing encyclopaedic knowledge, zero taste.

I've been building commercial codebases with Claude for the last few months and almost all of my input is on taste and what defines success. The code itself is basically disposable.

all2 2 days ago | parent | next [-]

> The code itself is basically disposable.

I'm finding this is the case for my work as well. The spec is the secret sauce, the code (and its many drafts) are disposable. Eventually I land on something serviceable, but until I do, I will easily drop a draft and start on a new one with a spec that is a little more refined.

dotancohen 2 days ago | parent | next [-]

I just like to add that the database design is the real secret sauce, important even more than external APIs in my opinion.

all2 2 days ago | parent | next [-]

This is something that I've stumbled into as well. DB models AND dataflow. Getting both of those well spec'd makes things a lot easier.

mattmanser 2 days ago | parent | prev [-]

Well, not DB design really, you can achieve the same thing by defining your POCOs well. I switched entirely to code-first design years ago. If you haven't worked with a good ORM, you're really missing out, though I admit there was quite a bit of friction at first.

dotancohen 2 days ago | parent [-]

No, I really am talking about how the database is organised. Tables representing objects, normalisation, etc. Whether or not it is accessed through the application with an ORM.

bjornsing 2 days ago | parent | prev [-]

So how do you best store and iterate on the spec? One way I guess would be to work on a branch an modify Claude.md to reflect what the branch is for. Is that a good approach? Are there others?

globular-toast 2 days ago | parent | prev | next [-]

If the code is disposable then where do all the rules and reasoning etc live apart from in your head?

dotancohen 2 days ago | parent [-]

In the spec.

globular-toast 2 days ago | parent [-]

Hmm... my code is the spec. It just happens to be executable. Is writing a precise spec in English easier than in a programming language?

dotancohen 2 days ago | parent [-]

The spec contains ambiguities and the code contains bugs. Clarifying ambiguities in the spec with stakeholders, allows one to reduce bugs in the code.

caseyohara 2 days ago | parent [-]

If you repeat this process until all ambiguities in the spec are eliminated, aren't you essentially left with code? Or at least something that looks more like code than plain English?

dotancohen 2 days ago | parent [-]

No

baq 2 days ago | parent | prev | next [-]

> The code itself is basically disposable.

This is key. We’re in mass production of software era. It’s easier and cheaper to replace a broken thing/part than to fix it, things being some units of code.

sanitycheck 2 days ago | parent | prev [-]

Eh, Claude is like a magical spaniel that can read and write very quickly, with early-stage alzheimers, on amphetamines.

Yes it knows a lot and can regurgitate things and create plausible code (if I have it run builds and fix errors every time it changes a file - which of course eats tokens) but having absolutely no understanding of how time or space works leads to 90% of its great ideas being nonsensical for UI tasks. Everything is needing very careful guidance and supervision otherwise it decides to do something different instead. For back end stuff, maybe it's better.

I'm on the fence regarding overall utility but $20/month could almost be worth it for a tool that can add a ton of debug logging in seconds, some months.