As an engineer, I have a propensity to spend a long time on a problem until I find the most elegant solution to it. "Elegant" solutions are about efficiency. Can I solve this problem in a way that helps solve a bunch of other problems too? Can I come up with a solution that requires much less effort on my part? Can I hack the situation in my favour? This is often an advantage. It makes me think about whether there's a more efficient way to do something - whether I'm getting the best bang for the buck. But while this is useful in the domain of engineering, when it comes to life decisions it can be a great impediment to achieving things.
I've been stalling for a couple of months now - not knowing exactly where to go from where I am. Almost all of my time is spent on work (programming/business stuff), practicing Aikido, reading (not books, unfortunately, but random articles of interest), and various recreational activities on the odd weekend (for example, last weekend I went hunting for the first time).
In all these areas, striving to be better each day drives me and gives me pleasure. I feel very fortunate to have found things I enjoy doing. Even in our privileged society, finding a muse is a challenge for most people, and I've found more than one. If I keep up my current pattern, I can't imagine how good I'll be in each of these areas in 10-20 years!
But there are other things I also want to do, including but not limited to...
- becoming conversational in at least 2 more languages
- learning new, cutting edge programming concepts that may not be directly applicable to work
- travelling and living in various places in the world
- learning meditation
- meeting and learning from some of the other world-renown Aikido teachers
- focusing on my social life again at some point
- getting into fitness and learn about how to be healthier
- working on some apps that probably won't make much money but are interesting nonetheless
How am I going to tackle all these? How can I make any meaningful progress?
Let's take the second and last items in that list: learning new programming concepts and working on interesting software projects.
Relatively recently, I discovered the concept of Functional Reactive Programming. Don't worry if you don't understand what that is. Suffice it to say that I'm really excited to learn it. At the same time, as an iOS developer, there's a new programming language that I should be learning - Swift.
So the engineer brain comes up with a solution like this: "Hey, you already want to work on some side projects, you want to learn Swift, and you also want to get experience in Functional Reactive Programming. Why not create a new side project where you try all three? Just build your app using Functional Reactive Programming in Swift."
That sounds like a great idea on paper... why not kill two birds with one stone, right? In practice, it's a horrible solution. This kind of goal setting is a recipe for not making progress. In fact, it's the reason why, for months, I have not been able to make much progress on many fronts that I'd like to work on.
By setting such a complicated goal, I make the job so hard on myself that merely thinking about tackling it becomes intimidating. I'm learning to unbundle my goals. If I'm going to do a side-project, I'll focus on just one thing that I want to learn from the experience. Not only does this give me the chance to go deeper in the subject, it makes getting started much, much easier.
Similarly, I've long wanted to learn Japanese, and I know that the best way to do that is by being immersed in the environment. I've also wanted to study Aikido under a famous teacher in Japan. But if I want to keep my full time work, which I do, I can't possibly go to Japan, study Japanese, and practice Aikido regularly. Up until recently, that was my plan - to go there for about one year and tackle all these goals in one go. But finding one whole year that I can safely commit just to these goals is very difficult. I can either leave these aspirations for later when I can execute on my grand plan (and I've learned better than to assume that this "later" will ever arrive), or I can break them into smaller, easier-to-tackle goals, and go at them one-by-one. It is true that learning a language is best achieved by being immersed in the environment, but if that's not doable, maybe 30 minutes of Pimsleur every day isn't so bad. If my goal in life was to become a fluent Japanese speaker, I'd make it my priority to live there, but since it's not, I'll have to work the constraints that I'm under.
This is why, I'm restarting my Japanese practice, which I stopped about a year ago. In 2015, I will move to Japan - but not for a year. I'll stay within the 90-day tourist visa limit. If necessary/possible, I'll go back the next year.
That is the big decision for now, but I'll continue to unbundle goals into smaller ones that I can fit into my daily routines. In 10-20 years, the big picture won't have changed much - I'd still have spent a lot of time on programming, business, and aikido. But my progress in all my secondary and lifestyle goals will have also been significant.