I taught myself French with a method that sounds slightly unhinged: I copied spy novels by hand, page after page, word for word.

I got the idea from a Johnny Depp interview. He was talking about Hunter S. Thompson, and how Thompson, obsessed with F. Scott Fitzgerald’s style, had typed out the whole of The Great Gatsby just to feel what it was like to write those sentences from the inside. Thompson wanted the rhythm in his hands, not just his head.

So I tried it with French. I picked a couple of spy novels, simple enough to follow, gripping enough to keep me going, and I copied them out by hand. And something shifted. After a while the language stopped feeling like a wall of rules I was failing to memorize and started feeling familiar, almost comfortable. I was far more at ease with French than any app or class had gotten me.

Here is why I think it worked, and why it matters if you are learning to code.

Copying forces the patterns into you

When you read normally, your eyes skim. You think you understand a sentence, you move on, and almost none of it stays. Copying it by hand is the opposite. You cannot fake it. Every word, every bit of punctuation, every odd little construction has to pass through your attention and out through your hand. You notice the patterns because you are forced to reproduce them exactly.

Language is mostly patterns. So is code.

How I use the same trick to learn to code

Beginners are told to “build projects” from day one, and eventually you should. But when everything is unfamiliar, a blank editor is paralyzing. You do not yet have the patterns in your hands.

So I do with code what I did with French. I find a small, well-written piece of real code, something that already works, and I type it out by hand. Not copy and paste. By hand, character by character. Then I run it and make sure it still works.

What this does:

The goal is not to memorize the program. The goal is to get the patterns into your hands so that when you sit down to write your own, your fingers already know the moves.

How to actually do it

  1. Pick something small and correct. A short script, a single function, an example from the official docs. Nothing huge.
  2. Type it out by hand into your own editor. No pasting.
  3. Run it. Make it work. Fix whatever you broke in the copying, that is where the learning hides.
  4. Then change one thing on purpose and see what happens.
  5. Do this a few times a week. It is quiet, low-pressure, and it compounds.

This is not a replacement for building your own projects. It is the thing that makes building your own projects possible, the same way copying those novels was not “speaking French,” but it was what made speaking French finally feel within reach.

If a method sounds a little strange and it works, use it. Most of the best learning I have ever done looked nothing like a classroom.

This is part of a series on the odd, self-invented methods that actually got me through learning hard things. If that is your kind of thing, grab the free roadmap below.