Over the years I've often found myself behind my computer at two in the morning trying to finish a feature for a side-project and trying to keep my eyes open and focussed.
After a hack session until two or three in the morning, there would be a price to pay in the morning. Not even three alarms would wake me and I'd be grumpy all day long. The feature I wrote the evening before didn't even look that good, so I'd be re-written or removed altogether. Another night wasted.
This rhythm was not rewarding and pretty hard to keep up. It tired me out and got me demotivated. It even caused me to give up on some projects because of it.
Late april I was invited to an early morning bird walk. The idea was to hit the woods at 5:30 and listen to all the birds waking up and singing their songs. To my surprise it was rather easy getting up at five, and when I got home at eight I was full of energy and still had an entire day ahead of me.
I went to bed early that evening – no late night hacking – and to my surprise I woke naturally at 5:30 the next morning. I got up, showered, got myself a cup of coffee and fired up my computer to hack on a feature I've been thinking about.
At 6:45 the feature was done and I was still thirty minutes ahead of my normal morning routine.
That day I had more energy. Knowing that I'd already completed that one feature put me at easy somehow. In the evening I didn't do much – because I didn't have to. I spend some time doing fun stuff and went to bed early.
I've been doing this for two weeks now and it's been awesome. In the morning I'm more focussed and I honestly write better code.
It's been a long while since I finished a side project, but the way things are currently progressing I might even finish this one and start another.