Category Theory is to functional programming what GoF design patterns are to object oriented programming. Since Java introduced lambda expressions, time is arrived also for Java developers to learn something more about functional programming patterns. Monads are probably the most expressive (and very likely the most misunderstood) of these patterns. So the purpose of this talk is to explain monads, clarify with very practical examples how and when they should be used, underline their advantages and show how they can be implemented in Java 8.