There are lots of suggestions here about using timers or "just do it" or thinking about the pain/reward of doing a task you don't feel like doing. But for me none of these things worked.
If you are like me, the problem was I had no reason to improve myself. I had no motivation to improve my life beyond its basic needs. You have an easy life - you have money, time and good health (just an assumption) but clearly there is still something wrong. Something gnawed at you enough today to make you write this post. Something is telling you that your life could be so much better.
I recommend reading the book Getting Past OK by Richard Brodie (a fellow programmer). For me the helpful points in the book were:
- It is possible to drastically improve your life, to find meaning and happiness (I was pretty skeptical of this point in general before picking the book up)
- You need to accept who you are now (skrebbel commented on this already)
- The beliefs, opinions and feelings you have about things (e.g. doing "work" is a chore) are the product of your experience up to this point. This means they can be changed. If you identify a belief that is holding you back, you can change it to fit your goals.
- Procrastination is just one of your problems and is actually quite easy to fix once you figured out why you want to fix it. There is a section of the book devoted to breaking out of the procrastination habit.
- If you want to be successful you have to be committed. This might sound hard and constraining but once you figure out "ok this is want I really want", it's just the opposite.
I am still nowhere near where I should be. I don't think that book has all the answers. But I think it is a great start - you can even read it while procrastinating from work if you like :)
Good luck!