While preparing a talk on AI-assisted development, I spent a good amount of time reading what devs are saying online, at meetups, in conference hallways. One pattern shows up all the time: most people either reject AI completely or use it with no intention at all. Few are in the middle.

The first group is choosing obsolescence. The second is doing vibecoding: throwing prompts at an agent, hoping for the best, and shipping whatever comes back.

There is a better way to work with agents, and it has a name: Agentic Engineering.

Don’t fall into the anti-AI trap

Being anti-AI used to be cool. You stayed in your corner, making fun of how bad the models were, of how it was all hype, and of how you would get hired to fix the models’ broken code.

That time is over.

The code generated by frontier models (Claude, GPT, even open source ones like Kimi K2.5 and GLM 5) is good. With proper review, you get production-ready code. It’s not perfect, but it works and it makes sense.

By staying anti-AI, you are actively missing the chance to learn skills that are in demand, to get real productivity gains, and to take part in a technological shift that doesn’t happen often. The last disruptions of this size? Maybe Agile. Maybe the web itself. Maybe open source in the 90s.

As antirez put it: for most projects, writing the code yourself no longer makes sense, unless it’s for fun. And he’s the guy who wrote Redis by hand in C.

You HAVE TO use AI to code

This is not optional.

We always knew our job isn’t typing code. It’s thinking about problems, making decisions, designing solutions. Well, now we don’t have to type most of it either.

Your role has shifted to deciding and reviewing, each within your own scope of decision-making.

If you’re not using AI, someone at your level plus an agent is outperforming you. That’s 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 start with AI. You open a chat, describe what you want in vague terms, the agent generates code, you paste it somewhere, it sort of works, and you move on.

That’s fine for exploring. That’s fine for throwaway scripts. It’s 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 they are the one keeping the project on track.

How to get started

Before the tips, a reality check.

You won’t integrate agents into your workflow overnight. Force yourself to use them. I’m not talking about trying for 20 minutes and giving up. I’m talking about weeks of consistent use.

You won’t get great results at first. That’s fine. It’s the same learning curve you faced with every tool you’ve ever picked up.

What worked for me:

1. Set aside time to experiment

You have to force this. Like any skill, it needs 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. They are 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 risk, good learning.

Want to improve 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. It’s one of the fastest ways to get better at this.

4. Build entire projects with AI

I did: 61 commits, 507 tests, 12k lines of code, in production in 5 days. I didn’t write a single line of code by hand. 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 for anything, know what you want. A goal and a rough sequence of steps. It doesn’t need to be detailed, but it needs to exist.

Use plan mode if your agent supports it. Let the agent propose an approach, review it, adjust it, then execute.

Work step by step

Don’t ask the agent to build an entire feature at once. Break it into pieces. Validate each small change. Change course if you need to. Step in. Ask it to redo things.

After each validated step: update the docs, run the linter, run the tests, commit and push.

Small changes are easy to revert. Big ones are a nightmare.

This isn’t a new idea. It’s what every competent developer should be doing. Agile, extreme programming, they all converge on the same point: small, validated, incremental steps.

Set up guardrails for the agent

Agents work better when they have constraints. I didn’t expect this to matter so much, but it changes everything.

Give the agent context files (CLAUDE.md, AGENTS.md, skills files) so it knows your codebase’s conventions. Set up linters and formatters so the agent reads their output and fixes its own violations.

Write tests and run them after every change, so both you and the agent know when something breaks. Add git hooks (pre-commit, pre-push) as automatic gates. Keep your CI/CD pipeline as the final checkpoint.

None of these tools is new. They existed before AI and were always good practice. But now they are 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 estimated story points for tasks. 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: they 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 fit together. That kind of contextual knowledge makes a developer irreplaceable, with or without an agent.

The agent amplifies you

AI amplifies what you already are. If you’re a good dev 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… you’ll end up with a mess. A fast mess, but a mess.

Speed is not the same thing as productivity.

The agent is a multiplier. And a multiplier only works if what it’s multiplying is worth something.

Thanks for reading!


References: