Either of those goals are good, but they're better done separately. See also: http://lesswrong.com/lw/6z/purchase_fuzzies_and_utilons_sepa....
The point of the article is that if you optimize for utilons, fuzzies and status points separately - e.g. by doing one thing for maximum utility, and then another for maximum fuzzies - you'll be more efficient in all of them than if you try to find one thing that maximizes all three at the same time.
Even if you're willing to take e.g. a 50% paycut to write code at a nonprofit, you're likely doing more good taking the obscenely high-paying industry job and donating that half of your salary, as unsexy as that is.
Which isn't to say there aren't meaningful social problems that technology can solve, but rather that the cost/reward curve is often suboptimal if you're optimizing for impact.
That's much better advice than I'd expect from a sociology professor, if I'm to be honest.
I always thought that was interesting.
There are plenty of companies 10x worse than Uber. Hivemind.
Are you really unfamiliar with how medallion owners used to treat their drivers?
That said, how are we really in a better place? Same problem, different master.
https://qz.com/563622/ubers-new-car-rental-program-for-drive...