Functional Programming is more than just a buzzword these days. It’s super useful and makes you rethink everything you’ve learned about software.
I maintain a knowledge repo on Github called coursera-scala-specialization. One reason I chose to learn Scala is that Scala is a good language to learn functional programming and Scala offers full the functional programming support, but it also lets you do imperative programming and object oriented programming, with seamless interoperability with Java. Functional programming is a good paradigm that lets you make programs that are concise and modular. This is important for developer productivity which I care most about at this time.