There are a huge number of things you could do, what's more important is finding something you're passionate about.<p>If you want to work on the US west-coast I'd recommend biotech and cleantech, also have a look at places like Google.org.<p>If you'd be willing to work in a developing country then there's lots of things you could work on. Corruption in particular is something that's often being tackled by computerization (by taking humans out of the loop, or by automating checks on them), for example the computerization of land records is taking place in quite a few countries. Don't underestimate the impact something like that can have, read Hernando de Soto's The Mystery of Capital if you want to understand why.<p>Mobile development is something that's having a major impact in developing countries at the moment, things like mobile banking are huge in Africa because they allow people who would never previously had access to bank accounts to gain access. Information systems are also transforming economies, the fact that a fisherman can now know what the market prices are in the major city (often several days walk away) means that not only can he tailor what he fishes to maximize profit but it also means that the dealer (who buys fish from him and sells it in the major city) can't rip him off by lying about market prices. The Economist had a special section on this topic a few months ago which is worth reading if you find this interesting.<p>Also have a look at the Grameen family of organizations, they've come up with a lot of innovative businesses and non-profits in developing countries.<p>If you're want to be more entrepreneurial there's pretty much opportunities in any area you can think of. So I'd recommend just reading around various problems and find something that strikes a chord with you.<p>One of my interests is social mobility, and from my research I found a major factors that prevents social mobility is that children from less priviledged backgrounds often get little or poor careers advice, so as one of my side projects I'm developing a website which tries to tackle that problem.<p>If you want to help people and make money at the same time I'd recommend having a look at self-help web/mobile applications, as there's a lot of potential in that area.<p>On a more general level you could consider the problems charities, ngos, etc have and how you could tackle them. In some cases the answer could be something as simple as taking standard enterprise software (CRM, ERP, task tracking, etc) and making versions designed for non-profits.<p>Think about the more general problems non-profits have as well (try volunteering for a few or talking to some volunteers to get ideas). From my experience non-profits often suffer from poor organization and management, how could this be tackled ?<p>Handling volunteers is also a major issue, if volunteering has a high barrier it puts people off from volunteering. Think about ways of reducing this (perhaps an open source approach where people can "check-out" small projects, distributed call centres that let people volunteer on an ad-hoc basis, a mechanical turk for volunteer work, etc).<p>As you might be able to guess I've spent a fair amount of time thinking about this sort of stuff, so feel free to email/msn me if you want to talk about it !