Becoming a Functional Programmer

Harit Himanshu

Principal Software Consultant

Nomis Solutions

About Harit Himanshu

Harit Himanshu is a hands-on software professional with more than a decade of experience in building and shipping products at companies of small to large sizes. He has contributed in various domains such as Advertising, CleanTech, Security, and FinTech. He is passionate about writing clean testable code and prefers being lazy when coding. In his free time, he is found tinkering new technologies, learning new business domains, reading books, cooking, singing and investing his time with his wife on long walks.

Harit is also an instructor and practitioner of Functional Programming and Scala in general. He enjoys reading, writing, and teaching functional programs with Scala. He has authored a course with Pluralsight and has provided multiple trainings on Scala. Currently, he is working on his next course with Pluralsight.


As programmers, we write programs which makes our workflow faster while adding business value to the products and services. These often involve working with an Imperative programming language such as Java and working with object-oriented styles. This becomes like a second nature as a programmer but is also very limiting in terms of what could be expressed using these tools. Functional Programming, on the other hand, opens to a whole new breed or programming designs which often seems overwhelming to the aspiring functional programmers. However, learning functional programming is often fun and easy if started with the right set of idioms and learning the complex concepts as a building blocks one on top of the other. In this talk, we will start from functions and keep adding more concepts to the point where the developers might feel comfortable going back home, picking up a book or a course to further immerse themselves into this journey. The programming language of choice would be Scala for this talk.

We will start with plain-old functions, teaching them the concepts such as referential transparency, higher-order functions, function literals, Scala collections hierarchy and looking at some concurrency concepts with examples. By the end of the talk, the audience will have a deeper insight on this style of programming and would be able to make informed choices about their next steps in the journey of functional programming and Scala.

Share the talk