A bug showed up in my personal project last month. Nothing dramatic - a value wasn't updating the way it should have been.

I opened the file. I read it top to bottom. I had no idea what I was looking at.

Not because the code was badly written. It was clean. Well-organized. Doing exactly what I'd asked.

The problem was that I had never actually built a mental model of why it worked the way it did. I'd generated it, glanced at it, and moved on - dozens of times without ever once sitting with it long enough to understand it.

I couldn't fix a bug in my own project because I had never really owned the code I was fixing.