Considering Ethics in Employment

I've been reading some Peter Singer recently, particularly his writings on poverty. The very-short conclusion to his argument is that those of us living in developed nations are morally obligated to give to charities to supported those who need help most, in as high a quantity as we can give without being hurting our lifestyle (or our dependents') in any significant way.

As an example, you could use your salary to purchase a nice Mercedes-Benz, or instead drive a similarly-sized Toyota and give the extra money you would have spent to Doctors Without Borders. Since this doesn't have a drastic effect on your life (your car still transports you reliably from one place to another, is reasonably safe, etc.) and the benefit you can provide is so great (World Vision claims they can provide enough food and medicine to a child to help them survive for their first five years for only 19 USD), you are doing wrong if you do not follow this path. There are additional complexities to Singer's argument, but I'll let you read them yourself.

Through Code.org, I recently found SocialCoding4Good, a site that helps developers and sysadmins connect to projects that need their help. This is great, and I encourage you to sign up, or use some of Code.org's other resources to find a place to help out.

However, I'd like to present a challenge: is this enough?

Computers are now used in every area of life, and correspondingly programmers work in a wide variety of industries. We need people working on airplanes and traffic lights and shipping logistics. There is a definite focus in Silicon Valley, however, on companies producing things that, well, aren't really that important on a global scale. The question, then, is this: is it ok to donate a few hours of your time while working for yet another social media company when you could instead be saving lives 8 hours a day?