Hey friends, Happy Thursday!
At the start of 2026 I was sure I would keep writing my own code. One month later, I was not writing a single line.
It went step by step. First AI gave me suggestions, then it wrote the syntax, then it reviewed my code, then I gave it some functions. Then everything.
Now AI does the whole coding part. And I have one question the whole year:
how do I keep this under control?
Because there is no return back. And I can tell you, it comes with a cost.
So this is my experience so far. Or maybe I am writing it for my future self, as a checkpoint.
Let’s go!
I stopped reading the docs
Before AI, I read the docs every day. A new feature comes out on a platform, I google it, I read it, I learn it.
I check the syntax of a function. I read the discussions on Stack Overflow.
The good side: Why bother now? AI explains it instantly and does the research for me. I ask, I get the answer, I save the time.
The bad side: Reading docs sounds like the boring part of the job. But it is one of the main reasons I became an expert.
While researching one thing, I found ten other features by accident. That is how I built my overview of the platforms I work with.
Now I get the answer to my question, and nothing else.
I feel I lost something. I lost the overview.
Faster than me in everything
We cannot argue here. AI is fast, super fast.
It writes the syntax, the setup code every project needs, and it does the search I used to do. It builds three apps while I make my coffee. It debugs a whole pipeline in seconds, finds the root cause, and suggests three solutions with a recommendation.
It is faster than me in everything.
The good side: I have more time for architecture thinking. And I can test new ideas in no time, things I never dreamed of having time for.
AI does the boring tasks too: the tests, the metadata, the documentation, and removing the code nobody uses. And the ideas don’t wait in the backlog anymore, so I do more projects.
The bad side: You feel faster with AI. But feeling faster and being faster are two different things. You see it in every project after the first week.
Since when is speed the most important thing in a project? We never measured the best expert by lines of code per hour.
Maybe management does, but speed by itself has no value.
And yes, as long as I am in the loop, I slow the AI down somewhere. That is fine. That is exactly the part that keeps the result right.
It is all about accuracy.
If you work in dbt, you know the pain: change one column and half the project needs updating. dbt Wizard CLI is an AI agent in your terminal. It reads your whole dbt project, so it knows the lineage, the tests and the contracts. Then it makes the change across models, YAML and docs in one go, and shows you the diff before anything is saved. Install dbt Wizard CLI https://fandf.co/46ydbQD (sponsored by dbt Labs)
The start is always perfect
Every AI project I start looks amazing in the first week. A few rounds of changes later, it explodes.
And I noticed, it is always the same story.
The start is easy: Empty project, clear task, nothing to break. The AI knows everything, because there is nothing to know yet.
Then the changes start: You ask for a feature, it does a quick fix. You report a bug, it does another quick fix on top of the first one. It never goes back and cleans up.
Then it forgets: The project grows, and the AI knows less and less of it. It fixes the file in front of it and breaks the one next to it.
And you stop reading the code: The start was so good that you trust it. Around the third round you stop looking. The break happens exactly there.
The first 70 percent takes an afternoon. The last 30 percent takes longer than everything before, and often it never arrives.
It looks finished. It runs. And a few weeks later nobody can fix it, not me and not the AI.
Who does what? The dilemma
One question haunted me the most: who writes, and who reviews?
There are a few options, and I tried them all.
AI codes, I review: Impossible. I cannot review thousands of lines of code a day, nobody can. And if I do it, what did we win? AI is fast, I am the bottleneck again, and the speed is gone.
I code, AI reviews: I feel like I am blocking the full potential of AI. Everything is slow, when I know AI could write it in seconds.
AI codes, AI reviews: This is what people call vibe coding. Good luck with that. AI builds beautiful garbage at incredible speed. Give it a few weeks, and you throw the whole project in the garbage.
AI codes, AI reviews, I review: This one I did for months, and it worked.
Until I lost the trust.
The review said all good. It was not.
More than once, I caught the AI doing things it never reported.
And when a test failed, it did not fix the code. It fixed the test.
So today I added one step, at the very beginning.
I write the rules. AI codes. AI reviews. And I review.
Let me explain it like this.
How I work with AI now
I am the expert. AI is a super fast developer with a lot of knowledge, and it lies.
How do I deal with such a developer? I cannot fire it, because then I do all the work myself again.
So I manage it. And managing developers is nothing new for me. Three things did not change.
We never reviewed every single line. Even before AI, we reviewed the core parts, the ones we knew were important, and we made sure they were protected.
We always shipped code we did not write. Every library, every package, every dependency in the project. We never read those line by line. We tested, we checked what matters, and we stayed responsible for what we merged.
We always wrote the rules. Standards and guidelines for the team, and everyone had to follow them.
Same thing for AI. So it looks like this:
1. I write the rules and the standards in files, like before. Including how big one change can be, because I cannot review a change of two thousand lines, and I will not. The AI is not allowed to change those files. Only me. It can read them as much as it needs.
2. I give it a memory. Every mistake it makes goes into the files it reads before it writes code, CLAUDE.md or AGENTS.md, and corrections.yaml. And when the same mistake comes twice, it becomes a rule, so it does not come back a third time. One rule is already there: it is not allowed to change a failing test. It fixes the code.
3. Following my rules and reading its memory, it writes the code.
4. It reviews its own work and reports it to me.
5. I review the review. And I review on my own, with zero trust, the things that matter: security leaks, the core transformations, the core functions, anything that deletes data or costs money, and the architecture.
The AI writes it. I sign it. If it breaks in production, that is on me, not on the tool.
I stop being the person who writes every line. I become the person who owns the context and proves the result is right.
What it still costs me
Even with the rules, the memory and the review, the lost overview stays. And three more things don’t go away.
It is addictive: Once AI writes one transformation, you want it to write all of them.
The risk of losing the skill: If I never code myself, the skill goes over time.
I work more, not less: I thought AI would automate a lot of my work. But I found myself working more, because guiding the AI is real work, all day.
No setup fixes these.
AI does things I never asked for
You tell AI to change one thing. You expect one file to change.
It changes that file and creates three new ones. And this is only the start.
After reviewing AI work, I found it many times doing things that were never in the plan.
It copies instead of reusing: I already have a function for that in the project. It writes a new one.
It creates extra things: New files, new configs, new folders. Nobody asked for them.
It changes files silently: It adjusts things that were never in the plan, and it does not tell you.
It hides errors: Instead of fixing the bug, it makes the code stop failing. The bug is still there.
It says done when it is not: It marks the task as finished. And when I ask, it defends the result.
Every task leaves some junk behind. Junk is easy to add and hard to remove. Once it is in, you are scared to delete it, because nobody knows what depends on it.
After a few weeks, you have a brand new project, and it already feels like legacy code.
This is how the project explodes.
AI codes, but it is not an engineer
AI does the job you tell it to do. Even when it does more, it is more of the task, never more for the project.
A real engineer sees the whole project. While working on a task, they notice what is wrong around it, even if it has nothing to do with the task.
And they don’t ask. They come with an opinion: this part will break in two months, these two pipelines should be one, here is how I would do it.
AI never does that. It never comes to you with an opinion on its own.
It never consolidates: The same logic ends up in three places. An engineer sees it and brings it together into one. AI never does that on its own. Ask it, and it does it very well, but it will never suggest it.
It never protects the project: Whether the project explodes next month is not part of its task. It closes the task.
It never brings new ideas on its own: Nothing out of the box, no innovation. It cannot think like a senior yet.
You can push it so much. You can write it in the rules. Your AI agent will still just do the job, and never care about your project.
The project is not its problem. So it has to be yours.
AI cannot beat the expert yet
Now you might ask: it is faster than me in everything, so when does it beat me?
Here is the thing. AI learned coding from public projects and public data. But the real projects are never public.
No bank uploads its warehouse to GitHub. No car maker publishes its pipelines. What is public is mostly tutorials, demos and toy projects.
The expert learned the opposite way. I worked on more than ten industry projects. I built five warehouses and two lakehouses. Real requirements, real complexity, real people with different opinions.
AI never saw one real project from the inside. So when your project gets real, its suggestions stay at the tutorial level.
And I don’t see this gap closing soon, because two things would have to change.
Companies would have to let AI deep inside the real business. Most don’t, and won’t for years.
And the experts would have to write down what is in their heads: the decisions, the reasons, the lessons. Almost nobody does that.
It cannot learn what nobody ever wrote down.
Everyone sends me their AI code
That was my own code. But there is a second problem.
I used to review the work of a whole team. And many of my colleagues leading projects today spend their days reviewing pull requests.
They have the same issue. Many developers generate work in seconds and send it for review: code changes, dashboards, scripts. Most of it was never read by the person who sent it.
The juniors do it the most. And I understand them, the button is right there.
Someone sends a code change of thousands of lines for a small feature. Or a dashboard built in one afternoon, and when it breaks, nobody knows what is inside.
The senior became the bottleneck of the whole team, not only of their own project.
And the answer is not to review faster. Nobody can.
The answer is the same rule I give the AI: a change I cannot review goes back to the person who sent it.
And one question decides it: explain your change to me. If they cannot, it does not get merged.
Maybe your company does not allow it yet
Everything I wrote here, I can do because nobody blocks me. I have full access, and the AI can work on the whole project.
Many of you don’t. In banks, in insurance, in big corporations, AI agents are still blocked. Security, legal and procurement all have to say yes.
I know that world. A new tool needs a year to get approved.
Autocomplete, yes. An agent that reads your whole project and runs commands, no.
So if you read this and think, nice for you, my company blocks all of it, I understand. But it is coming to you too, in a year, maybe two.
Use that time. Build the habit at home, on your own projects, with your own rules. But never paste company code into your private AI account.
When it arrives at work, you are the one who knows how to keep it under control.
The rehab
And me? Of all the costs, one worries me the most: the risk of losing the coding skill.
Because I see how it starts. I open a file to write something myself, and my brain pushes back: why bother? The AI writes it in seconds.
Today I still win that argument. I can write my code.
But this is exactly how a skill dies. Not in one day. A little bit, every time you press the button instead of typing.
So what is the solution? Some people quit AI completely. Cold turkey.
I don’t believe in that. And you know it already: there is no return back.
My solution is smaller, and it works like magic. One full day of work, without AI.
Not one chat, not one prompt. Like the old days.
On this day, I code small things with my own hands. I walk through the project and read functions the AI wrote.
I run some tests myself, and I chase a few issues on my own. And when a question comes up, I google it and read with my own eyes.
One day is not much. But it keeps the muscle alive, and it wins me the argument with my brain.
One full day, no AI. It works like magic.
The junior trap
So far I talked about people who already have the job. But what about juniors and beginners?
Reading this, you might think: why should I learn to code, if the experts let AI do it? And every post out there says you don’t need coding anymore.
This is the trap.
The hiring problem
Companies don’t hire a data engineer who can only prompt AI to write Python.
They hire engineers who can write Python themselves, and use AI to speed up their work.
So if you skip the coding, you don’t get hired.
Gut feeling and judgment
I can let go of the coding because I did it for 17 years. If you are still learning, you cannot. Not yet.
If you jump to AI on day one and only copy, paste and run what it writes, you understand nothing.
You learn this job by getting it wrong a hundred times. If AI does the work for you, how do you ever build the gut feeling for what is wrong?
And later, how do you explain your own project, or understand why it is failing?
I am not saying ignore AI. The one who ignores it cannot write one single good prompt, and risks looking outdated.
So while you are learning:
Struggle first: Turn to AI only when you have no ideas left.
Let AI explain, not solve: Ask it to explain a concept, never to solve the task for you.
Learn the fundamentals: You still need SQL and Python, so you can tell when AI is wrong.
You code. You struggle. And AI reviews.
So …
So yes, I gave up the coding, and there is no return back. The costs are real, but I got more time for more projects and innovations.
And the question of the year, how do I keep it under control? Rules it cannot touch, a memory of its mistakes, and I review what matters.
My recommendation: use AI every day. And keep your one day without it.
Don’t take yourself out of the project. Review what is important. Your rules and your tests cover the rest.
And if you are still learning, do the hard part yourself first. AI comes after.
Thanks for reading
Baraa
Also, here are 4 complete roadmap videos if you’re figuring out where to start:
📌 Data Engineering Roadmap
📌 Data Analyst Roadmap
📌 AI Engineering Roadmap
📌 Data Science Roadmap
Hey friends —
Hey, I’m Baraa, a Data Engineer with over 17 years experience, Ex-Mercedes Benz, where I led and built one of the biggest data platforms for analytics and AI.
Now I’m here to share it all through visually explained courses, real-world projects, and the skills that will get you hired. I’ve helped millions of students transform their careers.
















