Or, "I'm Working Too Much, but Not Forever"
For the past year and five months, without any prior programming experience, I've been on a nonstop campaign to learn iOS and OpenGL development.
I can calculate the time because my Apple Developer account renewed two months ago. Along the way I've had some success, at least enough to keep going: my app StorySkeleton has sold about 1300 copies since its release in April, and I've got a job at an awesome company in Marina Del Rey, CA where I'm developing an interactive storytelling app for iPad. The OpenGL stuff has been the most gratifying type of development I've done so far, and also the most challenging.
My life, career path, and all my ambitions have changed fundamentally in the past two years. Two years ago, I was an aimless, under-talented, and under-applied comic-book and graffiti artist.
Here's an example of the transformation I've taken:
Before, I hated math -- I despised its impracticality.
Now I love to solve problems with math. Modeling a solution on paper, translating it to code, and watching it work is an enjoyable and rewarding process.
But the journey is starting to take its toll:
My round-trip commute time varies from 2.5 - 4 hours per day.
My work day is 10 hours long - 9 hrs/day with a 1 hr lunch.
My mind feels as though it's continually operating at maximum capacity.
As a result, I am starting to experience burnout.
I had a bout with it seven months ago, right around the time I completed StorySkeleton and just before I started the new job. I felt as though I'd been learning so much, and pushing so hard, that I couldn't possibly learn any more and perhaps I had hit my personal learning wall -- after which point, learning would be increasingly difficult and infrequent.
This hunch turned out to be false, luckily. My ability to learn returned after a couple weeks of downtime, and was completely restored when I was faced with a new set of challenges: the new job, and OpenGL. But lately, burnout has been creeping back in.
Here are some of the burnout-diverting tips that have worked for me. They divide into two types of need: physical and spiritual. This idea has been re-hashed in plenty of 'burnout' posts I've read over the last several months, and I'm not sure the world is crying out for another one, but I feel it's important for me to acknowledge anyway.
- Exercise. I do some uphill running most mornings to try and keep in shape and improve my heart rate. I usually can only spare 10 minutes, but I figure that's better than nothing.
- Eat food and drink water. Both of these are essential, but easy for me to skip when I get working. I try to make the food as healthy as possible, given that I have limited time to cook or prepare lunches, and end up eating out a lot.
- Prayer. I've found a great source of peace in the idea expressed in the verse, "For what do you have that you did not receive? If then you received it, why do you boast as if you did not receive it?" -- it's a check against an inflated sense of self-importance, and it makes me feel thankful.
- Close Goals. I believe this falls in the spiritual realm because it essentially influences how you deal with your challenges inside of your mind. The concept of the self-fulfilling prophecy suggests that positive thinking produces positive results. To this end, it helps to maintain focus on a goal, and to be excited about a goal. For me, this focus is only possible if the goal can be realized within a reasonable timeframe.
The last one, "Close Goals," I'll expand on a bit more because it's the biggest help for me.
I realize that I cannot sustain my current lifestyle indefinitely. I work too much. So knowing that the projects I'm working on are short-term, with an end in sight, is a significant source of encouragement.
But other than the goal of finishing the project, I have another goal above that: to increase my skill and the value I provide as a developer in order to create awesome things, pay the bills, and help establish a comfortable and well-balanced life for myself and my wife.
This is the goal that drove me into development to begin with, and it's the one that keeps me going when I hit blocks. And thanks to the current demand for developers and the speed at which learning is possible these days, this goal feels pretty close as well.
So although I'm burning out, I know that I can hold on for another couple months, until I get an opportunity to re-arrange my work schedule into a configuration that more closely resembles something like this. And at any rate, I really am having a blast doing what I do, which I'm very thankful for since the status quo seems to be dissatisfaction.