I occasionally give workshops at conferences or community events. These are usually public and sometimes even free. Check it out!

You can also hire me as a trainer for in-house workshops teaching your developers about Java 8 and later as well as about JUnit 5.


Das Java Module System in Aktion

21st of March 2019, 09:00 to 17:00
Brühl, Phantasialand
What Else?
Announcement and Registration, course will be in German 🇩🇪

Die Zeit, das Java-9-Modulsystem (JPMS) nur aus der Ferne zu bewundern, ist vorüber und es wird Zeit, die Ärmel hochzukrempeln. Dieser Eintagesworkshop beginnt mit den Grundlagen:

  • Warum gibt es das JPMS überhaupt, welches Problem soll es lösen?
  • Was ist ein Modul und wie definiert man es?
  • Was bedeuten Readability and Accessibility und warum sind die Begriffe so wichtig?

… vermittelt fortgeschrittene Features:

  • Abbildung optionaler und transitiver Abhängigkeiten
  • Verwendung von Services, um Module zu entkoppeln
  • Wie man sicherstellt, dass Reflection weiterhin funktioniert
  • Erstellen von Runtime Images für bzw. inklusive Anwendungen

… und stellt sicher, dass du deine Anwendung auf Java 9 migrieren kannst:

  • Unterstützung in IDEs und Build Tools
  • Herausforderungen bei der Migration nach Java 9
  • Vorbereitende und ausführende Schritte für eine Migration
  • schrittweise Modularisierung einer bestehenden Code Basis

Jedes Thema wird mit einem Vortrag eingeführt und dann mit Übungen an einem Demoprojekt vertieft.


Jfokus Academy

Expert Java 8

2nd and 3rd of April 2019
What Else?
Announcement, registration

Lambdas, streams, optionals, interface evolution with default methods… Java 8 brought a number of new features to the ecosystem. Now that we came to grips with the basics and have been using these techniques day-in, day-out for a few years it is time to evaluate them.

How do they change our coding style? Where do they improve our abilities and where might they unlock totally new options? What are performance characteristics and good defaults (not to say best practices)? What are nooks and crannies to look out for?

This course will answer these and more questions and give you the opportunity to hone your Java 8 skills to become your team’s expert on all things lambdas and streams.


Getting started with Java 9 to 11

4th and 5th of April 2019
What Else?
Announcement, registration

With Java 11 widely pronounced as a long-term support version, it is the natural next step for projects that are currently on Java 8. It contains a host of interesting and even a few far-reaching additions:

  • most prominently, the module system
  • language changes like private interface methods, local-variable type inference with var, and switch expressions (in Java 12)
  • new and improved APIs like collection factories, stack walking, and a reactive HTTP client
  • JVM additions like scripting support, unified logging, and multi-release JARs
  • performance improvements like application class-data sharing and streamlining string representation and concatenation

This workshop gives you an overview over the changes to the Java language and the JVM after Java 8 and lets you get your hands dirty with the most important and interesting ones. It also discusses migration challenges and the new release cadence and support model.




Nicolai provided us with deep insights into JUnit 5 in just one day. He is an excellent trainer and we can recommend him to everyone who is eager to learn more about testing their code.

Andreas Wolf, Development Customer Care at 1&1


The Java 9 Workshop with Nicolai provides a focused overview of the Java Module System and the new Java 9 features with practical exercises and much additional information. We spent two exciting and busy days with much content which created the desire to discover more!

Patrick Baumgartner, Software Craftsman and Founder of 42talents