© Mapbox, © OpenStreetMap

Speaker

Jens Knipper

Jens Knipper

Senior Software Engineer at OpenValue

Senior Software Engineer bei OpenValue

Actions

Jens is a senior software engineer working for OpenValue in Düsseldorf.
He likes working in different environments, architectures and technologies.
The insights he gathers are things he likes to share in through talks or blog posts.

Jens ist ein Senior Software Engineer bei OpenValue in Düsseldorf.
Er arbeitet gerne mit verschiedenen Umgebungen, Architekturen and Technologien.
Die Erkenntnisse, die er daraus gewinnt teilt er gerne durch Präsentationen oder Blog Posts.

Area of Expertise

  • Information & Communications Technology

Sessions

Demystifying Dependency Injection en de

Dependency Injection (DI) is an important concept in Software development that helps create cleaner, easier-to-maintain code. In this talk, I'll explain the basics of DI, how it works, and why it's useful.
DI helps reduce the tight connections between parts of your application by letting frameworks like Spring manage how objects are created and linked together. You've probably used DI through annotations like @Autowired, @Inject, or similar. I'll show you how these annotations work in practice and how they can make your code more flexible and easier to test.
Whether you're new to DI or want a clearer understanding, this session will provide the knowledge you need to improve your code.

JavaScript? No. Java Scripts! - Scripting with Java en de

For years, scripting has been the domain of Python, Bash, or JavaScript - but if you’re like me, you were never quite comfortable with any of them. You can’t remember the Bash syntax, struggle with Python’s dependency drama, or accidentally turn 5 + 3 into "53" in JavaScript.

Luckily, modern Java is quietly stepping into this space. With the latest features, Java is no longer just a verbose enterprise language - it can now be lightweight, interactive, and even script-friendly.

In this talk, we’ll explore how Java has evolved into a practical scripting language. We’ll discover how the latest features - like shebang support, compact source files, and instance main methods - pair perfectly with records and text blocks to enable real-world automation.

For more advanced scripts, we’ll dive into handling dependencies and solving common scripting challenges using JBang. Through live demos, you’ll learn how modern Java features allow you to quickly prototype, automate tasks, and write scripts that are both powerful and maintainable.

By the end of the session, you’ll see Java in a new light: not just for large applications, but as a modern, practical scripting language.

JavaScript? Nein. Java Scripts! - Scripting mit Java en de

Seit vielen Jahren wird Scripting vor allem mit Sprachen wie Python, Bash oder JavaScript verbunden. Doch vielleicht geht es dir wie mir: Mit keiner davon fühlt man sich wirklich zuhause. Die Bash-Syntax will einfach nicht im Kopf bleiben, Python sorgt regelmäßig für Ärger mit Abhängigkeiten, und in JavaScript wird aus 5 + 3 plötzlich "53".

Dabei entwickelt sich Java im Hintergrund still und leise weiter. Mit den neuesten Sprachfeatures ist Java längst nicht mehr nur eine klassische Enterprise-Sprache. Es kann heute deutlich schlanker, interaktiver und durchaus skriptfreundlich sein.

In diesem Vortrag schauen wir uns an, wie sich modernes Java zu einer praktischen Option für Skripting und Automatisierung entwickelt hat. Wir werfen einen Blick auf Features wie Shebang-Support, kompakte Source-Dateien und Instance-Main-Methoden und sehen, wie sie zusammen mit Records und Text Blocks das Schreiben kleiner, nützlicher Automatisierungs-Skripte erleichtern.

Für komplexere Szenarien schauen wir uns zudem JBang an. In Live-Demos zeige ich, wie sich mit modernen Java-Funktionen Aufgaben automatisieren und Skripte schreiben lassen, die sowohl leistungsfähig als auch gut wartbar sind.

Am Ende der Session wirst du Java vermutlich mit anderen Augen sehen: nicht nur als Sprache für große Anwendungen, sondern auch für Skripting und Automatisierung.

Demystifying Dependency Injection en de

Dependency Injection (DI) ist ein wichtiges Konzept in der Softwareentwicklung, das dabei hilft, Code übersichtlicher, flexibler und leichter wartbar zu gestalten. In diesem Vortrag erkläre ich die Grundlagen von DI, wie das Prinzip funktioniert und warum es in vielen Projekten so nützlich ist.

Die Idee besteht darin, starke Abhängigkeiten zwischen Komponenten zu vermeiden. Statt dass Klassen ihre benötigten Objekte selbst erstellen, übernimmt ein Framework – etwa Spring – die Verantwortung dafür, Objekte zu erzeugen und miteinander zu verbinden.

Viele Entwickler nutzen Dependency Injection bereits, oft ohne sich intensiv damit zu beschäftigen, zum Beispiel über Annotationen wie @Autowired, @Inject oder ähnliche Mechanismen. Anhand praktischer Beispiele zeige ich, was im Hintergrund passiert und wie diese Ansätze den Code flexibler machen und Tests deutlich vereinfachen können.

Egal, ob du DI gerade erst kennenlernst oder dein Verständnis davon vertiefen möchtest: In dieser Session bekommst du ein solides Fundament, um Dependency Injection bewusster einzusetzen und die Struktur deines Codes zu verbessern.

Twice Upon a Time - A Live Bug Hunt Through Dates and Time en de

Every backend developer has shipped a date bug.

A timestamp that's off by an hour. A report that's missing yesterday's data, but only for some users. A meeting reminder that fires at 3 AM. A duration that somehow comes back negative.

The worst part is that these bugs rarely fail where you expect them to. Everything works on your machine. The tests pass. Then somebody in another time zone hits one Sunday in October or March, and suddenly your perfectly reasonable code starts doing impossible things.

This talk is a live bug hunt. We'll reproduce these failures on stage, watch them happen, and then figure out what actually went wrong.

In the end, all of these bugs come down to one distinction: a moment in time versus what a clock on the wall says. Once that clicks, a lot of date and time APIs suddenly make much more sense. I'll also leave you with a small checklist that helps answer a simple question whenever you're working with time: what exactly am I trying to represent?

Es war zweimal - Eine Live Bug Jagd durch Datum und Zeit en de

Jeder Backend-Entwickler hat schon einmal einen Datums-Bug ausgeliefert.

Ein Zeitstempel, der um eine Stunde danebenliegt. Ein Report, in dem die Daten von gestern fehlen, aber nur für manche Nutzer. Eine Meeting-Erinnerung, die um 3 Uhr morgens losgeht. Eine Dauer, die irgendwie negativ zurückkommt.

Das Schlimmste daran: Diese Bugs schlagen nur selten dort fehl, wo man sie erwartet. Auf deinem Rechner funktioniert alles. Die Tests laufen durch. Und dann trifft es jemanden in einer anderen Zeitzone, an einem Sonntag im Oktober oder März – und plötzlich macht dein völlig vernünftiger Code unmögliche Dinge.

Dieser Talk ist eine Live-Bug-Jagd. Wir reproduzieren diese Fehler live auf der Bühne, schauen ihnen beim Entstehen zu und finden anschließend heraus, was tatsächlich schiefgelaufen ist.

Am Ende lassen sich all diese Bugs auf eine einzige Unterscheidung zurückführen: ein Zeitpunkt in der Zeit versus das, was eine Uhr an der Wand anzeigt. Sobald dieser Unterschied sitzt, ergeben plötzlich viele Datums- und Zeit-APIs viel mehr Sinn. Außerdem gebe ich eine kleine Checkliste mit auf den Weg, die bei der Arbeit mit Zeit eine einfache Frage beantwortet: Was genau versuche ich eigentlich darzustellen?

IT-Tage 2026 Upcoming

JavaScript? Nein. Java Scripts! - Scripting mit Java

December 2026 Frankfurt am Main, Germany

Øredev 2026 Sessionize Event Upcoming

November 2026 Malmö, Sweden

WeAreDevelopers - Online - 2026 Sessionize Event

June 2026

Voxxed Days Luxembourg

JavaScript? No. Java Scripts! - Scripting with Java

June 2026 Luxembourg

MakeIT 2026 / JCON OpenBlend Slovenia 2026 Sessionize Event

May 2026 Portorož, Slovenia

IT-Tage 2025

Modern Java: Sprachfeatures von JDK 11 bis heute in der Praxis

December 2025 Frankfurt am Main, Germany

JavaCro'25 Sessionize Event

October 2025 Rovinj, Croatia

Java Forum Nord 2025 Sessionize Event

September 2025 Hannover, Germany

MakeIT 2025 / JCON OpenBlend Slovenia 2025 Sessionize Event

May 2025 Portorož, Slovenia

JavaLand 2023

(Newcomer) Lokales Testen von AWS Serverless Lambda-Funktionen

March 2023 Brühl, Germany

Jens Knipper

Senior Software Engineer at OpenValue

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top