Functional programming is more than math and monads. Functional programming empowers developers to solve real problems with safe, predictable, and maintainable code. In this talk, Jeremy Fairbank will present the basics of functional programming and how to apply functional concepts in a practical manner. Learn how pure functions are easily testable, how to compose specialized functions to create more complex functions, how immutable data prevents bugs, how to prevent runtime errors with static types, how to safely model nulls with special types, and more. Most importantly, you will leave this talk with a deeper understanding and appreciation for functional programming.