8th of October: Reactive Programming using Rx with Erik Meijer


This course brings the unique and exclusive opportunity to learn reactive programming from the creator of Rx. No better way to bring your skills up to par than hands-on with Erik Meijer. The course is intended for experienced software developers who want to learn reactive programming and all it’s intricacies at the highest level. The course is not aimed at a particular programming language, although it is preferred to work in a programming language that has a Rx implementation, e.g. Java, Scala, C# or Javascript.


From OO and DDD to CQRS, from SOA to Big Data. It is becoming clear that event handling in both the real world and software is more and more important. We need mechanism to deal with event streams in order to enable adaptive or even predicting business processes.

In the programming community Reactive Programming has taken over the world of asynchronous programming by storm. It is a programming paradigm oriented around data flows and the propagation of change and is used in production by companies such as Netflix and Soundcloud. It’s used from mobile applications to server side platforms where the reactive programming paradigm makes it possible to create maintainable, highly concurrent and scalable systems. In this movement Erik Meijer is one of the biggest contributors with Rx.

Course Organization

In this course, we will explore how to coordinate and orchestrate event-based and asynchronous computations such as sensor streams, Twitter and social media status updates, SMS messages, GPS coordinates, mouse moves and other UI events, web-sockets, high-latency calls to web-services, etc. using the Rx library.

Rx originated as “LINQ to Events” in the .NET world where it first shipped in November 2009 and currently has implementations in Dart, JavaScript, ObjectiveC, C++, PHP, Python, and of course Java.

In the first half of the course we will explain the importance of making certain hidden effects, such as exceptions, nullability and latency explicit in our code, thereby discovering futures and promises. Next we will generalize these effects from computations that return a single values to computations over streams of values, and discover iterables (Ix) and observables (Rx) as we go along.

In the second part of the course we will show how to bridge between Rx and traditional callback-based event programming, as well as more modern approaches based on await/yield, how to develop UI programs by writing queries over streams of events, and construct several simple Rx-LINQ provider for a real-time data sources. Lastly we dive into the actual implementation of Rx.


On completion of this course, you will receive a certificate personally signed by @headinthebox that gives you the status of “certified Rx developer”.


The course’s recommended book is Introduction to Rx (available online for free). More information about Rx is available at the Rx MSDN website, or on the RxJavaGitHub repository.

Other background literature includes The world according to LINQ. and A co-relational model of data for large shared data banks. Examples of Reactive Programming use in the real world include Github for Windows and Rx.Java at Netflix.

Practical info

The training will be at Sogyo in De Bilt at 8th October from 9:00 till 17:00. You can bring your own device and dev environment, Wifi for internet will be available. The costs for attending this one day event are 1.000,– euro excluding VAT. There will be a maximum of twelve participants at this one day training. Lunch and drink are included. To register contact Martijn Schuts via academy@sogyo.nl or call 030-2202216