# The Terror-Free Guide to Introducing Functional Scala at Work

Too often, our applications are dominated by boilerplate that's not fun to write or test, and that makes our business logic complicated. In object-oriented programming, classes and interfaces help us with abstraction to reduce boilerplate. But, in functional programming, we use *type classes.*

Historically, type classes in functional programming have been very complex and confusing, partially because they import ideas from Haskell that don't make sense in Scala, and partially because of their esoteric origins in category theory.

In this presentation, I've introduced ZIO Prelude, which offers a distinctly Scala take on Functional Abstractions, and you will learn how you can eliminate common types of boilerplate by using it.

**Watch the recording:**

%[https://www.youtube.com/watch?v=Sinde_P7nmY] 

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text"><em>You can find the slides</em> <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.slideshare.net/jv2301/the-terrorfree-guide-to-introducing-functional-scala-at-work" style="pointer-events: none"><em>here</em></a></div>
</div>
