All those times, when you need to wait a couple of minutes to build / compile stuff, but starting to work on something in between is not worth it / impractical, but still - you don't want to get completely distracted, so you can jump right back quickly - what do you do?
I typically use the time to write - my thoughts, ideas and notes of all sorts - which are directly or indirectly relevant to whatever it is I'm working on at the time. That's how I find problems worth solving. There are opportunities hiding in everything we do every day. All it takes is a portion of our time dedicated to thinking and synthesis of information from various sources.