I was watching a video of Richard Feynman some time back that inspired me in a very specific way. In it, he talks about his attitude toward not knowing things. Here’s a quote from it:
“You see, one thing is, I can live with doubt, and uncertainty, and not knowing. I think it’s much more interesting to live not knowing than to have answers which might be wrong. I have approximate answers and possible beliefs and different degrees of certainty about different things, but I’m not absolutely sure about anything, and there are many things I don’t know anything about … But I don’t have to know an answer. I’m not frightened by not knowing things.”
As a programmer, I’m constantly confronted by a cascading, bubbling vortex of all kinds of things I don’t know. I don’t remember a syntax; my “Google Foo” is failing me and I can’t find an answer; I’m not sure of the best way to architect a given process; I’m not really clear how a particular business process I’m trying to model actually works in the real world; I’m only familiar with certain aspects of a language or framework, and the rest lurks in the shadows of what I don’t know. In the words of one of my favorite movie scenes “I’m in the dark here.”
Being in the dark all the time, confronting that ever changing vortex of things I don’t know, affects me in various ways. It’s an ongoing source of stress. One of my coping mechanisms is to shut down, distract myself, and that leaves me less productive than I could be. It also seems to impact my ability to learn. What impressed me about Feynman is that he seems both enthusiastic, and very clear-headed, about what he does not know. He seems to genuinely enjoy not knowing things, to embrace the state of not knowing. To me, that’s a wonderful perspective to cultivate, both as a human being, but particularly as a programmer. It’s an inner gestalt that I want to develop.