I think there’s something to be said for the open source community here. Sure, homeless/hungry people around the world need help more that software engineers. That being said, contributing to an open source project you’re passionate about may actually add as much or more utility to the world. Helping maintain eMacs, for example, helps a lot of people a little bit eqch. If you were to carry eMacs into a multi-threaded paradigm, that could bring a lot of value to the world. This hinges on the idea that you enjoy programming and you’re good at it. You’re able to create value in a way through programming that you simply aren’t able to do just by donating or volunteering at the local homeless shelter.