It's pretty important to be constantly evaluating the ethical implications of what you're producing. I can't speak for larger companies, but I get the impression that ethics in software development is not nearly as emphasized as it should be. Even the tech guys/gals should be highly concerned with how their product affects their users' overall well-being (or the well-being of those around their users). In fact, they're a critical layer in protecting against unethical business practices given they're the ones actually implementing things and mediating the user's experience on a ground level. Small features in your product can have significant repercussions on the lives of many users given how these things scale. What could be a few lines of code to you could be something that millions of people end up being influenced by hundreds of times a day.