My AI Coding Journey
My Experiences Learning AI Coding

Being a programmer at heart, my focus was always to write high quality and maintainable code. I had the privilege to learn from some of the best programmers (Mostly online, less offline) by reading their code and understanding their mindset in solving the problem.
This habit shaped how I think about software far more than any framework or tool.
The GPT era
I use GPT mostly for non coding tasks.
Occasionally, I’ve leaned on it for code, especially for stacks that I’ve less experience with ( Ex: Python). I’d ask it to explain what a piece of code was doing or help reason through a specific piece of logic before taking the final stand.
For stacks I was familiar with, I avoided GPT for Code. LLM Hallucinations are real and I didn’t require assistance.
Microsoft Co Pilot
Fast forward 2025,I tried Microsoft Copilot with VS Code. Copilot watches what you’re doing and suggests the next few lines of code. Press Tab, and it writes them for you.
I remember spinning up a simple Express server for a quick experiment. Almost immediately, Copilot started injecting advanced logging. Something I hadn’t asked for and didn’t need at that moment.
Pressing Tab without understanding what was added feels harmless. The code works, but complexity sneaks in.
What saved me was the habit built over the years: reviewing every line of code.
Claude Code
Now, this was the biggest revelation for me. I wanted to try vibe coding and was looking for a tool. I’ve tried Codex (From ChatGPT) and Claude Code (From Anthropic) and the developer in me loved Claude Code.
Fun Fact: Claude Code was created as a side project by Boris Cherny back in September 2024
When I started I was using Sonnet but once Opus 4.5 Model was released, there was no going back. I do not code heavily with Claude Code since my goal is to learn the tricks and tips around vibe coding.
Vibe Coding is powerful - but risky
Claude makes mistakes confidently. Full stack experience helps you spot when something looks correct but is functionally wrong.
Clear guidelines upfront will prevent later optimization/rework.
Structured Instructions reduces ambiguity. Markdown or XML make intent explicit and improve reasoning.
Database tasks demand explicit schema constraints. Without this, Claude confidently invents column names.
Never auto-approve DB Schema and Architecture changes. Claude optimizes for the current instructions, and misses global context.
Restrict Claude Code’s access to the code folder. Broader access increases the blast radius.
Tests are non-negotiable. Without them, vibe coding turns into guesswork.
Test Driven Development preserves intent and limits the impact of hallucination.
Context Rot is real. In long sessions, lessons degrade and blurs intent.
What this taught me
The real value wasn’t speed or output, but understanding the limits of the agent.
Knowing where the agent breaks down mattered more than what it could do well.
While prompting and rules are important, it cannot replace judgement.
The most valuable skill is spotting when the agent is heading in the wrong direction.



