I’ve been preparing a talk about AI-assisted development and spent a lot of time reading what developers are saying online, in meetups, in conference hallways. A pattern keeps showing up: most developers either reject AI entirely or use it without much intention. Very few are in between.
The first group is choosing obsolescence. The second is vibecoding: throwing prompts at an agent, hoping for the best, and shipping whatever comes back.
There’s a better way to work with agents and it has a name: Agentic Engineering.
Don’t fall into the anti-AI trap
It used to be cool to be anti-AI. You could sit in your corner, joking about how silly the models were, how this was just a hype, and how you would get a job improving the broken code written by the models.
That time has passed.
The code generated by top-tier models (Claude, GPT, even open ones like Kimi K2.5 and GLM 5) is good. With proper review, you get production-ready code. Not perfect, but it works and makes sense.
By staying anti-AI you are actively missing out on learning skills that are in demand, on real productivity gains, and on being part of a technological shift that doesn’t happen often. The last disruptions of this magnitude? Maybe Agile. Maybe the web itself. Maybe open-source in the 90s.
As antirez put it: for most projects, writing the code yourself is no longer sensible, if not to have fun. And he’s the guy who wrote Redis by hand in C.
You MUST use AI to code
This is not optional anymore.
We have always known that our job is not typing code. It’s thinking about problems, making decisions, designing solutions. Well, now we don’t need to type most of it either.
Your role has shifted to deciding and reviewing, each at their own scope of decision-making.
If you’re not using AI, someone with your same skill level plus an agent is outperforming you. That’s just how it is.
"You can’t review what you don’t understand, and you can’t understand what you haven’t done yourself."
— Matteo Collina, Yes, Learning to Code Is Still Valuable
Which brings me to a distinction that matters.
Vibecoding vs. Agentic Engineering
Vibecoding is what most people do when they first start with AI. You open a chat, describe what you want in vague terms, the agent generates code, you paste it somewhere, it kind of works, you move on.
Fine for exploration. Fine for throwaway scripts. Not engineering.
Agentic Engineering is the deliberate version. Agentic because the agent generates the code. Engineering because you still think, plan, iterate, and review.
Think of pair programming. The agent is the driver. You are the navigator. The navigator doesn’t write code, but the navigator is the one who keeps the project on track.
How to get into it
Before the tips, a reality check.
You won’t integrate agents into your workflow overnight. Force yourself to use them. I don’t mean trying it for 20 minutes and giving up. I mean weeks of consistent use.
You won’t get great results at the beginning. That’s fine. Same learning curve you’ve faced with every tool you’ve ever picked up.
Here’s what worked for me:
1. Set aside time to experiment
You have to enforce this. Just like any skill, you need dedicated time. 30 minutes a day, an hour every other day, whatever works. The point is consistency.
2. Every side project uses AI
That PoC you need to build, the demo for your next talk, the project you never started. All perfect candidates. You don’t need the perfect project. Start with what you have.
3. Find tasks at work
Documentation, file parsing, translations, repetitive scripts. Low stakes, good learning.
Want to level up faster? Redo tasks you’ve already solved, but this time with an agent. Since you already know the solution, you can focus entirely on guiding the agent. One of the fastest ways to get better at this.
4. Build entire projects with AI
I’ve done it: 61 commits, 507 tests, 12k lines of code, deployed to production in 5 days. I didn’t write a single line of code manually. But I made every decision.
Agentic Engineering tips
This is where vibecoding and agentic engineering part ways.
Have a plan before you prompt
Before asking the agent anything, know what you want. A goal and a rough sequence of steps. It doesn’t have to be detailed, but it has to exist.
Use plan mode if your agent supports it. Let the agent propose an approach, review it, adjust, then execute.
Work step by step
Don’t ask the agent to build an entire feature in one shot. Break it down. Validate every small change. Change the route if needed. Interfere. Ask it to redo.
After each validated step: update docs, run the linter, run tests, commit and push.
Small changes are easy to revert. Large ones are a nightmare.
This is not a new idea. This is what every competent developer should do. Agile, extreme programming, all of it converges on the same thing: small, validated, incremental steps.
Set up guardrails for the agent
Agents work better when they have constraints. I didn’t expect this to matter as much as it does, but it changes everything.
Give the agent context files (CLAUDE.md, AGENTS.md, skills files) so it knows your codebase conventions. Set up linters and formatters so the agent can read their output and fix its own violations. Write tests and run them after every change so both you and the agent know if something broke. Add git hooks (pre-commit, pre-push) as automated gates. Keep your CI/CD pipeline as the final checkpoint.
None of these tools are new. They existed before AI and they were always good practices. But now they’re the infrastructure that keeps AI-assisted development from going off the rails. Linters plus tests plus hooks is basically an automated code review partner sitting on top of the agent.
What’s left to learn?
A lot. More than ever, actually.
I once had a PM at GoDaddy who would estimate task points. But how do you estimate something if you don’t understand the process of building it?
You can’t review what you don’t know.
To guide an agent through a feature, from frontend to backend, you need to understand UX, data modeling, API design, security, architecture. You need to know how systems connect, how they break, how they scale.
Distributed systems, algorithms, networking: these are more valuable now, not less. The bootcamp path of "learn React in 12 weeks" is closing. The path of deep fundamentals is wide open.
On the product side: learn about your client’s product. Understand how the projects integrate with each other. That kind of contextual knowledge makes a developer irreplaceable, agent or no agent.
The agent amplifies you
AI amplifies what you already are. If you’re a good developer who plans before coding, writes tests, and understands the problem before solving it, the agent will make you much better.
If you skip the thinking, if you don’t care about understanding, if you just vibecode your way through… you’ll end up with a mess. A fast mess, but a mess.
Speed is not the same as productivity.
The agent is a multiplier. A multiplier only works if what it’s multiplying is worth something.
Thanks for reading!
References:
- antirez — Don’t fall into the anti-AI hype
- Matteo Collina — Yes, Learning to Code Is Still Valuable
- Writing a Good CLAUDE.md
- Claude Code Skills Explained
- Akita on Rails — Vibe Code do Zero à Produção
We want to work with you. Check out our Services page!

