- huge amounts of time, preferably multiples of the amounts of time that other people also working on the same problem spend on it<p>- taking good care of your subconscious thought processes: adequate sleep, traversal of real space (i.e. walks/runs), evaluation of physical & emotional state and the identification of dismissed intra/inter-personal issues, and amounts of time each day /not/ spent on the problem<p>- working on other challenging problems also, as there may be some cross-pollination of ideas<p>- exposure to extremely creative ideas in completely different (& often consumptive) domains; novels, movies, tv shows, art<p>- time devoted to learning from peers, and creating with them, also. finding those with parallel and antiparallel value systems may widen your horizon of modes of attack<p>- knowing when it's best to pause your work and resume it in the future, or when to drop your current approach<p>- great documentation skills, as your brain will forget the assumptions you relied upon, or the method you used to reach some milestone/write some code once you re-read it in a compressed format