The Self-Improvement Pomodoro
By now, the pomodoro technique is pretty well-known amongst programmers. I forget where I heard of it first, but if you haven't, here it is: Break your day up into 30 minute chunks. Work for 25 minutes, break for 5. Repeat. It's easy to stay concentrated when you know a break is coming up soon, the fact that you can fit two in an hour fits with my natural sense of order in the world, and once you get in the rhythm, you Get Shit Done. Heck, I liked the idea so much that I made a Ruby gem.
That said, I hadn't been following the technique for a while, because it's easy to lose discipline. Happens to the best of us. Recently, though, it's crept back into my workflow, largely thanks to Jeff Casimir. I was even lazy enough to not use my gem, and try something else. So I grabbed the software he uses from the App Store, and fired it up. It presented me with an interesting option to give my pomodoro a name before starting it. Pretty much without thinking, I typed 'rstat.us rails3 port,' since that's what I was working on, and away I went.
The more I think about it, however, the more interesting the naming aspect becomes. I can see how long and how often I'm working on various things, and over the past few weeks, it's been neat to examine. When doing some reading this morning, my groggy brain combined a few different things together:
- Programmers often don't have the time to practice their craft
- I work on a lot of random software projects
- These projects are often of varying quality, especially regarding things like documentation and tests
- Almost none of the gems that have been released are at a 1.0 release (can anyone find this blog post for me? I can't. It's something about "Just Release It"...)
So, with an aim of combining all these things, I'm going to give something a try, and you should too: I'm going to name at least one pomodoro a day "self-improvement," and use that time to go back over my random projects on GitHub and clean them up. I'm going to use that time to start programming in a totally new language. I'm going to use that time to do that refactoring I've been avoiding. I'm going to use that time to read a book.
Basically, I'm going to force myself to invest in myself. Make sure to find time to invest in you, too.