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.

Image with slug talk-teaching-java
Advanced "Java 101"#talk#java‑basics #on‑ramp #community
Java's success as one of the most used programming languages in the world comes in no small parts from its approachability but what may have been an easy entry into programming in the mid 90s, appears laborious today and so, in recent years, Oracle and OpenJDK have worked to improve the situation.
Image with slug talk-java-ai
Java and AI - A Structured Analysis#talk#java‑next #ai
What AI development needs and how much Java already has to offer, what it lacks, as well as what it's poised to acquire in the future
Image with slug talk-hot-lang
The Hottest Language You Didn't Have On Your Radar#talk#pattern‑matching #performance #records #virtual‑threads
With so much going on in the programming language space, it's easy to miss any specific language's success story and so in this talk I want to put a particularly hot one on your radar
Image with slug talk-java-x
Java 23 - Better Language, Better APIs, Better Runtime#talk#java‑23
Java 21 was an explosive release, but 22 and 23 are no slouches either: unnamed patterns, stream gatherers, multi-source-file launcher, Markdown in JavaDoc plus many new and improved features in preview
Image with slug talk-java-action
Modern Java in Action#talk#java‑21 #virtual‑threads #pattern‑matching #records
Let's write a GitHub Crawler and let's throw in everything Java (23) has to offer
Image with slug talk-virtual-threads
Scaling Simply with Virtual Threads#talk#project‑loom #java‑21
Virtual threads combine the simplicity of blocking code with the resource efficiency and scalability of reactive programming and in this talk you're going to learn how they do that and how you can use them in your project
Image with slug talk-openjdk-features
From Idea to IDE - How Java Features Are Considered, Designed, And Shipped#talk#openjdk #community
How a community of Java enthusiasts drives innovation for 15 years, turning ideas into designs into code into features you can use in your IDE
Image with slug talk-java-amber
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.
Image with slug talk-java-pattern-matching
Data-Oriented Programming - Version 1.1#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.
Image with slug talk-java-ama
Modern Java - Ask Me Anything#talk#java‑next #conversation
New language features, API additions, and JVM improvements; projects Amber, Loom, and Panama, Valhalla, Leyden, and Babylon; 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.
Image with slug talk-java-next
Java Next#talk#java‑next #project‑amber #project‑babylon #project‑leyden #project‑loom #project‑panama #project‑valhalla
From Amber to Valhalla, from Loom to Leyden, from Babylon to Panama - six big projects are shaping Java's future and while some of them are already crossing the finishing line, others are just getting started. Let's take a closer look at how they will improve Java.
Image with slug talk-java-modules-irl
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
Image with slug talk-just
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.
Image with slug talk-junit-pioneer
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.
Image with slug talk-java-after-n
Java After Seventeen#talk#java‑17 #java‑18 #java‑19 #java‑20 #java‑21
A live-coding talk during which I update a Java 11/17 code base to Java 21, making good use of new language features, additional and improved APIs, and JVM capabilities
Image with slug talk-best-practices-harmful
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
Image with slug talk-java-var
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.
Image with slug talk-java-9-migration
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
Image with slug talk-expert-java-8
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
Image with slug talk-comment-your-code
Comment Your &*☠# Code!#talk#agile #clean‑comments #documentation
A heartfelt rant / thoughtful talk arguing for more comments in code
Image with slug talk-junit-5
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.
Image with slug talk-java-module-system
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:

Wed15th17:30 UTC

Java 23 - Better Language, Better APIs, Better Runtime

Java 21 was an explosive release, but 22 and 23 are no slouches either: unnamed patterns, stream gatherers, multi-source-file launcher, Markdown in JavaDoc plus many new and improved features in preview

at JUG Bonn
Wed5th08:00 UTC

Java 24 - Better Language, Better APIs, Better Runtime

Java 21 was an explosive release, but 22 and 23 are no slouches either: unnamed patterns, stream gatherers, multi-source-file launcher, Markdown in JavaDoc plus many new and improved features in preview

at Jfokus

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.