Discussion about this post

User's avatar
Pawel Jozefiak's avatar

This really resonates with me. I've been thinking a lot about this tension between leveraging AI tools and maintaining deep understanding. You're right that "vibe coding" creates technical debt that compounds quickly - I've seen codebases become unmaintainable within months when developers treat AI suggestions as gospel rather than starting points.

What's interesting is that I've found the opposite approach actually makes coding more enjoyable, not less. When I built Wiz (my personal AI agent using Claude Code), I deliberately stayed in the loop on every architectural decision. The AI handles the tedious parts - boilerplate, syntax lookups, initial drafts - but I'm constantly questioning its suggestions, refactoring for clarity, and making sure I understand why each piece exists. It's like having a very fast junior developer who needs supervision but frees you up to think about the interesting problems.

The education angle you raise is crucial. I worry about developers who start with AI tools before building mental models of how systems work. You can't effectively review or guide AI output if you don't have the foundational knowledge to recognize when it's subtly wrong. And AI is subtly wrong a lot - confident but incorrect assumptions baked into code that passes tests but fails in production edge cases.

I wrote about a similar theme recently - how the right approach to AI tools can actually make building software fun again rather than turning us into passive consumers of generated code. The key is treating them as amplifiers for human judgment, not replacements for it: https://thoughts.jock.pl/p/cursor-vs-vibe-coding-tools-2025

No posts

Ready for more?