The question I thought this title was asking, and one I'd like to hear answered, is: "What do you do when you're asked to do work that you feel is unethical, as a developer?" For example, I was recently asked to build a system wherein users would be refunded actual money into "credits", and allow the administration to modify the value (1 credit != $1) arbituarily.