Although I've already discussed Prompt Driven Development and my workflow in the Claude Code professional guide, the reality is that nothing stays fixed for long in this sector. Today's workflow won't be tomorrow's one.
That's life with AI.
So far, my journey has gone from total skepticism to curiosity, from there to obsession and, finally, to pragmatism. This is where I feel most comfortable: enthusiastic, yes, but harder to impress.
In an ecosystem where someone proclaims the "definitive revolution" every week, calibrated skepticism is mental hygiene.
Despite everything, I maintain this: If you want to truly understand what AI can do for you as a professional, you should go "all in".
Which brings me to this article's topic:
How do you realistically use AI in a professional's day-to-day work?
Not from theory or soulless LinkedIn content, but in real situations, with actual flesh-and-blood people.
How to Use AI Pragmatically
Being pragmatic isn't the same as being practical or simply effective.
Being pragmatic means prioritizing what works in reality, not what theory says.
There are already plenty of effective people, capable of executing directionless tasks for hours. Effectiveness is something else: it means advancing toward what matters, achieving real change, getting results, even if tiny.
For me, pragmatism consists of stopping wasting time on what's correct to focus on what's useful.
With this in mind, I prepared a talk called "The Pragmatic Guide to AI in Frontend" some time ago. I'm basing this article on it, though here I expand it with more details about my own way of understanding and using AI in my profession.
My Compass in the AI Era
When we talk about AI, I rely on three principles or mental models that act as a compass amid the noise. Without them, it's easy to get lost or, worse, end up paralyzed. You don't need to agree with mine—in fact, you won't—but you need to have your own.
Otherwise, the industry's inertia will drag you along.
1. Discomfort as Signal
Any change that truly matters produces internal resistance. It's 100% human.
Feeling distrust or skepticism about AI isn't a defect, it's a signal that you care about your craft.
The important thing is to be aware of this: the friction isn't generated by the technology, it's generated by you.
Let me be straight: your paleolithic brain sees AI as a territorial threat. But while you're processing your existential trauma, others are taking advantage.
Your inaction now is a massive opportunity cost you might not be able to afford.
I'm not asking you to like it. It doesn't have to be liked. I'm asking you to respond despite not liking it.
As AI redefines your professional playing field, your rejection or indifference doesn't slow down change; it only slows you down.
2. Massive Opportunity
We've never experienced a "reset" of this magnitude in knowledge work.
For the first time in decades, entry barriers, degrees, and years of experience are losing part of their power.
This is a real redistribution of opportunities: a level playing field for whoever is willing to relearn.
This doesn't mean everyone wins. It means the advantages we all know no longer guarantee victory.
What today seems like a threat can tomorrow be what launches your career.
3. Total Commitment
There's no room for nostalgia here. There's simply no going back.
When the AI wave recedes, nothing will be the same: your routines, your tools, your standards, your market value. Everything will be (somehow and to a greater or lesser extent) affected by AI.
It's probably affecting you right now.
You can accept that halfway, wait for it to pass (spoiler: it won't), or resist in survival mode.
But for me, the only option that really matters is to commit: Go all in.
Lukewarm acceptance isn't enough.
I'm not talking about passion or "believing in yourself". I'm talking about commitment: dedicating real time to experimenting, breaking things, making mistakes: learning.
Commitment isn't emotional, it's behavioral. You do or you don't.
Tips for Learning AI
In my own process experimenting with AI—professionally and personally—I've made most of the possible mistakes. I'm not ashamed: it's the toll for trying to learn.
On the other hand, I've also found situations and behaviors that have helped me find some light amid all the chaos.
Here are what I consider the most important ones, for you to keep in mind.
Trust, but Verify
- Start with intention: AI doesn't decide for you; your judgment is in charge. Have a plan before starting.
- AI is first draft, never final version: use the model to generate, but the decision is yours.
- If you don't validate, you're expendable: swallowing without reviewing isn't professionalism, it's stupidity.
Don't Self-Replace
- Create artificial friction: if assistance is too embedded, you become a spectator.
- Keep programming somehow: the tool changes, but the craft is still yours. Don't cede all control.
- Cognitive atrophy is real: the more you delegate, the more your judgment atrophies. Use it or lose it.
Scratch Your Own Itch
- Start from a real problem: if you don't care, you'll abandon when friction increases or delegate the entire process.
- Learn by doing: build, break it, debug it, repeat until it works.
- Share what breaks: real insights are in the errors, not the successes.
Beware of FOMO
- Don't fool yourself: AI is just a tool, not magic.
- You don't have to be everywhere, you don't have to try everything, you don't have to ride every wave.
- Breadth sells well on social media, but depth is what saves your neck in the real world.
Ignore the Gurus
- Although trends and predictions exist, nobody—I repeat, nobody—knows where AI is going.
- 90% of what you'll see is marketing disguised as technical advice: they're fighting for your attention, not your development.
- If someone sells you "the definitive method" or reduces complexity to binary rules, run in the opposite direction.
Understand What "Vibe Coding" Is
"Vibe coding" is inverted impostor syndrome tech version: you're not an impostor who feels incompetent, you're an incompetent who feels expert.
AI generates code that looks professional, you paste it (fingers crossed), somehow works, and suddenly you're a "full-stack developer". Until something breaks and you have no idea why.
Then you discover you're stupid.
So please, remember:
- Professional development is still hard. Not everyone can do it, and AI doesn't change that. At least not yet.
- AI can give you a false sense of progress. You feel like you're advancing, but you're actually playing developer.
- It's cosplay: you put on the lab coat, talk like you know, but if you scratch a little, there's nothing behind it.
How I Use AI
Before getting into technical details, remember that I follow my own rules—the ones I just told you about above.
- I had to unlearn. I was the first to challenge my own prejudices. Nobody likes to change, but if you don't, you close many interesting doors.
- As part of my learning, I write. I document everything: what works and what doesn't. If you can't write it, you can't explain it. If you can't explain it, you haven't understood it.
- I don't write just for myself. The fact that you're reading this confirms that my process isn't theory; it has a minimum of real, shared impact.
- But above all, I take what I've learned to real problems. My problems. I don't limit myself to experimenting: I apply every advance to solve something that matters to me—or that really needs a solution.
My Tools
This is what I use every day to work with AI. I'm not looking to become an "AI expert". I just want to increase my capacity, delegating what doesn't deserve my attention or, directly, doesn't connect with me.
- Editor: I use Cursor only for its autocomplete, which is still light-years ahead of the rest. I don't care about being out of sync with VSCode if it means writing faster and better.
- AI Agent: Claude Code. No surprises, no esoteric configurations. I use it as a separate tool—I don't want AI glued to the editor all the time. I prefer the friction: it forces me to think, not to go with the flow.
- Terminal: Warp. IMO it has the best UI (without getting into Unix/Linux) and autocomplete. If tomorrow it fails or adds (even) more telemetry, I go back to iTerm2 and keep working the same.
If you were expecting something revolutionary, sorry to disappoint.
Above I advised you not to replace yourself for this reason. Completely changing your workflow just for AI is a way of getting yourself out of the way and ceding your identity. I pass on committing to exotic stacks or depending on a single company because of AI.
My plan B:
- If Cursor goes to hell, I go back to VSCode.
- If Claude Code stops fitting, I try Gemini CLI, Codex… or maybe I go back to writing code without fucking assistance, how about that?.
- If Warp goes south, I open the regular terminal and lose nothing.
Tools are temporary implementations. Today I use these, tomorrow they'll be others.
The only constant is not clinging to any.
My AI Workflow
flowchart LR
Explore --> Plan
Plan --> Execute
Execute --> Preserve
Preserve --> Clean
Plan <---> Execute
Most "AI workflows" you see out there are post-hoc fantasies. So pristine and elegant they seem designed to sell, not to work.
My real workflow is dirty. Full of back-and-forth, dead ends, and moments of "what the fuck am I doing?".
This is the distilled version—reality is messier, but here's the essential.
1. Explore
The most important phase. Everything that comes after depends on what you do here.
Invest whatever time it takes until you understand what's necessary—you and the model—to operate on the codebase.
Converse, ask, iterate, attach docs, challenge your perspective and the model's. When you feel there's truly mutual understanding, move forward.
- I use the model as an assistant to understand the codebase and define realistic expectations.
- The goal is to create a living document (
CLAUDE.md
if using Claude Code orPROJECT.md
with any other model) that captures what's relevant about the project, both for AI and for me. - Without that foundation, context disperses and important decisions get lost in the noise.
2. Plan
I always create my own plan, a real to-do list (in Notion, Markdown, whatever) and keep it updated. After each cycle (Plan → Execute → Preserve → Clean), I can present it again in a clean context and start without baggage.
- I don't blindly trust the "plans" that models generate: they all tend toward drifting as soon as things get complicated.
- I always create/update my own plan and share it with AI. It can be adjusted with its suggestions, but control is mine.
- If you've explored well, the plan fits like a glove and gives the model the exact context it needs: global project and local task.
3. Execute
It doesn't matter if you delegate the first draft or not: the crucial thing is arriving here knowing what you want to achieve. Each task is a link in YOUR plan, not the model's. In my experience, it usually helps quite a bit to give the model some general bullet points detailing how you would solve the task.
- Each plan task is atomic, allowing me to advance step by step reducing ambiguities.
- I usually let the model generate the first version, but it's—almost—never the definitive one.
- That's why I usually enter a loop plan ←→ execute, correcting and refining until achieving the result I want.
4. Preserve
The effectiveness of this workflow depends on keeping information updated.
After each iteration (or commit), I review what's worth documenting. I ask the model, review and update the joint document. The objective: any new conversation has ALL the necessary context.
- Documenting the result is mandatory: in version control and then
PROJECT.md
,CLAUDE.md
or wherever. - Key: the level of detail must allow you—or any AI—to be able to resume the project from scratch without losing context, because that's exactly what you'll do.
- Documentation isn't bureaucracy: it's survival. Invest the time you need to keep your documentation synchronized.
5. Clean
Context degrades with use. You don't always have to fill it to the maximum if it's not strictly necessary. If you document well, you lose nothing by cleaning but you have much to gain.
When starting a new conversation after cleaning, I reference the project document and attach my updated plan/to-do list again. That's enough to resume exactly where we left off, with all the bandwidth free.
- Although models now support gigantic contexts, clarity is still irreplaceable.
- It's not about filling the model with information; it's about keeping only what's essential for the current task.
- Cleaning the context (
/clear
) and starting over avoids errors, drift, and unnecessary noise.
Conclusion
Even the most obsolete AI model is capable of processing patterns at a speed humans will never match.
Should you be concerned?. Only if speed or volume is what you have.
The difference is made by judgment, direction, and human creativity.
Closing yourself off and resisting can make you irrelevant. Letting yourself be carried away without judgment makes you expendable.
Using AI assistance professionally only amplifies what already exists. It's not a source of anything, per se.
It can't make you smarter, but it can make you more visible.
It can open doors that were previously closed, but only if you already have something worth amplifying.
It's neither your friend nor your savior. It's also not the apocalypse some would like it to be.
It's the catalyst for change. A movement that's altering the rules of the game.
A game we all have to keep playing.
Ignore it at your own risk.