Introduction: The Wrong Argument
By now, after discussions around AI in engineering, security, and system design, some readers will already have reached a conclusion.
“You’re anti-AI.”
That conclusion is incorrect.
I use AI. I work with AI. I understand what it is capable of, and just as importantly, what it is not.
The discourse around it is increasingly polarized between blind optimism and reflexive dismissal. Both miss the point.
Modern AI is neither intelligence in the human sense, nor useless statistical noise.
It is something more specific.
Fancy predictive math.
And everything useful or dangerous about it flows directly from that fact.
Fancy Predictive Math
Modern generative AI systems do not understand what they produce.
They do not reason, comprehend, or maintain intent.
They operate by learning statistical structure across vast datasets of human language, code, and documentation, and generating outputs that are probabilistically consistent with those patterns.
That is not an insult. It is a description.
And it matters.
Because fluency is not understanding.
Coherence is not correctness.
Confidence is not truth.
An AI can describe a system it has never truly understood. It can generate secure-looking code that is not secure. It can produce architectural reasoning that collapses under real-world constraints. It can invent APIs, behaviors, and assumptions with complete authority.
Hallucination is not an edge case. It is an intrinsic property of the system.
The Smartest and Dumbest Intern in History
The most accurate mental model for modern AI is not “assistant,” “engineer,” or “agent.”
It is something more contradictory.
It is the smartest and dumbest intern you have ever hired.
This intern has read more documentation than any engineer alive.
More code than any engineer alive.
More tutorials, papers, discussions, and explanations than any engineer could reasonably internalize in a lifetime.
It is fast.
It is tireless.
It is capable of producing drafts, implementations, summaries, refactors, and variations at a scale no human team can match.
In that sense, it is extraordinary.
But it is also the dumbest intern you have ever hired.
Because it does not know when it is wrong.
It can produce a brilliant explanation and a fundamentally broken implementation in the same breath, with identical confidence.
It can generate correct code and subtly vulnerable code using the same tone of authority.
It can confidently invent APIs, libraries, constraints, and system behaviors that do not exist.
It does not distinguish between understanding and imitation.
It does not carry consequences for failure.
It does not know what it means to be wrong in the way engineers understand wrongness.
This contradiction is the entire system.
And it is why supervision is not optional.
It is the core requirement.
The mistake many organizations make is collapsing this duality into only one side.
They treat it as either genius or nonsense.
It is both.
At the same time.
The Illusion of Multipliers
There is a growing fixation in the industry on productivity multipliers.
“10x engineer.”
“100x productivity.”
“Order-of-magnitude gains.”
AI has only intensified this framing, with expectations ranging from modest assistance to exponential acceleration.
But there is a fundamental misunderstanding embedded in these expectations.
If you expect 100x output, you are also implicitly accepting 100x exposure to liability.
Because output without understanding does not remove risk. It amplifies it.
Every line of generated code still runs in production systems. Every generated architecture still carries operational consequences. Every generated configuration still defines real-world attack surfaces.
Speed does not dilute responsibility. It concentrates failure potential.
There is a quieter, more experienced perspective in contrast to this hype cycle.
Engineers who expect 5x gains are often the same engineers who understand why 100x is not realistic in real systems.
They understand where bottlenecks actually exist.
They understand where verification time dominates generation time.
They understand where ambiguity, safety, correctness, and accountability impose hard limits on acceleration.
They understand that systems are constrained not by typing speed, but by comprehension.
And so they do not treat AI as a magic multiplier.
They treat it as an amplifier of existing capability, bounded by the slowest part of the system: understanding.
The difference between these two expectations is not optimism versus pessimism.
It is understanding versus abstraction.
AI as a Tool, Not a Craftsman
There is a recurring category error in how AI is discussed.
People assign agency to tools.
When output is good, the tool is praised.
When output is bad, the tool is blamed.
Neither is correct.
A tool does not carry intent.
It does not carry responsibility.
A carpenter does not blame a hammer for breaking glass, or a saw for cutting the wrong material. He does not tape down the trigger of a power tool and assume precision will emerge on its own. He does not step away from a running machine and expect craftsmanship to appear in his absence.
The responsibility remains with the operator.
Always.
This is not a modern principle.
It is a permanent one.
AI does not change it.
It only raises the cost of ignoring it.
The Automation Trap
AI is extremely effective at guided work.
Given structure, constraints, and oversight, it can:
- Generate boilerplate systems
- Draft documentation
- Suggest implementations
- Summarize complex codebases
- Produce test scaffolding
- Accelerate unfamiliar workflows
In these contexts, it is genuinely powerful.
The failure mode appears when guided work is mistaken for autonomous capability.
Because real systems are not closed problems.
They are environments full of ambiguity, shifting requirements, incomplete information, and interacting constraints.
Humans navigate these environments through experience, intuition, and accountability.
AI does not possess those qualities.
It can simulate decisions, but it does not bear consequences for them.
And in engineering, consequences are the only thing that ultimately matter.
The Replacement of Understanding With Output
A structural shift has taken place in modern development culture.
The emphasis is no longer on understanding systems.
It is on producing artifacts.
Code can be generated.
Documentation can be generated.
Configurations can be generated.
Architectures can be generated.
What cannot be generated is comprehension.
Increasingly, systems are built through rapid accumulation of outputs that no single person fully understands.
The system works.
Until it doesn’t.
And when it breaks, debugging becomes not a technical exercise, but an archaeological one.
Because no one built it in the traditional sense.
It was assembled.
Less Code, Less Understanding, More AI
This is not a new idea.
Years before AI coding assistants, Jeff Atwood wrote in Coding Horror:
“The best code is no code at all.”
https://blog.codinghorror.com/the-best-code-is-no-code-at-all/
That statement was never about minimalism as an aesthetic. It was about risk.
Code is liability.
Code is maintenance.
Code is surface area for failure.
Every additional line is another place for misunderstanding to accumulate.
AI complicates this principle in a subtle way.
It makes code cheaper to produce, but not cheaper to understand.
And when production becomes trivial, the discipline of restraint becomes harder to maintain.
You do not need more code to solve most problems.
You need less unnecessary code, and more understanding of what actually needs to exist.
AI accelerates both sides of that equation.
Which direction it pushes depends entirely on the discipline of the person using it.
AI and the Industrialization of Improvisation
AI does not remove complexity.
It multiplies it faster than understanding can keep up.
A single developer can now produce systems that previously required entire teams.
Not because they understand more, but because generation has replaced design in many workflows.
This creates a structural imbalance:
Complexity increases exponentially.
Understanding increases linearly at best.
Eventually, no individual holds a complete model of the system they are responsible for.
AI accelerates this condition by making it cheaper to avoid deep understanding entirely.
The result is not just faster engineering.
It is more opaque engineering.
Security, Red Teams, and Asymmetry
In security contexts, this imbalance becomes even more pronounced.
AI-assisted red teams can analyze large systems, identify patterns, and surface vulnerabilities at speeds previously impossible.
At the same time, AI-assisted development is producing systems that fewer people fully understand.
That creates a widening asymmetry.
Attack capability increases.
Defensive understanding decreases.
The attack surface becomes more navigable.
The defenders become less aware of its structure.
This is not speculative.
It is already emerging.
And it does not require malicious intent to become dangerous.
Only scale.
The Cost of Forgetting
Every engineering discipline eventually converges on the same constraint.
Understanding is not optional.
It is foundational.
Without it, speed becomes fragility.
Automation becomes opacity.
Efficiency becomes accumulated risk.
Systems do not fail because they are complex.
They fail because they are complex without comprehension.
AI does not introduce this problem.
It accelerates it.
Conclusion: I Am Not Anti-AI
I am not anti-AI.
I am not anti-automation.
I am not anti-tools that increase productivity.
I am explicitly in favor of all of those things when used correctly.
AI is one of the most powerful tools ever built.
It is already transforming how software is written, systems are analyzed, and knowledge is produced.
But it is still a tool.
A tool that behaves like the smartest and dumbest intern in history at the same time.
Extraordinarily capable.
Fundamentally unreliable without supervision.
A system that can feel like a 100x multiplier in the hands of someone who does not understand it—and simultaneously a carefully bounded 5x amplifier in the hands of someone who does.
That difference is not marketing.
It is discipline.
It is understanding.
And like every powerful tool before it, its impact will be determined not by what it can do, but by whether the people using it understand what they are actually holding.
The danger is not AI replacing engineers.
The danger is forgetting what engineers were for in the first place.