On Reading Code in the Age of AI-Augmented Coding
The Djinn can write for you, but only you can understand what it means
We’re living through a quiet inversion of literacy.
Once, reading code was the chore you did after the fun of writing it.
Now, in the age of the Djinn Augmented Coding — the AI assistant that writes before you’ve even thought to ask — reading code is becoming the core act of craftsmanship.
“Let others pride themselves about how many pages they have written;
I’d rather boast about the ones I’ve read.” — Jorge Luis Borges
In The Programmer’s Brain, Felienne Hermans shows that reading code isn’t natural; it’s a learned discipline. Our working memory can only hold so much before syntax turns to soup, and real understanding slips away.
We learn to read code fluently through deliberate exposure — not by compiling, but by comprehending. Through reading, we train the brain to recognise patterns, chunk complexity, and see through the illusion of unfamiliar syntax into the architecture of intent.
Now that machines can generate mountains of code at will, this literacy becomes our survival skill. AI-augmented development will flood repositories with plausible, elegant nonsense. To thrive in this era, a developer must become an archaeologist of the algorithm, a Rick Rubin of code, unearthing meaning from structure and intent from indentation being guided by carefully curated editorial taste.
Reading code is how we keep control of what the Djinn builds in our name. It’s how we stay literate when so much that was coding literacy itself is being automated.
Some Practices to Consider
Read Before You Write
Before you fix, refactor, or prompt, read. Reading expands the working set of your mental model, sharpening comprehension before action. It’s what Hermans calls building bridges between short-term and long-term memory — converting confusion into fluency.
Proposed Practice: Make reading a daily ritual. Choose a random file in your codebase, read it slowly. Don’t edit. Understand.
Trace Thought, Not Syntax
When you read code, you’re not parsing characters; you’re reconstructing intention. Ask: What problem was this developer solving? What pressure shaped this design? Every method, class or function hides a story of compromise and creativity.
Proposed Practice: Read for why, not what, The “what” is for machines; the “why” is for humans.
Read AI-Generated Code with Suspicion and Curiosity
AI code can be clean but clueless — it’s syntactically right yet semantically hollow.
Your job isn’t to trust it, but to interrogate it: Does this align with our domain logic? Does it encode our ethics, our constraints, our context?
Proposed Practice: Treat the Djinn as a prolific intern: brilliant at pattern replication, terrible at judgement. Verify everything.
Read Widely
Just as writers read literature to improve their craft, developers must read other people’s code — open source, legacy systems, failed experiments. Exposure grows intuition. The more mental models you collect, the better you’ll read what the next AI produces.
Proposed Practice: Keep a “Code Reading Journal.” Note elegant constructs, ugly hacks, and what you learned from both.
Read Your Own Code Tomorrow
The best test of clarity isn’t compilation; it’s time.
Tomorrow, you’ll be the “reader” of what today’s self wrote. Reading your own work with fresh eyes is how you close the feedback loop between writer and reader — between human and Djinn.
Proposed Practice: Re-read yesterday’s code as if it were AI-generated. Would you trust it?
Some things to avoid
Skimming, Not Reading — Scanning code like social media. Comprehension needs patience.
Assuming Familiarity Equals Understanding — Recognition is not reasoning.
Blind Trust in Generated Code — Fluency ≠ correctness.
Code Without Context — Reading in isolation, forgetting the environment, the user, the system.
Pride in Ignorance — Believing reading code is for juniors, not masters. In truth, mastery begins in reading.
A Helpful Checklist
Dedicate time each week to deliberate code reading
Read code with intention: purpose, pattern, provenance
Apply Hermans’ mental model bridging (link syntax → meaning)
Read AI-generated code skeptically, audit its reasoning
Keep notes on what you learn from reading
Re-read your own work to test clarity
Encourage team code-reading sessions as literacy practice
“The Djinn can write a thousand lines before breakfast.
But only the literate can tell which one might burn down the house.”
Further Reading
Felienne Hermans, The Programmer’s Brain
Richard P. Gabriel, Patterns of Software
Kent Beck, Tidy First?
- Ellen Ullman, Close to the Machine



Regarding the topic of the article, this hits home. The shift to reading code as craftsmanship is so spot on. It's like how I approach a dense book; the real understanding is in the reading, not just writing or even just compiling. Truly insightfull.
Spot on. With more code being generated by AI, the skill of reading and understanding that code becomes even more critical not optional. At Scrumbuddy we often say: tools change fast, but your ability to interpret, question and refactor code is evergreen. Really glad you wrote this