12 ethical dilemmas gnawing at developers today