1/20/2023 ~ 2 min read

Learning and Punctuated Equilibrium


There’s this idea in evolutionary biology called punctuated equilibrium — long stretches of relative stability interrupted by rapid, dramatic change. I keep coming back to it as a way of understanding how learning works at a personal level. Not a perfect mapping, but the shape feels right. Long periods where things are steady, maybe too steady, and then something shifts and growth happens fast.

For a long time I was investing heavily in UI, frontend, and browsers — and I was on teams that invested alongside me. Staying current, pushing into new territory, building up real depth. Then somewhere in the past year, that stopped. Not all at once. The stasis crept in. I found myself with little change to my learning, going through the motions in a space I used to find endlessly interesting.

Over the holidays it became clear that something had to change. But I’m not one to change just to change — there’s no sense jumping to a new environment hoping the novelty alone will fix it. As Roland of Deschain would say, “Think, think for your father’s sake. Think for your mother’s sake.” Good advice.

So I thought about what was actually missing. The answer was curiosity. I wasn’t curious about my work or the tools I was using to do it. The people around me didn’t seem curious about the things I’d spent years mastering — the craft of building good user experiences on top of the browser platform. That absence of shared curiosity was the real problem.

What broke the stasis was a conversation with someone outside my usual orbit. Not a frontend person — someone curious about code and systems from a different angle. That conversation sparked something, and it led me to a plan: dive into a language I haven’t used deeply before, dig into an area of software that relates to my current role but from the outside in, and pair up with another curious mind so we can learn from each other.

So now I’m writing Python, and it’s a little weird. After years of TypeScript, writing untyped code feels unnatural. Every time I write a function I keep wanting to add return types after the colons.


Headshot of Matthew Hippely

Hi, I’m Matthew. I live in Ventura County, and spend my time thinking about systems, software, and how things evolve over time.

You can find me on GitHub, LinkedIn, or read more about me here.