I'm still a vibe coder. I just stopped vibing alone
Let me be honest about where I stand. I am a vibe coder. I do not really write the code. I describe what I want, the AI builds it, I read the result and say yes or fix this. I do not have a real engineer's skill set, and I probably never will. So I am not going to sit here and tell you I have arrived at something called agentic engineering. I have not, and I know it.
But I can see I am getting better. Put my projects in the order I built them and each one is cleaner than the one before it. The growth is real and it is visible month over month. It just did not come from learning to code. It came from one decision, made slowly and the hard way: I stopped letting the AI work unsupervised.
The thing nobody tells you about handing over the wheel
It feels efficient to let the AI decide everything and ship whatever it hands back. It is not. When you give it full control, you do not get a better product. You get a bigger bill. More sessions, more tokens, more confidently wrong work that you accept because you were not really looking. The one thing that reliably improves when you let the AI drive alone is the revenue of the company selling you the AI.
Your app does not get better that way. It gets bigger and vaguer and harder to fix, and you stop understanding what you shipped. The improvement only shows up when you stay in the loop and treat the output as something you are responsible for, not something that arrived finished.
So the work, for me, became a set of small habits to stay in that loop. None of this is engineering. A real engineer would do more, and better. This is just what a non-coder can do to keep hold of the wheel.
Give the amnesiac a memory
The AI starts every session as a stranger who has never seen the project. So I keep a few files it has to read on startup: a map of the project, the decisions we made and why, where we left off, and a running list of lessons. Without it, every session opens with the AI relearning everything and me re-explaining everything. It is not clever. It is just refusing to start from zero every time.
Turn every mistake into a written rule
This is the habit I would keep if I could keep only one. When the AI gets something wrong, I do not just fix it. I write down what went wrong, why, and the rule that stops it next time.
One day I had it build my game and install it to my phone wirelessly, for hours, no problem. The next session it forgot the whole process and told me to open a tool I never use. So that became a permanent rule: anything I do more than once becomes a script the first time, never something kept in the AI's head. The mistake stopped being a one-off and became a guardrail. Do that with every mistake and the thing slowly stops repeating itself. That, more than anything, is why each project comes out better than the last. I am not smarter. My list of guardrails is just longer.
Build a check for the thing that decides whether it is broken
For my match game, the question that matters is whether a level can actually be won. So I had the AI build a bot that plays all the levels by itself and reports which ones it can beat, and I run it before every release. The build always claims the levels are fine. The bot is how I find out the build is lying, and sometimes it was.
Then the bot lied too. It passed a level that was not winnable, because it counted moves and ignored the timer. A check that passes for the wrong reason is worse than no check, because now you trust it. So I learned to ask of every check whether it actually models the way you lose.
Read the output like a reviewer, not a compiler
This is the part that cannot be handed off. The AI does the wrong thing with total confidence and clean syntax. It reused a privacy policy from another of my apps that claimed a subscription this one does not have. It granted a reward twice on one purchase. It left ads running after someone paid to remove them. Every one of those ran fine.
I catch them because I read the output asking what here is not true, and what would get this rejected, not asking does it compile. It is my name on the store listing, my users, my refunds. The AI does not get rejected. I do. So before anything ships I do one slow pass with that in mind.
So, am I an agentic engineer
No. I am a vibe coder who stopped vibing alone. I still describe what I want and let the machine make it. I just refuse to let it make every call, and I stay responsible for what goes out with my name on it.
That is the whole point, and it is the one thing I would tell anyone building this way. Do not give the AI the wheel. Not because it cannot drive, but because when it drives alone the only winner is the company charging you per mile. Work with it. Own the result. Get a little better each project. You do not need to become an engineer for that. You just need to keep your hands on the wheel.