I've got a number of books at home in the "personal development" genre. One of the more practical and better ones is The Power of Full Engagement: Managing Energy, Not Time, Is the Key to High Performance and Personal Renewal.
Core idea 1
A core idea in this book is that you've got four kinds of energy that you need to watch:
- Physical, health.
- Emotional, happiness.
- Mental, focus.
- Spiritual, purpose.
As an exercise, rate yourself on a scale of 1 (bad) to 10 (good) and multiply the numbers. Should be a pretty good measurement of how well you're doing! The wake-up call is that you shouldn't disregard any of the four. If you're physically drained because of 4 hours of sleep and a sedentary lifestyle, you can be focused all you want, but you won't get too much out of yourself. And when emotionally drained because of some family mishap or huge stress, sleeping 8 hours a night won't help all that much.
So... try to get all of them to a reasonable level.
Core idea 2
The second core idea is that each of these four is trainable. Just like you can train your body, you can train the other three. How?
Targeted training. If you want to be more mentally creative, you need to give yourself creative exercises. Or take on more creative work.
If you're drifting through life without a purpose, you'll need to actually start thinking and reading about it.
Stretching yourself. Some stress in a while isn't bad. Panic mode hitting you an hour before a programming deadline? Your database suddenly dies half an hour before a demo? Good news: it will stretch you. Just like I increase my cycling capacity by cycling Pretty Hard from time to time, such database-related stress will train your emotional muscles.
Unless you severely over-reach yourself. You can rip muscles or overtrain your knees, leading to injuries. Likewise, emotional/mental/spiritual stress can wipe you out. So watch out.
Intermittant renewal. Don't train at the same intensity all the time. Just like an athlete trains at high intensity for a few days and then takes some rest to let his muscles heal and grow. That's the way to improve. Constant pressure won't allow for growth.
A couple of high-intensity programming days, like at a Django sprint, probably helps you work hard and focus well. Sustaining this intensity over a period of three months probably sees you pretty much burned out after a while. Programming hard for a couple of days, followed by a couple of days of fixing up some small automation tasks of catching up on your email, is probably better to sustain yourself over the long term. After a few days you're all raring to go at it again in a focused manner.
Github illustration of intermittant renewal
I looked at my main github page today, at the "your contributions" graph. (The version you see will look different because my version includes the contributions to private repositories).
I've drawn three rectangles on it that show two examples of intermittant renewal in action. There are two kinds of gaps in my github activity (which is a pretty good measurement for my work/programming related activity as a whole).
The red one is my yearly family holiday. Three weeks is what I normally take. It is probably different in other countries, but in the Netherlands, some five weeks free is normal. I use three for the summer holiday (cycling) and the other two weeks are for some home renovation, cycling, goofing off or visiting a model railway exhibition.
I don't bring my laptop. It is a holiday, right? Holiday should be about doing something different than normal, so getting badgered by your wife to go swimming at 6:30 in the morning is to be preferred to working on one of your open source projects!
The blue ones: the weekend. The week is mostly filled with programming, so the weekend is for other things. Also the recreational programming I do, like on this website, is pretty much restricted to weekday evenings.
I was actually quite surprised when I looked at the graph that the saturday was so empty. I fully expected the sunday to be empty as I treat that as a day of rest. But I expected more programming activity on saturday. Apparently I use it more for my family and cycling and fixing up things!
I'm a christian, so theoretically the sunday "should" be a day of rest. During my study, I often didn't treat it as such in practice. There were always tasks to be finished and exams to learn. And as I wasn't very ordered as a student, often the sunday had to be spend studying, too.
It was liberating to me to figure out during a bible study one day that the rest day was supposed to be a gift. A gift to help me re-new and re-charge and rest. Not a commandment. Work hard for six days and spend one day resting. Apart from once or twice a year (which was fine), I never worked an hour on sunday again. Good to have one day a week on which to relax without needing to listen to self-admonishments!
So... how does your activity graph look? Do you push yourself enough? Do you relax enough? Hopefully I've provided a bit food for thought. (I've re-triggered myself to think about it more, in any case :-) )
Want to read more? Look at http://theenergyproject.com (especially the "key ideas" part).