I personally enjoy coding by hand still, but I do it much less often than I used to. Claude has gotten good enough at generating code I want it to generate that it is undoubtedly faster than writing it by hand, with generally speaking next to zero loss of context (for me) and understanding. If I don’t understand what it produces, I stop and review until I do. But there comes a point where you’ve seen most patterns in code and very few surprise you, at least with a language you’re familiar with. I would never use it so heavily for a new language - I need to know the language before I can become comfortable allowing Claude to write it for me. So then programming becomes more system design and less about actual writing code. Which is generally not bad - it allows you to experiment quicker and land on better solutions faster.
I would not recommend this approach to juniors though. You need to get in there and fuck some shit up and learn from mistakes. Then later on, you can defer the “grunt work” to an LLM.
Not long ago, I said I didn’t want to use an LLM for coding because I didn’t want to do more code review than I already did. But that has changed, because the quality of the code I’m reviewing from Claude is better. I’m sure that’s partly from Claude itself. But I think also having proper guidance in instruction MD files, and clear examples to follow in the codebase helps. LLMs are pattern matchers, after all.
I personally enjoy coding by hand still, but I do it much less often than I used to. Claude has gotten good enough at generating code I want it to generate that it is undoubtedly faster than writing it by hand, with generally speaking next to zero loss of context (for me) and understanding. If I don’t understand what it produces, I stop and review until I do. But there comes a point where you’ve seen most patterns in code and very few surprise you, at least with a language you’re familiar with. I would never use it so heavily for a new language - I need to know the language before I can become comfortable allowing Claude to write it for me. So then programming becomes more system design and less about actual writing code. Which is generally not bad - it allows you to experiment quicker and land on better solutions faster.
I would not recommend this approach to juniors though. You need to get in there and fuck some shit up and learn from mistakes. Then later on, you can defer the “grunt work” to an LLM.
Not long ago, I said I didn’t want to use an LLM for coding because I didn’t want to do more code review than I already did. But that has changed, because the quality of the code I’m reviewing from Claude is better. I’m sure that’s partly from Claude itself. But I think also having proper guidance in instruction MD files, and clear examples to follow in the codebase helps. LLMs are pattern matchers, after all.