A lot of my software engineering design is done in my head, on long walks. When I sit down to write code and get stuck on deep design issues, that's what I do.<p>Sleeping on problems and thinking about them in the shower is also quite productive, but of course one cannot think for long periods while engaged in these.<p>What are some activities, that one can do for hours, which facilitate deep thought while engaged in them, while also being useful in themselves?
Anything tangential to the problem you're working on. Ping-pong, hiking, walks on the beach, swimming, to name a few. I also found REM sleep or deep sleep to be very reparative. Maybe not 'problem solving' but it sets the stage for the rest of the day, where you need a clear head and no brain fog.