Akka/Pekko Typed Essentials

Meet the Actor Model: a fundamentally different way of thinking parallel and distributed systems.


Think concurrency differently.

If you're reading this, you've probably heard about Akka, Pekko or the actor model. It's one of the most powerful abstractions of concurrent programming we've had, even though it's not new. No more creating threads, no more locking, double-locking, deadlocks and concurrency problems. With actors, you can write heavily concurrent and distributed systems quickly, without the usual headaches. As such, massively parallel and distributed backends all over the place are powered by Akka.

This course is for the Scala developer willing to tap into the actor model and a new way of thinking parallel and distributed code.

The course fully supports Akka (from Lightbend) as well as Pekko, the open-source version of Akka.

Main benefits of Akka or Pekko:

  • write massively parallel and distributed applications more quickly
  • add resilience and fault tolerance to your applications without any great fuss
  • write code with an easy mental model you can relate to
  • easily test parallel apps, which are notoriously hard to test

After this course, you'll be able to:

  • write parallel code with actors instead of threads and locks
  • manage actors in hierarchies
  • adopt the "let it crash" philosophy with your applications
  • configure Akka or Pekko for anything
  • test concurrent applications with actors
  • parallelize and delegate tasks to actors
  • use the best practices in working with the actor model

Plus some extra perks:

  • You'll have access to the entire code I write on camera (all 2200+ lines of it)
  • You'll be invited to our private Slack room where I'll share latest updates, discounts, talks, conferences, and recruitment opportunities
  • You'll have access to the takeaway slides

Skills you'll get:

  • Work with actors instead of threads
    • understand the thread model limitations
    • adopt a new mindset with actors as the fundamental resource
    • learn how actors are closest to the original object-oriented ideal
    • send and receive messages
    • change actor behavior dynamically
    • spawn child actors and actor hierarchies
    • learn about system guardians
    • log messages for easier debugging
    • learn how to configure an Akka/Pekko application in 5 different ways
  • Test Akka applications
    • use TestKit and assertions
    • use TestProbes
    • write timed assertions
    • intercept actor logs to verify correct functionality
  • Achieve fault-tolerance in parallel applications
    • start and stop actors programmatically and via message passing
    • manage actor lifecycle
    • create supervisor strategies to recover from failure
    • use the Backoff Supervisor pattern to access an external resource that failed
  • Deeply understand and use the Akka or Pekko infrastructure
    • schedule messages
    • manage timeouts
    • parallelize and distribute tasks to workers with Routers
    • use custom dispatchers for underlying thread management
    • use custom mailboxes to process messages on your own terms
  • Learn advanced techniques
    • stash messages for later use
    • use the ask pattern for quick request-response interactions without any fuss
    • use the pipe pattern for integration with external services

all with live runnable examples and practiced with exercises.

Your Instructor

Daniel Ciocîrlan
Daniel Ciocîrlan

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.

Get started now!

Risk-free: 100% money back guarantee.

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

Less than 0.1 percent of students refunded the course, and every payment was returned in less than 72 hours.

Frequently Asked Questions

How long is the course? Will I have time for it?
The course is ~10 hours in length, with lectures 15-30 minutes each. I recommend at least 1 hour of focused learning at one time.
How is a usual lesson like?
We focus on code, so we'll spend most of our time in the dev environment. In the lessons where new concepts are introduced, I'll add some diagrams or animations to make it crystal clear. Many lessons will also contain exercises, so you can pause the video and try them, and I show you a proposed solution every time.
Can I expense this at my company?
Of course! You'll get a detailed receipt with your purchase, including VAT (if applicable to you), which you can take to your employer to reimburse. Most (wise) companies will reimburse courses like this.
Is this course hard?
I've designed the course to give you a challenge, but not too much that it becomes frustrating. In case you struggle with something, we have a whole group on Slack for discussions, and I'm responsive.
I've never written Scala before. Should I take this course?
Not really. The course is for Scala programmers. Even though we do a bit of a recap at the beginning of the course to make sure we're all on the same page, that part is not enough to give you confident skills with Scala if you've never seen it before.
I don't know how threads work. Should I take this course?
Not recommended. You should at least understand what threads are and how a normal computer can do multiple things at the same time.
I'm comfortable with Scala and threads and I'm curious about this actor model. Should I take this course?
Yes! This course is made for you.
Daniel, I want to join but I can't afford it.
Check out the Rock the JVM Membership (https://rockthejvm.com/p/membership) for the cheapest option.
What if I don't like the course?
Then I want to give your money back. Email me at [email protected] with your receipt, and I will refund you. Less than 0.1% of the Rock the JVM students have refunded a course, and the refund took less than 72 hours.