The Joy of Solving Problems, All of Them
I get a lot of joy out of finding solutions to my own problems. This is not that surprising, as most people do. Of course some people don’t like to admit it out of fear of being labeled selfish or self-centered. Other people don’t have the means, but would love the idea of having such control. This makes me lucky, since I have both the means and don’t care much about being called selfish. I’ve been happily invested in many personal projects for a long time now. I’ve also been fortunate enough (as a recently graduated student with savings) to be able to focus exclusively on… myself.
Granted, all of my personal projects benefit others, whether it’s my documentation tool, my OpenCL Ruby bindings or my apparently well received compiler design tutorial I’ve recently written. The dirty little secret is: I do it for myself. I wrote the compiler tutorial because I wanted to learn compiler design. I wrote OpenCL bindings because I wanted to learn OpenCL. I suppose I could even say that my willingness to help others to has a slightly selfish motivation; the joy I get out of being the one to help somebody else is certainly a factor in what motivates me to do the things I do.
Lately, however, I’ve been losing steam on a lot of these projects. I’ve been realizing that my lack of recent motivation is due in part to this looking inwardness that I’ve been guilty of for a while now. Rather than take somebody else’s problem and help them for the sake of their problem, I take my problems and apply them to others. This is hardly a sustainable way to live life. The problem lies in focusing too much on either end of the spectrum. I came to my own problems after being bombarded with contract work and clients looking for solutions to their own problems. That life was equally unsustainable, and likely drove me to the need to focus on myself. The conclusion? It’s just as bad to focus exclusively on my problems as it is to focus exclusively on somebody else’s.
The good thing is I’ve also been remembering another dirty little secret: I like to solve other people’s problems too. In fact, I’ve realized I get just as much joy out of solving someone else’s problem as my own. I write this in part as a confession, but also in hopes of being a footnote to somebody else. Solving your own problems is great, and anyone who has that opportunity should apply it often. But a skill like that should be shared with others as often as it is applied to oneself. The important part is balance. If you’re focusing exclusively on your client or boss’s problems, you need to change that and start writing some code for you. Something perhaps completely selfish. Just don’t quit your day job while doing it; variety is what keeps us fresh and motivated to solve problems, all problems.