Functional programming helps to create clear, concise and less error-prone code. That’s why in the world of rapidly growing codebases good understanding of fundamental concepts help to create solutions that will be easier to read and maintain. During the course, participants will learn functional programming essentials as well as practical techniques. After the course, you will be able to understand functional programming principles and which Java features promote their usage in a daily job.