Photo by abe livi on Unsplash
I tried to make Cassondra French toast this morning. The thing is that I’ve never made French toast before. So while she was showering I Google’d how to make French toast and I realised that I need milk. We don’t have milk. A feeling of failure welled up inside me. Expectation failing to meet reality can be devastating to our ego.
I reminded myself that not all is lost. I did learn that to make French toast you need bread, egg, vanilla extract, cinnamon and of course, milk. So now I know whether French toast is even possible when I open the fridge. Or maybe next time I’m at the grocery store I can get the ingredients I need.
I learned to program in this way. I set out with lofty goals to build an iPhone app. I did not understand Objective C, but I did learn that Xcode and Tools don’t come installed by default and that there is an iPhone simulator you can use to test. I can’t quite remember the syntax for Linux commands like
curl but I know what the commands are for and what options are possible. My recent struggle has been with WebGL. I still fumble outputting data to renderbuffers, but I know for sure that a WebGL program consists of a vertex shader and a fragment shader.
Half the battle these days is learning the vocabulary to express your problems. If you know what you are searching for then Google can likely find you the answer. All the lofty failures along the way help you learn about the problem domain and even though you will fail a lot, do not quit. It will all come together in the long run.
There have been several times when I seriously considered that programming was not for me. Years of failed projects, but somehow the knowledge slowly accumulated. I can’t say I’m grateful for the struggle but today I feel closer to mastering the art than ever before.