Cats Effect

Cats Effect

Master Cats Effect and elevate your Scala programming with our course focused on writing composable, high-performance, purely functional applications. Learn to leverage one of the most powerful libraries in the Scala ecosystem to enhance your coding productivity and effectiveness.

Goal

  • Become a productive Scala engineer.
  • Develop high-performance applications.
  • Write pure functional programming.
  • Design composable software.
  • Grow as an engineer in this ultimate guide to Cats Effect.

What is Cats Effect?

Cats Effect is a Scala library that allows us to write composable and high-performance applications with pure functional programming.

What?!

Cats Effect comes with a powerful tool called the IO monad, which gives us the power to compose any kind of actions, aka “effects”. Besides that, we get great support for concurrency, parallelism and coordination, all with a strongly typed system (it’s Scala of course).

On more general terms, Cats Effect comes with a group of abstractions that make clear distinctions between different kinds of effects, so we can write more composable code.

The end result is more expressive power, higher performance, fewer bugs, less boilerplate, and most importantly, more happiness and productivity for us as Scala engineers.

This is what you’ll learn in this course.

How This Course Works

How this Cats Effect course works

Two words: writing code.

This course is as hands-on as you can get. We learn everything from first principles, not assuming any pre-existing Cats Effect experience, and we build up from there. We discover what effects are, how we can use them, how to compose code, how to design parallel and concurrent applications and how to generalize and make the code modular, all through practical examples. We write 3000 lines of code from scratch.

In this course, we have both theory and practice, so you can not only learn Cats Effect as a tool, but you internalize timeless principles for pure functional programming and high-performance applications.

The course was specifically designed to give you a smooth learning curve by deconstructing Cats Effect and sequencing the topics carefully. Nothing too steep or too boring.

In this Cats Effect course, we go from practice to theory, until pure functional programming gets deep in your bones as a Scala developer.

This course is 100% compatible with Scala 2 and Scala 3.

Skills You'll Learn

This Cats Effect course is for experienced Scala developers

Make no mistake - Cats Effect can be difficult, and this course is for advanced developers.

  • Solid computer science fundamentals are a must: how memory works, how threads work, and some general concepts about parallelism so that you understand the magic machinery of Cats Effect.
  • You should be very comfortable with Scala as a language, at the level of the advanced course.
  • As a bonus, if you are familiar with Cats, that’ll help a lot, especially in the later parts of the course.

Even if you’re experienced, learning Cats Effect on your own can take months (I certainly did when I started). This course will compress your learning time to 2-3 days if you’re committed.

Skills you’ll get:

First of all, this course will give you everything you need to be productive with Cats Effect:

  • You’ll deeply understand pure functional programming and what “effects” are
  • You’ll know how to build all sorts of composable programs with IO
  • You’ll be able write parallel and concurrent code with IOs, Fibers and the tools on top of them
  • You’ll be able to manage pinpoint program control, with tools like cancellation
  • You’ll be able to write concurrent, purely functional programs with concurrency primitives
  • You’ll be able to design your own concurrency tools based on those from Cats Effect
  • You’ll manage resources in a purely functional way
  • You’ll be able to write asynchronous code and compose synchronous and asychronous effects seamlessly
  • You’ll be able to generalize your code for any effect type and still maintain its properties and meaning

After this course, you’ll be able to read and write any code, however complex, that has Scala with Cats Effect in it.

But most importantly, you’ll develop timeless skills that you’ll carry with you for your entire career, regardless of which language or tool you’ll end up using:

  • You’ll deeply understand the practical benefits of pure functional programming in day-to-day projects
  • You’ll get a new perspective on what composability means
  • You’ll internalize timeless principles about reusability, effects-as-values, generic and composable code, functional design patterns and more
  • You’ll become more productive and happier as a developer

Meet Rock the JVM

Daniel Ciocîrlan

I'm a software engineer and the founder of Rock the JVM.

I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.

As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.

What's Included

Loading...

Take this course now!

Cats Effect - Lifetime License

Loading...

Just the course with a one-time payment

  • 15 hours of 4K content
  • 3000 lines of code written
  • All PDF slides
  • Access to the private Rock the JVM community
  • Free updates
  • Lifetime access
Get Now

All-Access Membership

Loading...
/monthly

All of the Rock the JVM courses

  • 320 hours of 4K content
  • 60660 lines of code written
  • All Scala courses
  • All Kotlin courses
  • All ZIO courses
  • All Typelevel courses
  • All Apache Flink courses
  • All Apache Spark courses
  • All Akka/Pekko courses
Join Now
100% Money Back Guarantee

If you're not happy with this course, I want you to have your money back. If that happens, contact me with a copy of your welcome email and I will refund you the course.

Less than 0.05% of students refunded a course on the entire site, and every payment was returned in less than 72 hours.

FAQ