Supercharge Scala Future | FP-Tower

Master IO, a functional programming technique used to create simple, asynchronous and concurrent workflows.

Modern applications often need to describe complex workflows involving multiple external systems. These are notoriously difficult to get right as it requires handling errors, various retry strategies and non-determinism because of concurrent executions. In this course, you will learn how to solve this problem using both imperative and functional programming.

What you’ll learn

  • Understand the difference between IO (cats-effect, Monix, ZIO) and Future.
  • Learn to use lazy evaluation to repeat actions and execute code concurrently.
  • Write property-based tests for real-world examples.
  • Understand the dangers of blocking code in a concurrent environment.
  • Gains the skills to join one of the many companies using functional Scala.
  • Learn to think functionally.

Course Content

  • Getting Started –> 3 lectures • 4min.
  • Actions with Imperative Programming –> 6 lectures • 1hr 27min.
  • Build your own IO –> 5 lectures • 1hr 19min.
  • Project: Search Flight Aggregator –> 4 lectures • 2hr 6min.
  • Congratulation, You made it! –> 2 lectures • 6min.

Supercharge Scala Future | FP-Tower

Requirements

  • Moderate programming experience with Scala.
  • A computer with an Internet connection. I’ll walk you through downloading and installing SBT, Scala, and an IDE.

Modern applications often need to describe complex workflows involving multiple external systems. These are notoriously difficult to get right as it requires handling errors, various retry strategies and non-determinism because of concurrent executions. In this course, you will learn how to solve this problem using both imperative and functional programming.

By the end of the course, you will be able to read and write code using popular Scala libraries such as cats-effect, Monix and ZIO. This skill is in high demand.

Several companies use this curriculum to on-board and train engineers. Here is a non-exhaustive list:

  • Lunatech
  • Kaluza / OVO Energy
  • Autoscout24
  • Pirum Systems
  • Cleverbase

These companies are constantly hiring new Scala developers! Don’t hesitate to reach out to them and mention that you took this course.

I designed this content for backend developers. It is extremely practical and hands-on. Specifically, this means that you will:

  • Write lots of Scala code
  • Test it using both example-based and property-based tests
  • Experience issues caused by blocking logic and concurrent execution
  • Work your way to efficient solutions in small and incremental steps

I will guide you through all the exercises and provide a complete set of solutions. My goal is to unlock your full potential as a functional Scala developer by demystifying complex concepts using explanations that are free of confusing jargon.

For those familiar with FP-Tower courses, this course corresponds to chapter 5 of Foundations of Functional Programming in Scala.

Enroll now, and enjoy the course!

Get Tutorial