AI coding tools are advancing quickly, and what was impossible yesterday seems not only plausible today but routine. With this new power comes a new challenge: can we use AI for quick fixes alone, or as a springboard to deeper understanding and better code?
Shortcuts vs Sustainability
Vibe coding–describing what we want to an AI and letting it generate the code–is all the rage, and the process can be pleasing. It can be great for smaller, self-contained, and specific projects. I recently wanted to export some notes from Apple Notes to a specific format, and not being good at AppleScript, vibe coding it allowed me to get it done in an hour rather than an afternoon.
However, when constructing systems meant to last, maintained by teams of future strangers (perhaps including yourself!), there are other considerations to take into account. Good abstractions, readable code, and understanding the reasoning behind each solution become increasingly important, rather than simply making things work. Copying AI-generated code without understanding it can lead to maintainability issues down the line: confusing logic, hidden bugs or security vulnerabilities that no one understands well enough to easily fix.
This tradeoff isn’t new. Finding answers to your problems on Stack Overflow came with the same temptations. Paste a code snippet and be done, or dig deeper to understand why and how it works?
AI Can Make It Easier To Learn
With Stack Overflow, learning why a solution worked often meant more searching and investigation. AI tools, by contrast, can keep explaining at ever deeper levels (with some well-known caveats).
Here is my suggestion for a better workflow, that uses AI’s ability to help you code, and deepen your understanding:
- Describe the problem you want to solve. Share drafts or partial code to give the AI context.
- Go back and forth with the AI until you have something that works, testing as you go.
- Review the code as if in a code review: ask for reasoning, suggest alternatives, and challenge anything unclear.
- Summarise the AI’s explanations in your own words, then check your understanding by feeding your summary back to the AI.
- Remember that you have the final word, and decide on the solution you think is best.
If this sounds like advice for studying, that’s because it is. Having a patient tutor, ready to explain and re-explain until things click, is a marvellous thing. Let it keep curiosity alive, and help you become a better coder, not just a faster one.
Monkey see, monkey do. Human ask.