Full-day workshop:

Software Architecture

Why this workshop?

The purpose of this course is to explain ………………….

Unconference sessions

Why attend this workshop

To learn under-the-hood details of Reactive Programming that will help you understand bugs and avoid common pitfalls

To identify and align patterns in your code with established best practices designing reactive chains

To take a dive into one of the most difficult programming paradigm in use today

Who is it for?

software engineers working with Reactive Programming

avid learners willing to spend some extra pre time before the workshop to get familiar with the basics

all participants are expected to be fluent with Functional Programming concepts: .filter() .map(), lambda syntax, :: notation, immutable objects

prior experience with multi-threaded code is desirable, but not mandatory

What will you learn?

Key Concepts - Signals, Marble Diagrams (plus hidden tricks)

Query Patterns - efficiently enrich data from multiple sources

Command Patterns - trigger side effects to external systems

Error Handling Patterns

Bridging Reactive to non-reactive world - blocking and call-back based

Infinite Fluxes - error handling, grouping fluxes

Testing Patterns

Tracing and Monitoring - Reactor Context, Operator Lifting, exception traces, and collecting metrics

Technical requirements:

JDK 11 installed

decent IDE - IntelliJ Community or Ultimate latest version is perfect

unrestricted access to github.com  (!double check if it's your work laptop

several days before the workshop, clone the code at https://github.com/victorrentea/ reactive.git and import it as a Maven project.

Who is the trainer?

Victor Rentea


Java Champion 

Victor Rentea Consulting

Victor Rentea is a Java Champion, Consultant, and Trainer writing code since 2006. He regularly talks about Refactoring, Architecture, and Unit Testing at top conferences, but also at the Bucharest Software Crafters Community that he founded. 

On victorrentea.ro you can find a selection of his past talks, his full training offer, video classes, open masterclasses, social channels, and more.

Preparatory work [optional]:

For the best learning experience, the participants are invited to solve as many exercises they can from the project’s git repo, at reactor/src/main/java/victor/training/reactor/workshop. For example, fill in the solution in the P1_Creation and then run the tests in P1_CreationTest and enjoy the tests go green. Then P2_… and so on. 

To solve the exercises, please: 

– allocate 2-4 hours of fresh brain time 

– make extensive use of the Flux/Mono javadocs 

– have a look at Project Reactor reference documentation https://projectreactor.io/docs/core/release/reference/ – if you block, you can also take a peek at the solutions

Having this time of self study is very useful especially for developers with little/no prior hands-on contact with Reactive Programming. To make the best out of the single day we have together, I will have to take the lead during the workshop so you might not be able to follow the discussion AND type at the same time.

Stay up to date

* indicates required

We use Mailchimp as our marketing platform. By clicking above to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.

You can change your mind at any time by clicking the unsubscribe link in the footer of any email you receive from us, or by contacting us at [email protected]