Is Using AI to Write Code Helping or Hurting My Long-Term Growth?
Background
As I work on projects that span across frontend, backend, and databases, I’ve been leaning heavily on AI tools like:
- ChatGPT
- Claude
- Cursor IDE
These tools help me generate boilerplate code, fix bugs, and even build full components. But lately, I’ve been asking myself:
Am I actually learning how to code — or just learning how to ask AI to code for me?
The Dilemma
I can explain the architecture of my projects:
- Why I used FastAPI for backend
- Why I selected SQLite or PostgreSQL
- Why I used FAISS instead of Weaviate
I understand the flow and logic.
But if you put me in front of a blank editor and said, “write the code for this from scratch” — I’d probably freeze.
That worries me.
What I Gain from Using AI
- Speed: AI drastically reduces the time spent searching documentation
- Exploration: I can test multiple approaches quickly
- Confidence: It helps me attempt things I wouldn’t even try alone
What I Risk Losing
- Muscle memory: Without repetition, I don’t retain syntax or patterns
- Debugging depth: I rely on the AI to fix things I don’t fully understand
- Real fluency: I’m not yet at the level to build the same solution solo
This is like learning a language through translation — I get the meaning, but I can’t yet speak fluently.
My Long-Term Goal
I don’t want to just copy-paste code and hope it works. I want to:
- Understand the concepts deeply
- Explain every design choice in my project
- Be confident enough to reproduce parts manually, even if AI is available
The goal isn’t to avoid AI. It’s to use AI as a collaborator, not a crutch.
What I’m Doing About It
- I pause after generation to review every line and ask: “why is this here?”
- I write summaries in my own words to explain key components
- I try to re-implement small parts manually without AI
- I document all my design choices clearly in blog posts (like this one)
Final Thought
Using AI isn’t cheating — it’s accelerating.
But if I don’t stop to understand, I’m not growing.
I want to build systems I understand, not just run systems that work.
So I’ll keep using AI — but I’ll make sure I’m the one in control of the idea, the design, and eventually, the implementation.