I have been programming for quite some time since I was about 15 (just as a hobby, not really releasing anything just seeing how things work and making stuff for fun). I'm now 24 and I have not really done a whole lot. I have a bunch of started projects and even more design documentation on so many things and only two bits of software I really got anywhere with. The first is a file sync program that I am happy with but it is not very feature rich and the other is a game that is about half done, anything else is really just started. The problem I have is motivation. When I am programming I have a great time and I am smashing though it and really just enjoying the mechanics and how all the code interacts and watching something I build come to life. But then I get stuck on something and the times I can't figure it out or I can't get help with it, I lose interest, or I start working on something else while waiting for a reply or some insight and either start something else or I forget completely and go play games or something else. On top of my apparent Attention Deficit Disorder I work two jobs, one is sales and the other as an after hours call out undertaker that ruins any sleep pattern I may have had, and working on my fitness to get into the Army Reserve (to replace the undertaking, I'm not going to do three jobs at once, bugger that) I find I have less time to work on what I want to and I'm so exhausted that I end up getting home and I don't have the capacity to think so I play some games, eat dinner, exercise (usually going to the fiance's place and running the dog for 40 mins) and sleep.
I have tried a whole bunch of different ways to keep my self motivated but saying I will do 30 - 60 mins of work on a work day and 2 - 3 hours every other day, I have tried to organise my work space to make me feel like I am more efficient, I have tried making a profile on my computer with bland backgrounds and now games so I can't get distracted. But that is hard when I live with two boys who's hobbies are games and drinking.
What I want to know is how does everyone else deal with distraction, and lethargy and time management?