On the importance of having vision

other watercolor

Published on November 22, 2021

A painting with a tree

Consider two different approaches to creation:

  • Searching, where the end result is not known in advance. When searching, we try to use techniques and approaches we are familiar with to find something that passes our acceptance criteria.

  • Implementing, where we know precisely what we want. Then the creative process is about materializing our vision in the best way possible.

In this post I want to talk about recognizing and balancing these two approaches.

In watercolor painting, it is easy to add marks on the paper and almost impossible to remove them. Thus, it is very hard to correct mistakes without starting again from scratch. This makes implementing a much better strategy because going straight to the end result in a confident and economical manner produces best paintings. In other words, it pays to close your eyes and visualize the exact picture you are after, instead of starting without a clear idea what your picture should look like.

In music, searching would be jamming and trying various things out while keeping ideas or melodies that seem to be good. Implementing would be imagining ahead of time how the piece should sound and then trying to write it down or record. Most musicians agree that when they are left to their own devices they tend to play something from a repertoire of patterns that they know. That repertoire is always more or less limited. Searching necessarily confines us because we cannot use something we do not know. With searching, the process tends to follow a more or less familiar path.

Coming up with a vision of the end result is often difficult. Anyone who has tried painting a non-trivial real-life subject such as, say, a bush, knows that it is generally nearly impossible to achieve an exact rendition. And, after all, if we wanted a photograph we would just take a picture instead of painting a picture. The problem of rendering a bush is a problem of using a visual language in order to produce a stylized and simplified representation. Where does this visual language come from? Human mind is quite bad at inventing completely novel things. The best we can do is combining things that we already know in an original way. This means that even in the case of implementing we have to do some searching in order to decide how to render this or that object. What is then, you might ask, the difference between searching and implementing?

I think the key here is separation in time, which helps with not being carried away by the process in progress. When we search in the process, we tend to concentrate on details sometimes forgetting the whole. We also tend to use approaches that readily come to mind or are easier. Watercolor in particular requires painting fast. We simply do not have enough time to think, because we are in the process of painting. In contrast, when we try to visualize the painting beforehand we can answer important questions ahead of time and be more audacious. In this way, implementing has a liberating effect on how we create precisely because it separates the phase when we determine what we want from the implementation phase.

In software development, searching is the iterative fiddling around when you do not know exactly what you are building. You are discovering it, step by step. Yes, perhaps the danger of getting something wrong is smaller, because software is so malleable. It is not watercolor, after all. However, what I tend to notice when I code is that I’m especially prone to follow paths that I am already familiar with. I know where they lead, but sometimes I am blinded by them and I do not see that I’m actually getting farther from how I really want the project to function. Taking a step back was perhaps the main lesson of becoming more senior in software development for me. Forget what is easily doable and what is not. Forget your whims and stubbornness. Think of what needs to be done in terms of the problem domain. When you have the right vision, practical means of implementing it will be found. They might be less pretty on the surface than the familiar tropes and tools you would rather reach for if you were searching, but chances are, decisions informed by vision will get you farther in terms of the actual utility of the thing you are building.