How I Got There
It started with a number that scared me.
I was curious one week — how much code am I actually writing myself? So I tracked it. Five days. Every line. Who wrote it — me or the AI.
Out of 847 lines of code I shipped that week, I personally wrote 71.
That's 8.3%.
The remaining 91.7% was generated by Cursor, copy-pasted, lightly reviewed, and shipped. I told myself I was "reviewing" it. But honestly? I was skimming it. I was trusting it. I was vibing.
And then came the interview. No AI. No Cursor. Just me and a problem I'd solved a dozen times before.
I froze for 45 minutes on something a junior developer should finish in 10.
That's when I decided to run an experiment.
What Even Is Vibe Coding?
Vibe coding is what happens when you stop thinking and start prompting.
You have a problem. You describe it to AI. You get code. You paste it. It works (mostly). You move on. You never ask why it works. You never think about edge cases. You never wonder if there's a better way. You just ship it and grab the next ticket.
It feels incredible, honestly. You're closing tickets faster than ever. Your manager thinks you've leveled up. You feel like a 10x developer.
But here's what's actually happening: you're not learning. You're outsourcing your brain. And the worst part is — it feels exactly like progress while it's happening.
The Skills I've Lost. Quietly. Without Noticing.
I used to be able to look at a complex problem and break it into steps in my head. Just... decompose it naturally. Now I describe the whole thing to AI and let it figure out the structure. I don't practice that decomposition anymore, and I can feel it getting harder.
I used to know array methods cold. .map, .filter, .reduce — no hesitation. Now I pause. I second-guess. The muscle memory is fading because I haven't needed it in months.
When AI-generated code breaks, I don't debug it from first principles anymore. I re-prompt. Because I didn't write it, I don't fully understand it, and re-prompting is faster than actually thinking. That's the trap right there.
But the worst one? Confidence. I used to trust myself. Now I reach for Cursor before I've even sat with a problem for 30 seconds. That's not efficiency. That's dependency.
Here's What Nobody Wants to Say Out Loud
Some developers using AI today could not pass a basic junior developer interview from 2019.
Not because they're stupid. Not because they don't work hard. But because they've been hiding behind tools long enough that the fundamentals have quietly rotted underneath them.
I include myself in that.
And the scary part isn't that it happened. The scary part is that I didn't notice it happening. I was too busy shipping tickets and feeling productive.
So I Ran an Experiment
30 days. No AI for writing first drafts. I could use it to review, explain, or suggest improvements — but the first attempt had to be mine.
Here's what actually happened:
Day 1: Reached for Cursor 11 times in 2 hours. Caught myself each time. Solved the problem in 3x the usual time. But I understood every single line I wrote. That felt strange. Good strange.
Day 3: Starting to remember syntax I hadn't thought about in months. Still slow. Still frustrated. Googled things I used to know by heart. Felt embarrassing. Did it anyway.
Day 7: Something shifted. I stopped panicking when I didn't immediately know the answer. I started sitting with the problem longer. That old feeling of "let me think through this" came back, faintly.
Day 14: Wrote a complete feature without touching AI once. Took longer than it would have with Cursor. But when my teammate asked how it worked, I explained it in 30 seconds without looking at the code. That felt like something I hadn't felt in a long time.
Day 30: I'm slower than I was with AI. My ticket velocity is down. But my understanding is up. When something breaks, I actually know where to look. I'm not just re-prompting and hoping.
I went back to using AI after the 30 days. But differently.
But I Ship Faster! — I Know. I've Said It Too.
Every time I felt a flicker of guilt about copy-pasting AI code, I buried it with this thought: I ship faster. I close more tickets. Isn't that what actually matters?
And look — yes. Speed matters. Shipping matters. Delivery is real.
But what happens when the AI isn't there? When the API goes down? When you need to debug something in a part of the codebase AI can't see? When you're in an interview? When a junior dev asks you to explain the code you just merged?
The code you ship today with AI is code you'll have to debug tomorrow without understanding it. That's not velocity. That's debt. And it compounds.
Vibe coding feels efficient. But it's borrowing speed from your future self. And the interest rate is your skill.
What I'm Doing Differently Now
I went back to AI. I'm not pretending that's not happening. But the rules changed.
No AI until I've genuinely attempted the problem myself. Even if my attempt is wrong. Even if it's slow. The attempt is the point — that's where the learning lives.
Every line of AI-generated code I ship, I can explain out loud. If I can't explain it, I don't ship it. Simple rule. Surprisingly hard to follow.
Loops, conditionals, basic array operations — I do those by hand. Every time. Not because AI can't do them faster. Because I need to keep the muscle memory alive or it disappears.
And one question at the end of each day: did I actually learn something today, or did I just generate?
Some days the answer is ugly. But I'm asking it now. That's the difference.
This Is the Part That's Going to Sit Uncomfortably in Your Head
The scary part isn't that AI is making us worse.
The scary part is that we won't know how bad it's gotten until the day we actually need to be good. An interview. A production crisis with no AI access. A moment where someone needs you — the developer, not your prompt.
And by then, we'll have spent years practicing how to prompt instead of how to think.
Use AI. It's a genuinely powerful tool and I'm not going back to a world without it.
But use it like a calculator — something that handles computation while your brain handles thinking. Not as a replacement for the thinking itself.
Because one day the calculator won't be there. And you'll want to still be a developer.
Disclosure: I used AI to help structure and organize my thoughts — but every experience, feeling, and word in this article is my own.
Top comments (38)
This hits hard. I recently had my own 'Code Red' while building Commerza (a custom ecommerce engine). I got lazy and asked an AI to refactor a massive backend file—it butchered the logic and deleted 40% of my work.
Because I was 'vibe coding' and hadn't set up Git yet, I spent 9 hours manually rebuilding what I didn't understand as well as I thought. Now, I don't ship a single line unless I can explain the logic. Frameworks and AI are great, but the 'manual struggle' is where the actual engineering happens.
This story gave me chills thank you for sharing it.
9 hours manually rebuilding what I didn't understand that's the real cost. Not the time. The realization that you didn't actually understand what you thought you did.
No Git, no backup, AI butchered the logic that's the perfect storm. I've felt that pit in my stomach.
Now I don't ship a line unless I can explain the logic that's the rule. Slower. Harder. Real.
Manual struggle is where actual engineering happens quote of the year.
Thank you for this. 🙌
working without git.. is just asking for trouble
This is the most honest thing I've read about AI and coding.
The interview story 10 minutes to 45 minutes that's the kind of specific, embarrassing detail that makes this real. I've felt that freeze. It's terrifying.
The skill you're not practicing today is the skill you won't have tomorrow bookmarking that.
Thank you for saying the quiet part out loud. 🙌
Thank you.
Freeze is exactly the right word. It's not that we can't solve the problem. It's that our brains have been trained to reach for AI instead of reaching for ourselves.
I'm glad the skill you're not practicing line hit. I wrote it for myself. To catch myself before I prompt without thinking.
Thanks for being here. 🙌
Thank you this means a lot.
Freeze is exactly the right word. It's not that we can't solve the problem. It's that our brains have been trained differently now.
I'm glad the line hit. I wrote it to catch myself.
Thanks for being here. 😊
The problem isn't vibe coding. It's coding without feedback loops. If you generate code and ship it without reading it, sure, you'll atrophy. But if you prompt, read the output, understand why it works, and refactor what doesn't fit... you're still learning. Faster, even. The interview scenario proves you lost one specific skill (solving algo puzzles under pressure with no tools). That's a valid concern for interviews. Less clear it matters for actual production work where you always have tools available.
Fair pushback and you make good points. 🙏
You're right: the problem isn't vibe coding, it's coding without feedback loops. If you prompt, read, understand, refactor that's learning, not atrophying. I should have made that clearer.
The interview example is specific. But my concern is broader: habits scale. If you stop reading AI-generated code because it's usually right, that habit carries over. And one day it won't be right, and you won't notice until it's in production.
But you're absolutely right that with discipline, vibe coding can be a superpower.
Thanks for this genuinely helpful nuance. 🙌
What would happen if you told ai to do something using programming terminology. Instead of do me x feature. Build function x it takes data x and outputs data y inside the function while loop etc would you be able to keep your skills while not slowing down?
Thats kinda how i work, in my case its often to complex to be understanble in a huge description, i want things done in phases, steps. I notice that i dont like manual coding that much, i'm kinda done with small typos and boring typing. Sometimes it's just one function or a group a functions with one goal in mind, and i extend upon coding goals. Designs are mine, but i dont care much about sealed classes factories etc that's a thing AI can do fine, i'm more for the real world logic and coding ideas on how to solve something. I find myself more of a designer who gets the code as thinks the design. Though the problems i work on are hard so perhaps i am biased.
I dont work on shopping sites etc, i do emulations real world industrial automation.
This is such a smart question I think you're onto something.
You're describing outsourcing the typing, not the thinking. You still break down the problem, choose the approach, decide on the syntax AI just does the keystrokes.
Would that preserve skills? I think yes, mostly. Your design skills stay sharp. But syntax muscle memory might still fade.
I tried something similar during my experiment. It was faster than writing everything myself, and I felt more engaged than just prompting build x feature.
The real test: could you explain the code afterward without looking? If yes, you're learning.
Thanks for this you've given me something to think about. 🙌
the 8.3% number stings but that is not the real problem. question is whether you understand the other 91.7%. there is a huge gap between AI code you can explain and code you just hoped worked - that gap is where things break.
You’ve nailed the real issue. The 8.3% number was just a symptom the scary part is how much code I thought I understood but actually didn’t.
That gap you mentioned? That’s where subtle bugs, security issues, and technical debt quietly grow.
My experiment wasn’t against AI it was for understanding. If you can’t explain what the AI wrote, you don’t own the code. You’re just hosting it.
Thanks for putting it better than I did 🙌
exactly - and that debt is silent until it isn't. that's the part that never shows up in the commit history.
Through your fingers - into your mind!
Very honest post. Thanks for sharing.
Maybe it's not only about doing it yourself until you need the help, but to know what you know, and what not.
Things you don't know are way more important to understand by heart than just recognize patterns by reflex. Is knowing .map etc. helpful? Sure. Does this make the difference, manual code-wise? I am not sure.
Writing code, typing through your fingers what you don't understand helps you gaining the knowledge. copy/pasting from SO can be as harmful as having it generated.
Maybe going back to these old magazine times, where we just re-typed the Assembler code from pages 17-24 into our own can help :)
Through your fingers into your mind. that's a beautiful way to put it.
You're right that knowing syntax isn't the real differentiator. The real differentiator is knowing what you don't know. AI can fill gaps, but it can't tell you where the gaps are.
The magazine example is perfect. Typing Assembler from pages 17-24 wasn't efficient. But it worked. The code entered through the fingers.
Thanks for this perspective it's deeper than just "don't use AI." 🙌
i feel this hard—the vibe coding high is great until you’re staring at a blank screen during a technical interview. i use cursor for almost everything now and definitely notice my syntax memory slipping while my vision stays sharp. it’s a weird trade-off for moving fast on the big picture. still figuring it out in cursor—austin taught me: just start the thing, even if you have to google the basics again later.
This is such an honest comment thank you.
The vibe coding high is great until you're staring at a blank screen during a technical interview that's the whole problem in one sentence. Feels amazing until it doesn't.
Syntax memory slipping, vision staying sharp that's the weird trade-off. You can see the big picture but the basics are fading.
Austin's advice just start the thing, even if you have to google the basics again that's the real solution. Not waiting. Just doing.
Thanks for sharing this. You're not alone. 🙌
I see AI in two distinct ways:
1. Experienced developers
Seasoned developers will use AI effectively because they understand how to evaluate the cleaner and critical output. They can quickly analyze AI‑generated code, refine prompts, and tweak the model toward better results. For them, AI is a productivity multiplier tool for building robust AI agents, writing unit tests and JSDoc, debugging, reviewing code for performance and memory issues, and handling many other development tasks.
2. Inexperienced or underprepared developers
Freshers, junior developers, or those with weak fundamentals may rely on AI blindly for generating code and shipping it without proper understanding or review. Their primary focus tends to be meeting delivery timelines and keeping managers or clients satisfied, rather than code quality, maintainability, or long-term impact.
As AI models and agents continue to become more capable and sophisticated, developers who fall into the second group are at high risk of becoming irrelevant. Those who don’t invest in strengthening their fundamentals and leveling up their skills will gradually be pushed out of the industry.
This is such a clear framework thank you. 🙏
Same AI tool. Two different outcomes. The difference isn't the tool it's the foundation underneath.
Experienced developers use AI as a multiplier. Inexperienced developers use it as a crutch. The industry incentivizes speed, and AI delivers speed so the second group ships faster but never builds fundamentals.
Your prediction about them becoming irrelevant is harsh but probably accurate. The only real job security is growing alongside AI, not being replaced by it.
Thanks for this thoughtful breakdown. 🙌
I’ve been thinking about this a lot too, especially the losing syntax muscle memory part. I was wondering, do we actually need syntax muscle memory anymore?
Not fundamentals — those are obviously still critical. But the exact syntax for every method or language feature? We already rely on docs, autocomplete, AI. If I can understand the generated code, does it really matter whether I could have written that syntax from memory? The coding interviews are a relevant example of syntax memory importance, but say what if interviews eventually move away from syntax-heavy coding tasks?
I also do know know the answer, so I try a hybrid approach: for some tasks generate boilerplate with AI, but then refactor and improve code by hand, just to keep my syntax skills in shape 🙂
This is such a thoughtful question and honestly, I don't have a perfect answer.
You're right to ask: do we actually need syntax muscle memory anymore? If AI can generate it, and I can understand it, does it matter that I couldn't write it from scratch?
Here's where I land and I'm still figuring this out:
Syntax memory isn't valuable by itself. Nobody gets paid for knowing that map comes before filter But syntax memory is a proxy for something deeper: fluency.
When you don't have to pause for syntax, your brain is free to think about structure, architecture, edge cases. When you're constantly looking things up, you lose flow. And flow is where good design happens.
You're right that interviews might change. They probably will. But the deeper question isn't can I pass an interview? It's can I hold a complex system in my head without breaking flow?
Your hybrid approach generate boilerplate, refactor by hand that's actually brilliant. You get the speed of AI and the comprehension of doing it yourself. The refactoring step is where the learning lives.
Thank you for asking this it's the kind of nuance this conversation needs. 🙌
Fluency coming from syntax is a really valid point, I didn't look at it from that perspective, definitely gave me something to think about.
Between AI generation and writing by hand, maybe it is really about finding the right balance? Something you can only figure out in practice 🙂
Exactly this balance is the real answer. And you're right, you only figure it out by practicing and paying attention.
Thanks for the thoughtful discussion. 🙌
The "muscle atrophy" framing resonates. What I've started doing with my team: one day a week we turn off AI assistants entirely and pair program on a tricky bug. It's slower but the quality of architectural thinking that comes back is noticeable — people start reaching for first principles again instead of prompting their way around a problem. The trap isn't AI itself, it's using it as a substitute for understanding rather than a multiplier on it.
This is such a practical approach thank you for sharing.
One day a week, no AI, pair program on a tricky bug specific, doable, and the slower pace is the point. That's where thinking happens.
The trap isn't AI itself it's using it as a substitute for understanding rather than a multiplier that's the perfect framing. I'm borrowing that.
I love that this is a team practice, not just individual. That's how real change happens.
How has the team reacted to the no AI day"? 🙌