Dealing with Hard Problems (2015)
I tried looking into ways to improve my problem-solving a few years ago. I think problem-solving changes depending on whether or not you know the end goal. Problem solving without knowing the end result seems to involve separating parts of the problem into systems, fitting said systems in your head space, mentally making them run, and then noticing new problems. There are bookshelves of books for what to do when you have a specific goal in mind. Mainly work backwards and remove obstacles. I figure most of the people on this site probably work between the two extremes, and do simulation/testing as well. Careful thinking seems to improve overall speed, but that's what i'm worst at.