Am 14.03.2025 fand die diesjährige BOB-Konferenz im Scandic-Hotel Potsdamer Platz, Berlin, statt – dieses Jahr mit 17 Vorträgen statt den in den Vorjahren üblichen 15. Ein Rückblick.

Ab 8:00 Uhr trudelten die ersten Teilnehmer:innen ein, konnten ihre Sachen in der Garderobe ablegen und sich an Kaffee und den Dauerkleinigkeiten der Energizer-Bar im Scandic bedienen.

Um 9:00 Uhr ging es dann richtig los. (Hinweis: Alle Vorträge, bei denen die Vortragenden zugestimmt haben, sind in Videoform auf den verlinkten Seiten hinterlegt.)

Die Keynote „Local-First Software“ von Annette Bieniusa behandelt die Prinzipien von local-first Software, Techniken wie konfliktfrei replizierte Datentypen (CRDTs), und die Herausforderungen, die sich in der Arbeit damit ergeben.

Dieses Jahr ging es nicht direkt mit den Tutorials weiter, sondern sowohl die Tutorial- als auch die Vortragsslots hatten eine Viertelstunde Zeit für Kaffee und Klönen. Um 10:15 Uhr gingen dann zwei Vorträge und zwei Tutorials gleichzeitig los:

Tim Digel berichtete in Ein Weg zu hoher Zuverlässigkeit von Systemen eines Netzbetreibers“ von seinen Erfahrungen im Netze-BW-Softwareprojekt #NETZlive, insbesondere darüber, wie die Zuverlässigkeit der Systeme gesteigert wurde und was mittelfristig an weiteren Erfordernissen auf das Projekt zukommt.

Andres Löh brachte mit „Abstraction and program design, or the power of parametricity“ Beispiele dafür, wie höhere Abstraktionsgrade zu verständlicherem Code führen können.

Im Tutorial-Track liefen „Embracing Declarative Frontend Development with Signals and Streams“ von Mischa Koischwitz und „MAD-TDD - der Wahnsinn hat Methode“ von Marco Emrich und Ferdinand Ade an.

Um 11:05 Uhr ging der Vortragsblock die zweite Runde: Xavier van de Woeystene zeigte mit seinem Vortrag „Beyond the Basics of LSP: Advanced IDE services for OCaml“ fortgeschrittene Anwendungsmöglichkeiten des von Microsoft entwickelten Language Server Protocols auf; Bartosz Sypytkowskis Vortrag „Service-less communication: is it possible?“ beschäftigte sich eingehend mit der im Vortragstitel gestellten Frage.

Von 11:50 Uhr bis 13:00 Uhr gab es eine Mittagspause, die die Teilnehmer:innen nutzten, um sich am Scandic-Mittagsbüffet zu bedienen, sich zu unterhalten und für den Nachmittagsblock zu stärken.

Die nächste Reihe an Vorträgen und Tutorien begann mit Ziyang Lius „Developing DSLs: A Look at Three Practical Strategies with Real-World Examples“, einem Vortrag, der sich eingehend mit domänenspezifischen Sprachen beschäftigte. Guillaume Allais beschrieb „Correct by Construction Concurrent Programs in Idris 2“, wie man nebenläufige Programme (berüchtigt für ihre Fehleranfälligkeit) von vornherein korrekt hinbekommt.

Die Tutorien in diesem Block waren Kira Howes „Reproducible data science with Clojure“ und Kaan Sahins „Resiliente Systeme entwickeln mit Elixir: Fehlertoleranz von Grund auf“.

Um 13:50 Uhr hielten Hannes Siebenhandl und Arnaud Bailly ihre Vorträge. Hannes Siebenhandl stellte mit „A Language Server for your DSL for Fun and Profit“ Möglichkeiten zur Implementierung eines Language Servers zur Verwendung mit dem Language Server Protocol vor, während Arnaud Bailly mit „Against the (formal) method?“ einen Erfahrungsbericht zum Arbeiten mit formalen Methoden vorstellte.

Von 14:35 Uhr bis 15:00 Uhr folgte die erste Kaffeepause am Nachmittag, zu dem das Scandic außer Kaffee, Tee und Kaltgetränken auch Obst und Miniberliner reichte.

Weiter ging es dann mit „Coverage-guided property-based testing“ von Stevan A und „Things We Never Told Anyone About Functional Programming“, während im Tutorialtrack Kevin Jahns „Build collaborative applications with Yjs“ die Technologie Yjs vorstellte und Benjamin Wolf in „Schöne Dokumentation - nur mit Text“ zeigte, wie man mit asciidoc technische Dokumentation einfacher, kollaborativer und effizienter gestalten kann.

Um 15:50 Uhr schloss sich der Vortrag „Functional data structures in Swift“ von Manuel Chakravarty an, der an seinen Vortrag vom letzten Jahr anknüpfte und zeigte, wie gut Swift für funktionale Programmierung funktioniert. Objektorientierte Programmierung ist auf der BOB nicht gut gelitten, was vielleicht daran liegt, dass die moderne Softwareentwicklung deren ursprüngliche Techniken und Vorteile vergessen hat. „OOP is dead, long live Object Orientation!“ von Franz Thoma rief uns wieder ins Gedächtnis, wie (und wo) OOP toll sein kann.

Nach einer weiteren Kaffeepause begann um 17:00 der letzte Block: Alperen Keleş‘s Vortrag „Property-Based Testing: The Past, The Present, and The Future“ würdigte das 25-jährige Bestehen von QuickCheck und bot einen Einblick in schon gelöste und noch zu lösende Herausforderungen. Joachim Breitner, kurzfristig als Ersatzsprecher eingesprungen, brachte mit „Recursive Definitions in Lean“ Ideen mit, wie Nutzer:innen einer nicht-rekursive Sprache trotzdem rekursiv Funktionen definieren können.

In den Tutorialräumen war Roland Meyer mit „Programming with weak consistency, and Dartagnan“ am Start, der an die Keynote zur Local-First-Software anknüpfte. Bei Joshua Töpfer ging es „Die andere Art des Teamworks: Whole Team Ensemble Programming“ um Ensemble-Programmierung (manchmal auch unter dem Namen Mob-Programmierung bekannt).

Schließlich stellte ab 17:50 Uhr Yvett Ördög mit „The Microservices Problem No One Warned Us About (And How You Can Avoid It)“ eine Blaupause für resiliente Systeme vor, während Nicole Rauch und Martin Günther mit „Die Starre überwinden - mit DDD zu geschmeidigem Code“ einen Ansatz zum Refactoring mit DDD mitbrachten.

Um 18:35 Uhr gab Michael Sperber wie jedes Jahr ein kurzes Schlusswort, bevor es für einen großen Teil der Runde weiter zum Konferenzabendessen ins Restaurant Amrit am Potsdamer Platz ging.

An dieser Stelle auch noch einmal herzlichen Dank an unsere Sponsor:innen INNOQ, entwickler.de-Akademie, TNG Technology Consulting und WellTyped für ihre großzügige Unterstützung.

Wir freuen uns schon auf die nächste BOB und hoffen, viele Teilnehmer:innen und Sprecher:innen 2026 wieder begrüßen zu dürfen.