(I wrote this a couple of years ago. Some of the examples are out of date.)
Much of my job as a software developer consists of solving problems. If there's a request for a new feature, we implement it. If there's a tricky design issue, we resolve it. If there's a bug, we fix it. If a customer calls with a problem, we not only solve the problem, we try to figure out how to make sure that the problem never recurs. And, in case I ever feel like I'm not solving problems well enough, there are countless blog posts, books, articles, techniques, and methodologies on how to do it faster, easier, or better. In my professional life, problems exist only to be solved as quickly and efficiently as possible.
It struck me while listening to prayer requests at church one evening how many of the problems that people brought up simply could not be solved. The lady with ALS? Unless a miracle occurs, she's not going to get better. That man's unbelieving spouse? If the past is any indication, she's never going to change. If she does change, it will be because of the Holy Spirit and because of an act of her will, not because her husband applies the proper problem-solving techniques. The couple's son who's in Afghanistan? There's a good change he'll be okay, but thousands of other American soldiers haven't been. In our personal lives, often the best we can do is to remain faithful in the midst of our problems – keep doing right, remain thankful, and keep trusting in God's goodness, whatever unsolvable and sometimes heartbreaking problems are around us.