Coding as Language

It was never your intelligence. Code is a writing system, and nobody ever taught you to read it.

Tap any word.
done = tasks.filter(​(t) => t !== "read")

tasks, keeping each one that isn't "read"

→ ["write", "ship"]

What it takes to read 80%

One dot is one thing to learn.

Code · Python

13

symbols cover 80% of production Python.

English

2,000

About 2,000 word families — a word and its forms, like read, reads, reading, count as one — cover roughly 80% of ordinary English text.

TypeScript: 18 symbols for roughly 80%. All 49 applications together: 6.65M tokens.

Read the data

You can write code. You can’t yet read it.

You’ve got the projects and the GitHub. You can build a whole app from nothing. Then you open a real repository, understand every line, and have no idea what the thing does.

It looks like intelligence. It’s vocabulary.

A small, countable set of symbols, each with a meaning that shifts with position. You were taught to write a language no one taught you to read.

const done = tasks.filter((t) => t !== "read");
const done = tasks.filter((t) => t !== "read");

Reading was learned on the job. The job went away.

Entry-level hiring at the largest tech companies is down 65% in volume since 2019 (SignalFire, 2026), and new graduates fell from 15% of Big Tech hires to 7% (SignalFire, 2025). The apprenticeship that taught everyone to read went with them.

New grads as a share of Big Tech hires

2019 · 15%
Now · 7%
0%5%10%15%20%

SignalFire State of Tech Talent, 2025

Why now

The job is moving from producing code to judging it. This year Google began piloting a code-comprehension round in its interviews: a codebase you’ve never seen, and an hour to read it. Meta, Atlassian and Amazon now test candidates on existing code too. They’re all testing the same skill — reading code you didn’t write.

75%

of new code at Google is now written by AI and reviewed by an engineer.

written by AIwritten by an engineer

Another year of coding puzzles at 9pm, practising the half of the job that got automated.

How it reads

The Library: Continue reading and Mini Stories
1

Read a short program at your level.

Each story is a few lines of real, running code, chosen so only a handful of its symbols are new to you.

The Reader with the side panel open
2

Tap anything you don’t know.

You get a plain-English meaning for what it does in that position, and for the phrase around it. Tap again to widen.

The Progress page: count, ring and contribution grid
3

Open a real repository and find it reads.

The symbols you marked known stay unhighlighted wherever they appear, including in code you didn’t choose.

What it looks like when it’s working

You clone a repository you’ve never seen. You open a file. You read it — not decoded line by line, not traced with a finger. Read. You can say what it does before you’ve finished scrolling.

The fog is gone. It was always vocabulary.

from fastapi import FastAPI, Depends, HTTPException
from sqlalchemy.orm import Session
from .db import get_db
from .models import Task
app = FastAPI()
@app.get("/tasks/{task_id}")
def read_task(task_id: int, db: Session = Depends(get_db)):
task = db.get(Task, task_id)
if task is None:
raise HTTPException(404, "Task not found")
return task

Free

The Mini Stories

The Mini Stories: five short programs, each read three to five ways. About forty minutes of reading, and no daily limit. Read them all tonight if you like.

The full library

$199/year · about $17 a month — or $32/month · for the first 100 members

$299/year or $47/month from member 101

Opens when the founding spots are gone.

Opening soon. Your rate is locked for as long as you stay subscribed.

“A man can write his entire life story — what good is it if he cannot read.”