Rock the JVM | Online Courses and Hands-On Training on Scala, Apache Spark, Cats Effect, ZIO and the JVM

Rock the jvm!

The zero-to-master online courses and hands-on training for Scala, Kotlin, Spark, Flink, ZIO, Akka and more.

No more mindless browsing, obscure blog posts and blurry videos. Save yourself the time and frustration and follow a smooth learning curve where code is king.

NEW! Kotlin Essentials

A new journey: learn Kotlin, the multi-platform, multi-paradigm, multi-powerful language, with hands-on practice and your first project.

NEW! ZIO Rite of Passage

Build your product. Use the ZIO stack to build your own full-stack application in Scala 3, with credit card checkout, AI, emails, the real deal. The app we build is live here.

NEW! Typelevel Rite of Passage

The experience of a software engineer. Use the Typelevel stack to build your own full-stack product in Scala 3, with credit card checkout, emails, the real deal. The app we build is live here.

Scala Courses

FREE! Scala at Light Speed

For the busy programmer. Learn Scala's most important features in the time it takes to watch a movie.

NEW! Scala 3 New Features

A jam-packed course for Scala 2 developers. Learn everything you need to know about Scala 3 without starting from scratch.

Scala & FP Essentials

Now with Scala 3. Become a Scala programmer. Dive head-first and hands-on into the fundamentals of Scala and functional programming. Also available for Scala 2.

Advanced Scala

Now with Scala 3. Become a true Scala rockstar. Master multithreading, abstractions, advanced functional programming and more. Also available for Scala 2.

Scala & FP Interview Practice

Nail that Scala interview. Master data structures, algorithms and the pure functional programming mindset with Scala.

The Scala Bundle

Become one of the best Scala programmers. Take all of the above at a discount, where you have everything you need to work with Scala, from zero to master.


NEW! ZIO 2.0

Learn to write powerful applications with parallelism, concurrency and pure functional programming with one of the hottest tools in the Scala ecosystem.


Cats Effect 3

Write composable, high-performance, purely functional applications and become productive with Cats Effect, one of the most powerful libraries for Scala.


Think higher level, write grounded code. Everything you need to know to write Scala with one of the most popular libraries for functional programming.


NEW! Apache Flink

Stream big data like a boss. Process millions of events in real time with one of the most powerful libraries and engines for stateful data streaming.

Spark Courses

Spark Essentials

The only Big Data course on the web with real big data. Learn the most popular big data toolkit while crunching billions of records, live, in record time.

Spark Streaming

Process massive data as it arrives. Integrate Spark with Kafka, JDBC, Cassandra and anything you want. Process live tweets in real time and stream data like you own it.

Spark Optimization

Write perfomant code. Learn the ins and outs of Spark and make your code run blazing fast. Master tools and techniques used by the very best.

Spark Performance Tuning

Tune Apache Spark for best performance. Master Spark internals and configurations for maximum speed and memory efficiency for your cluster.

The Spark Bundle

Take all of the above at a discount and you won't need another book, video or blog again. Enjoy a complete structured journey from zero to master in Apache Spark.


Akka Typed

Enough threads and locks and headaches. Meet the Actor Model. Dive into a better way of thinking concurrent and distributed code. Also with classic actors.

Akka Streams

The power of Reactive Streams in your hands. Learn to implement reactive data-rich systems at any scale. Write in 10 lines what other people write in 3000.


Build microservices in minutes. Write stream-based REST APIs, backends and microservices, send and receive JSON auto-magically, all with a powerful server DSL.

Akka Classic Persistence

Hello, Event Sourcing: a different way of thinking persistence and storage. And it just so happens it fits the Actor Model like a glove.

Akka Classic Clustering

Distributed systems, baby: Akka was designed to be distributed from the get-go. Learn to use the power of clustering for large-scale, reactive distributed systems.

Akka Classic Serialization

In short: Java serialization sucks for fast data. Learn to use Avro, Kryo or Protobuf to max-out the performance of your Akka system.

The Akka Bundle

Take the only complete journey with Akka on the web at a discount, write 10k lines of code, and just rock those distributed systems.

The Membership

Now also for teams!

All of Rock the JVM, at your service. Access ~250 hours of the best content you'll ever find, write more code than many write in their careers, and be welcome in a community of driven people like you.

Learn more   Check the team pack

The Instructor

Daniel Ciocîrlan

Software engineer and best-selling instructor. I'm an avid fan of Scala, Kotlin, functional programming, big data and streaming. As of May 2023, I've taught more than 80000 people all over the world.

I've taught Scala, Kotlin, Akka, Spark and more in live trainings at some of the best companies in the world.


Mihai Fecioru, Engineering Manager at Adobe
(San Francisco Bay Area, California)
My team is expanding the use of Akka in our products so I needed a quick introduction on this topic. I have tried a couple of courses but the introduction to Akka was always too abrupt, too hard to comprehend. I blamed Akka for this as being too hard to explain. This was until I was exposed to the Rock The JVM courses which were an absolute delight when it comes to presenting such complex topics in such an easy to understand way. And Daniel has not stopped at Akka but has added to his portfolio amazing courses on Scala and Spark too. It seems like he is quite enjoying taking such challenges like complex technologies and making them so simple for everyone. I have instantly recommended Daniel's work to my team, which helped them immensely with taking their skills to a new level, and I do recommend these courses to anyone who wants to have the fastest ramp-up in these tough but popular technologies.
Giannis Polyzos, Senior Engineer at Ververica
(Athens, Greece)
From Scala, to Akka, to Spark, Daniel delivers exceptional material in each and every one of these technologies. I've been using them for a long time and there is always something new I will discover from him. The level of detail he gets into as well as the way he delivers material is mindblowing. I personally find his latest course Spark Optimization pure gold and one of a kind. I've been using Spark for a year now and I haven't even thought how much you can leverage query plans to make such optimizations. I can't stop thinking every time, how he manages to go so deep - because using a technology is one thing, but knowing its internals so well and how everything works behind the scenes is another story when it comes to distributed systems. Long story short Daniel is definitely the best instructor I've come across and each one of his courses is the best resource you can find online. Kudos for all your work and knowledge sharing.
Anirban Goswami, Data at Apple
(Cupertino, California)
Daniel's courses on Scala and Big Data are the best in class. I've been in touch with Daniel's teaching and courses since early 2018. The first course that I took from him was Scala & Functional Programming; I was skeptical about it because over the internet there are many courses you can find, but few really worthy. I remember the very first day when Daniel started to speak and shared his examples - I started to love Scala, and then more as we went on. I am with Scala for the last 5 years now, but never ever has anyone explained to me or gave me comparable resources to Rock the JVM. Daniel gave me a shift in life and helped me crack top tech company interviews. His courses on big data are a must for any aspiring big data developer or data enthusiast. I highly recommend Daniel as an educator both online and on campus.

Need a course or training session?