We've Been Abstracting Code for 80 Years. Now We're Abstracting It Away Entirely.
Part 1: The History of Abstraction
Every big leap in computing did the same thing: hide the machine, and let more people in.
In the 1940s, programming meant binary. Ones and zeros, aimed straight at the hardware:
10110000 01100001That's a real x86 instruction. To write software you had to think like the machine: memorize opcodes, track registers by hand, know the wiring cold. Almost nobody could.
Then in 1949, someone got tired of it.
Assembly gave us readable mnemonics:
MOV AL, 61hSame instruction. Now a human can read it. An assembler does the translation, and the binary disappears. First rung of the ladder.
Assembly was welded to the chip, though. Code written for one processor was dead on the next one.
C came out of Bell Labs in 1972 and fixed that:
char c = 'a';Registers became the compiler's problem. Write once, compile anywhere. Unix got rewritten in C the following year, and everything after it followed: Linux, Windows, the kernel running on whatever you're reading this on.
C still asked a lot. Manual memory. Type declarations. Ceremony around every idea.
Python arrived in 1991:
c = 'a'No types. No malloc. No noise. Python optimized for the person instead of the processor, and fifty lines of C collapsed into five. Biologists started writing code. So did economists, and anyone with a question and a CSV file. Every machine learning framework that matters sits on top of that decision.
The Declarative Shift
A second shift ran in parallel: imperative to declarative.
Imperative means you spell out the how, one step at a time.
results = []
for user in users:
if user.active:
results.append(user.name)Declarative means you state the what. The system works out the how.
YAML gave that idea a syntax in 2001. Kubernetes and Terraform, both shipped in 2014, built entire industries on it:
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: nginx:latestNobody scripts a server build anymore. You write down the end state and let the system chase it.
The Abstraction Ladder
The whole ladder in one view:
+------------------+-------+----------------------------------+----------------------------+
| Layer | Year | What You Write | What Disappeared |
+------------------+-------+----------------------------------+----------------------------+
| Machine Code | 1940s | 10110000 01100001 | Nothing--raw hardware |
| Assembly | 1949 | MOV AL, 61h | Binary opcodes |
| C | 1972 | char c = 'a'; | Hardware specifics |
| Python | 1991 | c = 'a' | Memory management, types |
| Declarative | 2001 | replicas: 3 | The procedure itself |
| Agentic Coding | 2025 | "Build me a login page" | The code |
+------------------+-------+----------------------------------+----------------------------+Every rung paid out:
- C gave us operating systems, and with them the software industry.
- Python gave us data science and the entire AI stack.
The pattern repeats. Drop the entry cost, get more builders, get more built.
But every rung still required programming. The syntax got kinder. The concepts got fewer. The gate stayed exactly where it was: learn to code, or stay outside.
2025 Is Different
2025 broke the pattern. Not with a new language. By removing language.
The interface now:
Words → Product
You describe it. An agent writes the code, runs it, reads the error, fixes it, and hands back something that works.
No programming required for a website. Or a game. Or a working SaaS product.
Work that needed a funded team and six months in 2023 now fits in a weekend. No team. No line of code.
The one skill left is saying clearly what you want. That one was never gated by a computer science degree.
We Reached the Top of the Ladder
Eighty years of climbing, and every rung kept the same toll booth in place: learn to code first. That booth is gone.
The top of the ladder isn't a friendlier language. It's no language at all.
I've been on Claude Code for about a month. Most of my day now goes to deciding what should exist, not typing it out. The hard part moved up a level.
The scarce thing is no longer the ability to build. It's knowing what's worth building.
Part 2: What Agentic Coding Is, and How to Use It
The Difference: Chat vs Agent
You've used ChatGPT or Claude in a browser tab. Ask a question, get an answer. Ask for code and you get a code block: copy it, paste it in your editor, run it, hit an error, go back to the tab, paste the error, get a fix, copy, paste, run, error, back to the tab.
That's chat-based AI. It talks. You do the work.
Agentic AI runs that loop itself.
The agent has your terminal. It reads files, writes files, runs commands, and reacts to whatever comes back. It isn't handing you instructions. It's doing the work.
The Agent Loop
Inside a session, this is the shape of it:
The loop runs until the task holds. Write, run, fail, fix, run again. The same thing a developer does, without the context switching.
How to Think in Agentic Mode
Prompting an agent is not Googling and it is not chatting. You're briefing someone.
Be Specific About the Outcome
BAD: "Make the site better"
GOOD: "Add a contact form with name, email, and message fields.
Validate the email. Send submissions to my-email@domain.com"Give Context When Needed
BAD: "Fix the bug"
GOOD: "When I click the submit button, nothing happens.
The form is in /components/ContactForm.tsx"Let It Explore First
GOOD: "Look at the codebase and explain the architecture"
GOOD: "What would be the best way to add authentication here?"Review, Don't Micromanage
The agent will make choices you wouldn't. Let it finish, then judge the result:
GOOD: "This works, but use a modal instead of a new page"
GOOD: "Good, but the button should be on the right side"What You Can Build
One session, start to finish:
+--------------------------------------------------------------------+
| |
| "Build me a blog with markdown support" |
| --> Full blog with posts, tags, and RSS feed |
| |
| "Create an API that tracks expenses" |
| --> REST API with database, auth, and documentation |
| |
| "Make a Chrome extension that summarizes articles" |
| --> Working extension ready to install |
| |
| "Build a dashboard for my sales data" |
| --> Interactive charts, filters, and export to CSV |
| |
| "Create a CLI tool that organizes my downloads folder" |
| --> Working script with file type detection |
| |
+--------------------------------------------------------------------+None of those are hypothetical. I've shipped a version of all five.
The Mental Shift
Syntax stops being where your attention goes. The question moves from "how do I write this?" to "what should this do?"
+-------------------------------------------------------------+
| |
| OLD MINDSET NEW MINDSET |
| |
| "How do I parse JSON "Extract the user data |
| in Python?" from this API response" |
| |
| "What's the syntax for "Add a new endpoint that |
| a POST route in Express?" creates users" |
| |
| "How do I center a div?" "Make the hero section |
| look professional" |
| |
| Focus: Implementation Focus: Outcome |
| |
+-------------------------------------------------------------+You become the architect. The agent handles the construction.
The Skills That Matter Now
If you're not writing the code, what's left that is yours?
Solution Architecture
This is the job now. Decide how the pieces fit before any of them exist. What are the parts, how do they talk to each other, what happens when one of them dies at 3am.
An agent builds whatever you describe, including a mess. Vague brief, tangled system. The ceiling is set by your thinking, not its coding.
System Design
Same territory, but about trade-offs. Monolith or services. Postgres or Mongo. Server-rendered or client-side. Streaming or a nightly batch.
You don't have to implement any of it. You do have to know which option fits your case, and why. A good agent asks sharp clarifying questions. It still won't make the call, and you shouldn't want it to.
Project Management
Cutting a big goal into small pieces. Knowing which piece comes first. Seeing what blocks what.
Scope creep gets much worse when building is cheap. "Just add one more thing" costs nothing to say and twenty minutes to get. Do that twenty times and you've shipped a product nobody asked for.
Quality Assurance
The agent writes it. You prove it works. Hit the edge cases, leave the happy path, check what happens on bad input and no network.
Agents take shortcuts. They misread requirements and produce something plausible instead of something correct. Plausible code that runs is much harder to catch than code that crashes. That is your job now.