More thinking isn’t a simple good thing. Given a limit to how much thought I can give any specific task, adding extra work may mean less where it’s most useful.
Before, it was like:
"Oh, X idea is really cool, let me try it!" ... (loses interest before idea validated)
Now: "Oh, X idea is really cool, let me try it!" ... with AI, I get to actually validate that it works (ideally), or reformulate the idea if it doesn't.
- Exploration: I am "vibe coding" to explore a domain, add many features, refactor the app over and over, as a real time exploration of the domain to see what works and what doesn't
- Specific Execution: I have a full design, a full idea, I've thought about architecture, we're making a plan and we're executing this extremely coherent vision
I've enjoyed using AI for both cases.
git worktrees as an example.
This.
Coding assistants handle a great deal of the drudge work involved in refactoring. I find myself doing far more deep refactoring work as quick proofs of concept than before. It's also quite convenient to have coding assistants handle troubleshooting steps for you.
I do think though if I were to delegate the API itself to AI and say something like the code doesn't matter, the high level thinking would suffer from lack of pain working through implementation details.
The trick is to deliberately use it in a way that helps you learn.