thoughts
We Don’t Write Code Anymore. So What Are We For?
By Daffa Albari · 19 July 2026 · 5 min read
Lately, I have been carrying a quiet anxiety. Maybe you feel it too.
I am an AI engineer, and most of my code today is not written by me. I describe what I want, an AI writes it, I review, I adjust, I ship. The thing I spent years learning to do by hand now happens in seconds. And every week someone on the internet declares that engineers like me are about to become obsolete.
For a while, I believed them a little. Then something happened that changed how I see my own job.
The answer that looked right
I was working on a task, and as usual, I asked AI to help. The answer came back fast. The code ran. The logic sounded reasonable. If you skimmed it, you would nod and move on.
But it was wrong.
Not wrong in a way a compiler would catch. Not wrong in a way a unit test would catch. It was wrong in a way only someone who understood the domain would catch. The AI had made an assumption that sounded perfectly sensible in general, but did not hold in my specific context: my country, my industry, my users.
That is the thing about modern AI. It does not fail loudly. It fails confidently. It gives you an answer that looks correct, reads correct, and feels correct, and the only person standing between that answer and production is you.
That was the moment my anxiety turned into clarity. The job did not disappear. It moved.
From writing answers to validating them
Say you are asked to build an AI system for loan approval at a fintech company. The coding part is honestly the easy part now. You can get a working credit scoring pipeline in an afternoon.
But then the real questions start. Which variables are you legally allowed to use? In Indonesia, OJK regulations draw hard lines around this, and an AI trained on global data has no idea those lines exist. What does default behavior actually look like for informal workers who get paid daily instead of monthly? Does your model quietly discriminate against people from certain regions because of patterns in historical data?
An AI will happily build you a model that ignores all of this. It will be elegant, well documented, and illegal.
The same pattern shows up everywhere. Build an AI for hospital triage, and you need to understand how nurses actually work, what patient data privacy law requires, and what happens when the model deprioritizes the wrong patient. Build an AI to screen job applicants, and you need to understand labor law, hiring bias, and what actually makes someone good at the role. Once, I even thought about an extreme case: an AI for bomb detection. The model is not the hard part. Knowing the types of threats, the regulations, and who the operators in the field actually are, that is the hard part.
In every case, the code is the smallest piece of the problem. The context is everything else.
Understanding the domain is the new coding
Here is what I now believe: in the AI era, the engineer’s value has moved up the stack.
Before, the bottleneck was translating ideas into code. That bottleneck is gone. The new bottleneck is knowing whether the idea, and the AI’s version of it, is actually right. And you cannot validate what you do not understand.
So when I get a task now, my first move is not to open an editor. It is to sit with the domain. What are the rules here, written and unwritten? Who are the real users, and how do they actually behave? What does failure cost, and who pays for it? Where would a plausible sounding answer be dangerously wrong?
This is not glamorous work. Nobody posts screenshots of themselves reading regulations. But this is exactly the work AI cannot do for you, because AI does not know what it does not know about your specific corner of the world.
The honest version of “we don’t code anymore”
I will admit the catchy version of my thesis is slightly dishonest. It is not that we do not code anymore. It is that we do not type code anymore. You still need enough technical depth to judge what the AI produces, to smell when an architecture is fragile, to know when the elegant solution will fall apart at scale.
But technical depth alone is no longer enough, and that is the real shift. The engineers who treated coding as the whole job are the ones who should be anxious. The ones who treat coding as one tool among many, alongside domain knowledge, judgment, and the discipline to verify before trusting, those engineers just got a superpower.
AI did not make engineers obsolete. It made shallow engineers obsolete.
So that is where my anxiety landed. I stopped asking whether AI will replace me and started asking a better question: do I understand this problem deeply enough to know when the AI is wrong?
Because someone has to. And in this era, that someone is the job.
Share this piece
Originally published on Medium. View original →