Some guides for programming, which might apply to other things too, but oh well.
- If something doesn't make sense at the moment, take a break and revisit.
- The act itself is the treat, not the outcome. Building something is fun. Solving a problem bit by bit and watching all the pieces slowly fall into place feels great. Setbacks are unavoidable, but it is rewarding to overcome them. And in the end, if it all goes well, you'll have built something substantial and worthwhile.
- Sometimes all it there is to sit down at the computer and code. No music, or background noise. No exciting new problem domain in which you read all sorts of books and papers, and browse through websites. Sometimes you already know all there is to it: the programming language, the framework, the problem. All that is left is to just sit and type and type and type. It can be meditative. Do not confuse it with tedium.
- Focus and clarity of mind is essential. Better to code for 2 hours while in the zone, rather than for 8 hours with low blood sugar, and while going through a caffeine crash.
- Work where you work. Play where you play. Build a system in which transitioning between these modes is a time taking, and attention requiring process.