Ryan X. Charles
Ryan X. Charles
Follow

Stop Writing Code

April 13, 2026 · Ryan X. Charles

You don’t need to write code anymore.

I mean that literally. The latest generation of AI coding agents is good enough that sitting down to type code by hand is no longer a rational use of a programmer’s time. The rational act is to write a prompt. Everything in this post is an argument for why that sentence is already true, not a prediction about when it will become true.

What LLMs actually do

Strip away the hype and an LLM does exactly three things. It takes a small amount of text and makes it bigger. It takes a big amount of text and makes it smaller. And it translates text from one language to another, where “language” means English, Mandarin, Rust, TypeScript, SQL, regex, or any blend of them in the same sentence. That’s the entire job. Writing code is a special case of the third one: translating intent into syntax. There is no longer a good reason to do that translation by hand.

The asymmetry is not subtle

A current-generation coding agent does all three of those transformations faster than a well-researched, high-IQ human, and on most tasks at a higher quality bar. Not “comparable to.” Past. I have watched Claude produce, in forty seconds, a refactor I would have budgeted half a day for — and produce it with fewer bugs than I would have shipped on the first pass. The asymmetry is not a marginal productivity gain. It is the difference between walking and flying. Typing code by hand when an agent is sitting next to you is the rational equivalent of walking to Tokyo.

Irrational, not nostalgic

Notice the word I keep using. Not old-fashioned. Not artisanal. Not the old way. Irrational. If prompting produces the same artifact in one percent of the keystrokes, hand-typing is not a preference — it is a mistake under the programmer’s own stated objective, which is to ship working software. Preferring it is like preferring to do long division when a calculator is on the desk. You are welcome to. You are not being efficient.

Ten lines versus a thousand

A prompt is a compressed specification. Code is the decompression. Why would you ever ship the decompression by hand? Ten lines of well-chosen English routinely unpack into a thousand lines of working code — a hundred-to-one compression ratio on the expensive artifact, the one that has to be correct. The prompt is where the thinking lives. The code is exhaust. Spending your day typing the exhaust is a category error about which part of the job actually requires a human.

The objections die fast

But what about correctness? You still review. What about edge cases? You still test. What about architecture? You still decide. What about code you don’t understand? You still refuse to ship it. Prompting is not abdicating judgment. It is relocating it — from the keystroke layer, where judgment was always wasted, to the specification and review layers, where it actually matters. The programmer’s job description doesn’t shrink. The part of the job that was never really the job does.

I haven’t written a line of code in six months

KeyPears shipped anyway. So did Shannon. So did TermSurf and Nutorch. So did this blog post. So did the entire Astrohacker portfolio I announced earlier today.

Here is the timeline. Four years ago I wrote all my code by hand, like everyone else. Three years ago ChatGPT arrived and I started pasting snippets into a browser tab. Two years ago Copilot put completions inline and I started letting a model finish my sentences. One year ago Claude Code launched and I started delegating whole files, then whole features. Six months ago I stopped typing code entirely. Every line that has shipped under my name since then was written by an agent under my direction, reviewed by me, tested, and merged. I am not describing an experiment. I am describing how I have been working, in production, across a federated encrypted messaging system, a blockchain, two shells, a Nushell plugin, and a terminal-native web browser. It works. The output is shipping. The code is open source and you can read it.

I am not a special case. I am an early case.

What the skill actually is now

The skill that matters now is specifying clearly, reading critically, and knowing what “done” looks like. The skill that does not matter anymore is remembering the difference between Array.from and Array.of, or the exact argument order of strncpy, or which lifetime annotation the borrow checker wants today. Those were never the interesting part of the job. They were the tax the job charged for doing the interesting part. The tax has been repealed. The interesting part is still there, and it is larger than it used to be, because an agent will gladly build whatever you can precisely describe, and the bottleneck is now how precisely you can describe it.

Stop coding.


Earlier Blog Posts


Back to Blog

Copyright © 2026 Ryan X. Charles