GTD (aka Getting Things Done)I use a light, personal version of it but the idea stays the same. The first thing I do at work is to set up a list of 3 things to do for the day. On Mondays I set 3 bigger objectives for the week. I never spend much time doing that, as I had loads of time to thing about it since the last time. When working, I also usually always spend some time setting up a set of simple objectives in order to avoid diverging from my final aim. The drawback of this method is that you have to set objectives that are precise enough to be doable in a week/day, but complex enough so that you don't have only a few hours of work. Coupled with Pomodoro, this technique is highly powerful as you can make you tasks fit into 25 minutes time frames. the best or the average of people using RescueTime, . . . I love this tool because it shows you how much time you can lose if you are not careful about what you do. And when you end up you day with a global productivity of ~30% you know you screwed up somewhere ! pavlovian conditioning. Listening to repetitive music (trance, drums and bass, . . .) helps me stay into the flow.
Versioning : daily branchesI usually use as much branches as I can in my daily developments. Those branches are fully temporary, and it happens that a branch stays alive for only one commit. :) The thing I like is that I can make my branches and commits match the objectives I set in my Pomodoro bursts. And this synchronization is just awesome; as any commit is just like a crossed line in my TODO list. In order to keep this as light as possible, I use git on top of SVN (the version control we use in Spacemetric.).
Avoid Stack Overflow and use DuckDuckGo.In my last post, I explained why I hate Stack Overflow, so I won't explain it again. Let's just say that I try to avoid searching for answers in there. The best way I found to avoid Stack Overflow posts is to use DuckDuckGo. The reason is that SO posts are usually less present than in Google. In addition, DuckDuckGo is literally a command line for the web, and I can usually access the documentation search for using shortcuts and without even having to touch my mouse :). How efficient is that !
Avoid the web, use FreeMindLastly, the best way I found to stay focused is usually to stay away from my browser. Any web search can turn into a 5 minutes break in my mailbox, or worst. . . A way I found to reduce the number of searches I perform is to log them. Let's say I want to find a way to serialize an Object in Java. The first time I perform this search, I put a new entry in my FreeMind map. Next time I have to do it, I'll look at my map first before opening my browser. The nice thing is that FreeMind is designed to help you save time. Just look at this screenshot, and I'm sure you'll be convinced :).
- Pomodoro, versioning and GTD help me to always know what I am doing.
- stayfocusd prevents me from switching to youtube of blogs during breaks (especially after lunch).
- The music offers an environment to my brain that. Now whenever I hear this kind of songs, I feel like putting my hands on the keyboard !
- Finally, RescueTime is sort of an evaluation. A good way to know how well I performed the last week (and optionally to feel bad about it). Each week becomes a new challenge where I want to do better than the week before.
I'd love to hear about the tools you use to stay focused. Especially how you force yourself into having enough sleep. I must say this is the part is still struggle with :).