P! · 06 September 2026 · Meta rchitecture

Imitate, assimilate, innovate

Ideas feel like progress but pull you toward the first solution you fall for; observation is what shows you what is actually possible. Software works like music: imitate others until their language becomes yours, and taste and craft come out the other side.

Every craft is a combination of observation, reflection, experimentation and invention.

The problem is that ideas give you dopamine. An idea feels like progress, so you chase it, and the end goal slips out of view. You land on a sub-optimal solution and like it anyway, because it is yours.

Observation is the antidote. It gives you breadth. It gives you the language with which you explore the solution space. The more you see, the more you know what is possible, and the less you fall in love with the first thing that came to mind.

Studying software is no different from studying music. Clark Terry put it as "Imitate, Assimilate, Innovate". Imitate has a poor connotation. Nobody wants to be a copy. But it is the repetition of someone else's gestures that gives you the language to define your own voice. The jazz student transcribes solos for years before writing one worth playing.

From this process come two things. Taste: you learn what good looks like, and what you like. Craft: you learn the how.

So in software my advice is the same. Read code you did not write. Observe the patterns of others' craft. Reflect and see the big pucture. Rebuild things that already exist, with your own spin. Invention comes later, and it comes out better, because by then your aperture has changed, your vision has changed, you're living in the future.