Drawing and observing
Naoki Urasawa, author of Monster, said “the triangle part […] appears when you observe a person face carefully”. I find this idea interesting. Today, while cycling early in the morning, I noticed light reflecting on the water. From a distance, the circle of light stretched out like a line across the surface. This is obvious when you consider the physics involved, yet many artists miss this detail when drawing.
The below picture can feel slightly off:
Compared to that, this picture has a stronger sense of realism, even though viewers can’t explain why:
Our brains are wired to recognize patterns, and we encounter these reflections every day. When an artwork captures them accurately, it feels more real; when it doesn’t, something feels wrong.
This isn’t limited to visual art. The same effect happens in programming: some code can feel very easy to understand, while some code is more complicated, even if they solve the same problem using similar approach.
From my experience, the ability to write easy to understand code is less correlated to coding experience and more correlated to how deeply that person understand the problem. The more a person understands a problem and its solution, the better their mental model about that problem. When programming, they translate that mental model to the code. When reading code, we also capture this mental model, similar to viewing an image. The better mental model helps us understand the problem better, and in turn, understand the code.
Just as an artist learns to see the hidden shapes and reflections that make a drawing feel real, an engineer learns to see the structures and patterns that make code feel natural. The more deeply we understand, the more clearly we can create.