Everything in

#talks

One of the best ways to share my passion about Java is giving a talk - be it at a local meetup, an international conference, anywhere in between, and (nowadays) remotely. Here's a list of my talks.

Talks

First things first, here's the list of my talks - if any of them are interesting for your event, let me know. More are always in the making and some of them are pretty malleable, so feel free to ask for details and customizations that match your preference.

From Idea to IDE - How Java Features Are Considered, Designed, And Shipped#talk#openjdk #community
How does a community of Java enthusiasts drive innovation for 15 years, turning ideas into designs into code into features you can use in your IDE.
The SolutionFactory To Java's Problems#talk#java‑next #project‑amber
Project Amber steadily and carefully chips away at Java's persistent pain points. This talk discusses released, previewing, and upcoming features achieve that and make Java more expressive, more succinct, and more readable.
Data-Oriented Programming in Java (19)#talk#pattern‑matching #sealed #project‑amber
Data-oriented programming models data as data: records for entities and sealed types for alternatives. Combined with pattern matching we can define operations on the data without overloading it with functionality.
Modern Java - Ask Me Anything#talk#java‑next #conversation
New language features, API additions, and JVM improvements; projects Amber, Loom, Panama, and Valhalla; shorter release cadence and free Oracle JDK - there's a lot going on in modern Java. I'll do my best to answer all your questions about it.
Java Next#talk#java‑next #project‑amber #project‑loom #project‑panama #project‑valhalla
From Amber to Loom, from Panama to Valhalla - the four big projects are entering the home stretch. Time to take a closer look at how they will improve Java.
Java Modules in Real Life#talk#j_ms #migration
Advice on why, when, when not, and how to use Java modules in real life for your projects
Why Don't They Just... ?! The Deliberations Behind Evolving Java#talk#streams #optional #records #collections
There are many nifty features that Java could have but doesn't. Somewhat surprisingly, there are reasons for that and in this talk I'll discuss those for a few concrete cases as well as the deliberations behind such decisions.
To Jupiter And Beyond - On An Exploratory Mission With JUnit Pioneer#talk#junit‑pioneer #junit‑5 #community #documentation #tools
JUnit Pioneer gathers JUnit 5 extensions. This talk discusses the technical aspects, but also the mission, dev practices, automatic releases, and what Twitch has to do with all of this.
Java After Eleven#talk#java‑11 #java‑12 #java‑13 #java‑14 #java‑15 #java‑16 #java‑17
A live-coding talk during which I update a Java 11 code base to Java 17, making good use of new language features, additional and improved APIs, and JVM capabilities
Best Practices Considered Harmful#talk#techniques
A lightning talk about how best practices promote a one-size-fits all mentality that harms our ability to create solutions that are tailored to the problems at hand
Fun With var#talk#anonymous‑classes #default‑methods #generics #lambda #java‑10 #var
A live-coding talk where I show off all you need to know about var in Java. And then some.
To JAR Hell And Back#talk#java‑9 #java‑11 #j_ms #migration
A live-coding talk where we take a typical Java 8 code base and update it to Java 9 and beyond, overcoming some common and some less common hurdles like dependencies on internal APIs and split packages
Modern Java - Language, Runtime, LTS#talk#java‑9 #java‑10 #java‑11 #java‑12 #java‑13 #java‑14 #java‑15 #java‑16 #java‑17
In this talk, I introduce the Java language features, new/updated APIs, and new JVM capabilities that recent Java releases brought to the ecosystem and also discuss the current release and support model
Expert Java 8#talk#java‑8 #lambda #streams #optional #default‑methods
With this talk, I help you get the most out of lambdas, Streams, Optionals, and default methods, helping you master Java 8's core features
Comment Your &*☠# Code!#talk#agile #clean‑comments #documentation
A heartfelt rant / thoughtful talk arguing for more comments in code
JUnit 5#talk#junit‑5 #testing
In this talk, I introduce JUnit 5 from basic tests to more advanced features like nesting, parameterization, parallelization, and extensions. We also discuss its architecture and compatibility with JUnit 4.
The Java Module System Beyond The Basics#talk#j_ms #migration
In this talk, I go beyond the module system basics and present more advanced features for those who want to become their team's module system expert

Past & Upcoming

In case you're interested in a talk I gave at a past event, for example to check the slides or watch a video, you can select the respective talk above. Alternatively, check this list of all past talks to find a presentation by date or event.

Looking into the future, these are the next two planned presentations - for more check the full schedule:

Wed7th18:00 UTC

Data-Oriented Programming in Java

Data-oriented programming models data as data: records for entities and sealed types for alternatives. Combined with pattern matching we can define operations on the data without overloading it with functionality.

at ElsassJUG
Tue13th09:00 UTC

Java Next

From Amber to Loom, from Panama to Valhalla - the four big projects are entering the home stretch. Time to take a closer look at how they will improve Java.

at IT-Tage

Events

From small meetups at local communities all the way to large conferences, I love speaking about Java (or the few other topics I have something to say about). If you're organizing one of these events, please hit me up. In most cases, you don't need to worry about travel expenses - Big O will cover that.