December 14, 2004
What is failure?
Some people have a natural curiosity. They delight in discovering new things: in learning. They have no fixed goal, or at least, with every success or failure, their goals change. They are motivated simply by the desire to solve problems and to improve themselves and those around them. For these people, failure is not something to be feared. It is a regular and necessary part of their approach to making progress.
On the other hand, some people have a different motivation. They feel a need to succeed in the eyes of others. In fact, to do otherwise would be a failure. And to these people, failure is something to be feared. They need to show results now. The skills that are familiar to them are a safer bet because, in the short term, their existing knowledge will get them the results they want in the shortest possible time. These people resist new ideas because things that are unknown to them open the door to the possibility of failure.
In a nutshell, some people pave the way forward and others follow their path.
I am not saying that everybody is one of these two kinds of people. We all have some of both. And it also depends on the context. For example, I think of myself as an open minded programmer. I like to try new kinds of food at every opportunity. But when I go shopping for clothes, I am quite conservative. I try and stick to wearing what I have found is acceptable to others. I have little desire to experiment.
Getting back to games development, where would the ideal programmer fit into this model? I initially thought that she would be somewhere in the middle: somewhat motivated by learning and somewhat motivated by getting immediate results. But now I am not so sure. Getting results is obviously important. We work for businesses that want commercial success.
But I think that getting results by blinding ourselves to the world around us is the wrong way of going about it. Instead it is better to be as open to new ideas as possible. But to counter this, we need to appreciate what our real motivations are. Then we must apply the discipline necessary to get the job done. It is much easier for the curious programmer to be disciplined than for the closed minded programmer to accept new ideas.
We must sometimes pave the way forward but also stand on the shoulders of giants.