Engineering is often concerned with solving problems and creating solutions to challenges faced by humanity. Engineering approaches that were central to improving life in past centuries dealt with problems of scarcity: how to grow more food, how to allow greater communication among people, how to transport goods more quickly, or how to generate more power. As evidenced by the industrial revolution, the green revolution, and the information revolution, these purely technical approaches to engineering have transformed the world. The engineering successes of past centuries, however, have given rise to new engineering challenges that are not just technical but sociotechnical in scope. These new challenges are problems of excess rather than of scarcity - problems such as obesity, information overload, and climate change. People's behaviors are critical in large-scale sociotechnical systems and engineers must necessarily consider interactions between people and technical systems when considering these problems. Since engineering designs for problems of excess require consideration and potential modification of human behavior, they may appear to be dehumanizing and mechanistic. Drawing on the biomedical ethics framework of Beauchamp and Childress, we discuss several technologies for addressing problems of excess in terms of beneficence, non-maleficence, respect for autonomy, and justice.