Dr. Roland Kuhn

I am CTO and co-founder of Actyx, author of Reactive Design Patterns, a co-author of the Reactive Manifesto, co-teacher of the Coursera course “Principles of Reactive Programming”, and a passionate open-source hakker. Previously I led the Akka project at Lightbend. I also hold a Dr. rer. nat. in particle physics from TU München and have worked in the space industry for several years. I spend most of my life in the central European timezone.

Talks and Presentations

If you are interested in having me speak at your conference, shoot me a mail.


For my blog please head over to github.

Dagstuhl, Jan 29–Feb 3, 2017

Seminar on Theory and Application of Behavioral Types, with a contribution on Composable Actor Behavior

JAXenter, Dec 8, 2016

What’s new in Akka?

blog, Nov 20, 2016

My journey towards understanding distribution

JAXenter, Nov 2, 2015

Reactive Anwendungen bauen: “Das stumpfe Kopieren von Mustern führt nicht zum Erfolg”

InfoQ, Jan 6, 2013

Creating Resilient Software with Akka (also in Japanese)

let-it-crash, Jan–Mar 2013

Blog series on Typed Channels (part one and part two)

let-it-crash, Mar 10, 2012

An often-useful post on TypedActors

Over time I contributed to the former Akka team blog “Let It Crash” (which has been converted into a newsfeed for everything around Akka in Oct 2013). You can take a look at all my posts.


Get a 39% discount using code 39kuhn.

Probably of least interest to the general public — but dear to my heart — is my doctoral thesis.

More relevant is that I published “Reactive Design Patterns” at Manning, with contributions from Jamie Allen and Brian Hanafee. This book focuses on the design philosophy behind reactive systems — demonstrated with examples using the Akka toolkit and others — and illustrates common design patterns around message passing, supervision and fault tolerance, scalability and testing.

You can download the first two chapters for free from the Manning website. I am looking forward to your comments, so be sure to visit the Author Forum.


Reactive Streams

I am honored to be part of the effort of standardizing mechanisms for implementing asynchronous and non-blocking stream handling on the JVM: Reactive Streams. The focus of this project is to define interfaces for transferring data items across an asynchronous boundary—be that a network connection or between CPU cores—in a fashion that includes flow control, does not require unbounded buffering and can be efficiently implemented in different languages or based on different execution engines.

This means that implementations are interoperable and users can pick and choose the most appropriate technology for each part of their application while still enjoying asynchrony and flow control across all components.


Principles of Reactive Programming

This Coursera course (meanwhile deactivated, see this screenshot) had more than 110,000 enrollments in its first two iterations, starting in Nov 2013 and Apr 2015, and it is foreseen to be rerun as part of the Scala Center. I was co-teaching this course with Martin Odersky (creator of the Scala programming language) and Erik Meijer (creator of the Rx.NET reactive streams framework). Martin covered monads, mutability and FRP, Erik taught futures and Rx, and I covered actors, supervision and distribution using Akka.

Social Networks

You can find me on twitter / LinkedIn / StackOverflow / g+ / github / slideshare / keybase / Skype (roland.kuhn).


You may reach me at info@rolandkuhn.com.