  As an envisaged future of transportation, self-driving cars are being
discussed from various perspectives, including social, economical, engineering,
computer science, design, and ethics. On the one hand, self-driving cars
present new engineering problems that are being gradually successfully solved.
On the other hand, social and ethical problems are typically being presented in
the form of an idealized unsolvable decision-making problem, the so-called
trolley problem, which is grossly misleading. We argue that an applied
engineering ethical approach for the development of new technology is what is
needed; the approach should be applied, meaning that it should focus on the
analysis of complex real-world engineering problems. Software plays a crucial
role for the control of self-driving cars; therefore, software engineering
solutions should seriously handle ethical and social considerations. In this
paper we take a closer look at the regulative instruments, standards, design,
and implementations of components, systems, and services and we present
practical social and ethical challenges that have to be met, as well as novel
expectations for software engineering.
