For me programming is similar to writing an essay. There is a process involved, one that I have perfected for myself over the years. I find to write code well I have to be in a certain groove. Like I mentioned earlier, coding is easier when I am in FLOW but getting to that point is a process. Doing the wrong things at the wrong time can get me distracted or even worse make me lose motivation. Below are the steps I take everyday to get "my mind right, money right, ready for war":
1 - Eat Breakfast
I know this sounds basic but having breakfast is essential. Have you ever been working and that hunger hit? Quite disorienting. I actually have this situation where I do not feel the sensation of hunger, as in my stomach does not grumble or churn. I just feel light headed, I get a headache or I just feel tired and I start wondering why I feel different today and then it occurs to me... I have not eaten. Generally maintaining your health in recent years has been key to maintaining my mood and my productivity, Exercising and sleeping well is also essential. As much as I want to live the hacker stereotype on TV, crushing Red-bulls at 3am in the morning, with the only light on for miles coming from my monitor and playing the some Deep House tracks. It is not sustainable if you want to run a business. Oh and I MUST have coffee.
2 - List out my tasks
Having a deep understanding of what tasks I want to accomplish in a given day makes all the difference. It is easy to say I want to style the app today and put it on the server tomorrow, but without a clear understanding of the effort it will take, this prevents me from getting on the coding super highway. It feels more like i'm in traffic other wise, I move a bit, stop, understand what I have to do next and then go again and then stop. Listing out all my tasks, helps me plan a mode of attack and I build momentum as I crush each one.
3 - Decide break points
Taking breaks during the day, sometimes its to do a few push-ups, get a glass of water, other times to watch a youtube video. I find if I set mini goals through out the day and reward myself with breaks. It maintains my motivation to get unto the next task. It feels less of a marathon and more like short sprints with milk shakes at the end.
4 - Music
I have written about the importance of music so many times on this blog. This is paramount to losing myself in the code. It blocks out a lot of exterior sound or silence that could be distracting and gets me in the zone.
5 - Shut down Twitter
I have twitter notifications show on my screen as they come in (Even when I do not have the app in focus) This has proven to be very distracting. I follow enough people to get notifications every few minutes and someone tweeting a perfect combination of vague but interesting, could make me bite and then I am rolling down the rabbit hole. Shutting this off puts powers back in my hands, I ensure I only get distracted when I want to and preventing the ability to get seduced by other peoples link baits. This also goes for Facebook and other social media. Sometimes I log on during my breaks when I want to treat myself!