I think most people just aren't exposed to big problems, and that's why we build software for other techies. We also tend to solve our own problems, which are mostly "trivial" compared to the bigger problems outside of our lives.
One way to solve this is to encourage multi-disciplines in school. CS students should interact and do more projects with Pre-med students, psych majors, etc.
Agreed. It's also an argument for just being a well-rounded person even after entering adulthood. Staying on top of non-technology news & issues, taking time to travel, spending time with (and learning from) friends outside of the tech industry...all of it exposes you to problems outside of your normal circle of awareness.
One way to solve this is to encourage multi-disciplines in school. CS students should interact and do more projects with Pre-med students, psych majors, etc.