In this talk I will give an overview of the role of causality in ethical machine learning, and in particular, in fair and explainable ML. In particular, I will first detail how to use causal reasoning to study fairness and interpretability problems in algorithmic decision making, stressing the main limitations that we encounter when aiming to address these problems in practice. Then, I will provide some hints about how to solve some of these limitations.