[
  {
    "date": "2024-09-19T00:00:00",
    "isDefault": false,
    "rooms": [
      {
        "id": 46813,
        "name": "Humboldtsaal (1.OG)",
        "sessions": [
          {
            "id": "bbce33af-81f4-43e7-8db0-26ea69cf4f6f",
            "title": "Einlass",
            "description": null,
            "startsAt": "2024-09-19T08:00:00",
            "endsAt": "2024-09-19T09:00:00",
            "isServiceSession": true,
            "isPlenumSession": true,
            "speakers": [],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": null,
            "isInformed": false,
            "isConfirmed": false
          },
          {
            "id": "668415",
            "title": "Die Evolution von Architektur durch Team Topologies",
            "description": "Eigentlich definiert Architektur \"nur\" die Struktur der Software. Aber das Gesetz von Conway weißt schon auf den Zusammenhang zwischen Architektur und Organisation hin.  Durch das Inverse Conway Maneuvre ist klar geworden, dass die geschickte Aufstellung der Organisation die Architektur maßgeblich beeinflussen kann. Dieser Vortrag zeigt auf, dass Team Topologie auch erhebliche Konsequenzen für die Architektur-Arbeit hat: Team Topologies fungiert nicht nur als Werkzeug für Architektur, sondern muss auch in die architektonische Planung einbezogen werden.",
            "startsAt": "2024-09-19T09:00:00",
            "endsAt": "2024-09-19T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "4750ed21-fcda-4dc5-9fe5-1a6fca25cd8c",
                "name": "Eberhard Wolff"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "658920",
            "title": "Die Zukunft des Codings? Jetbrains AI Assistant und GitHub Copilot im Schlagabtausch",
            "description": "KI-Coding-Assistenten halten immer mehr Einzug in die moderne Software-Entwicklung. In diesem Vortrag lassen wir zwei populäre Vertreter in einem virtuellen Schlagabtausch gegeneinander antreten: Der Platzhirsch GitHub Copilot sowie Jetbrains AI Assistant, der seit einigen Monaten in den bekannten IDEs IntelliJ, Webstorm, ReSharper etc. integriert ist. Dabei zeichnet sich ein spannender Wettbewerb ab.\r\n\r\nWir untersuchen dabei insbesondere: Wer hat bei der Unterstützung welcher Anwendungsfälle die Nase vorn? Welche Kriterien können und sollten bei der Entscheidung für eines der beiden Tools eine Rolle spielen? Welche Features sind exklusiv nur in einem der beiden Werkzeuge verfügbar?\r\n\r\nAm Ende ergibt sich ein klarer Überblick über die derzeitigen Fähigkeiten sowie der Stärken und Schwächen beider KI Coding Assistenten und nebenbei ein Gespür dafür, wie diese Assistenten von Softwareentwicklerinnen und Softwareentwicklern beim täglichen Arbeiten eingesetzt werden können. Außerdem stellen wir erste Ergebnisse vor, wie gut die Tools beim Entwickeln nach Domain Driven Design unterstützen.",
            "startsAt": "2024-09-19T10:20:00",
            "endsAt": "2024-09-19T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "06f3a858-e54b-44e4-b572-f0d006ab963f",
                "name": "Bastian Weinlich"
              },
              {
                "id": "98eb0068-b158-4e9c-88f1-d73a57a18f6c",
                "name": "Semjon Mössinger"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669813",
            "title": "Supply Chain Security - Ein Leitfaden",
            "description": "Nach Solarwinds, Equifax und XZ sollte es endlich in euren Köpfen angekommen sein:\u2028Supply Chain Security ist ein Thema, das uns alle angeht.\r\nFür den Rest gibt es dann noch den EU Cyber Resilience Act.\r\nAber wie soll man da rangehen? \r\nWas kann man in seinen eigenen Projekten tun, um die Sicherheit aller zu erhöhen und gleichzeitig die Anforderungen der EU zu erfüllen?\r\nMein Plan ist es, euch anhand eines Praxisbeispiels einen vergleichsweise einfachen Workflow näher zu bringen, mit dem ihr:\r\n- Eure Commits absichert\r\n- Ein Artefakt signiert und veröffentlicht\r\n- Einen Container signiert und veröffentlicht\r\n- Ein Binary signiert und veröffentlicht\r\n- Ein SBOM für euere Projekt erzeugt und bereitstellt\r\n\r\nDie dabei verwendeten Technologien:\r\n- Sigstore\r\n- CycloneDX SBOM\r\n- Yubikey\r\n- GitActions\r\n\r\nDas Demo-Projekt wird in Java implementiert. \r\nDie gezeigten Vorgehensweisen lassen sich leicht auf andere Ökosystemen adaptieren, da viele der eingesetzten Tools sprachunabhängig sind.\r\n",
            "startsAt": "2024-09-19T11:40:00",
            "endsAt": "2024-09-19T12:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "be3147d6-8f3d-4528-885d-4814898fe230",
                "name": "Jochen Mader"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "98186408-5477-4bc0-93fa-443135182724",
            "title": "Mittag",
            "description": null,
            "startsAt": "2024-09-19T12:40:00",
            "endsAt": "2024-09-19T13:40:00",
            "isServiceSession": true,
            "isPlenumSession": true,
            "speakers": [],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": null,
            "isInformed": false,
            "isConfirmed": false
          },
          {
            "id": "668305",
            "title": "From Legacy to Cloud—Mistakes You Don’t Want to Make Your Own",
            "description": "Come and hear the story of a company that is on the journey from the old monolithic, on-premise, waterfall world to the new modular, agile, domain-driven, multi-tenant, cloud-based microservices world. The challenges come from different directions: both technical and organizational aspects have to mastered. The domain has to be understood, so that the system can be structured right. The big bang has to be avoided.\r\n\r\nIn this talk we will look at how our “fictional” company has struggled with and finally overcome those challenges.",
            "startsAt": "2024-09-19T13:40:00",
            "endsAt": "2024-09-19T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "de44a1c1-8728-4063-b3d0-c0b3e7e87c4f",
                "name": "Henning Schwentner"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "665035",
            "title": "Bottom-up Architecture – Bridging the Architecture Code Gap",
            "description": "Hard to change code bases often suffer from two primary problems: a lack of alignment with domain boundaries and failure to effectively express architectural ideas in code. To address that critical issue, developers have turned to Separation of Concerns Architectures, such as Onion-, Clean and Hexagonal Architecture. However, these approaches typically yield mixed results, as they primarily focus on separating technical and business code, without addressing the structural aspects of the domain.\r\n\r\nThis presentation aims to delve into strategies for transferring architectural ideas and design pattern languages into code at various levels of abstraction. We will explore how different frameworks and libraries in the Java ecosystem can aid in this process, leveraging the presence of meta-information within the code to support critical aspects such as structural verification, testability, and documentation. By employing these approaches and tools, developers can write more maintainable code that is less susceptible to degradation over time.",
            "startsAt": "2024-09-19T15:00:00",
            "endsAt": "2024-09-19T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "6c4698c8-1a2f-436b-a5f4-3770e0bd3e20",
                "name": "Oliver Drotbohm"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "661995",
            "title": "Learn Pattern Matching Through Puzzlers",
            "description": "Pattern matching in Java makes use of the instanceof and switch syntax, so that programmers can leverage their existing knowledge to easily master the new features. At least that's the theory. In this session, you will see, through a series of increasingly challenging puzzlers, how the pattern matching process works under the hood and just how complex the interactions between classic and modern features are. You will come away with a thorough understanding of the mechanisms and limitations of the pattern matching features that have been gradually added between Java 14 and 21, as well as those that are still contemplated for future versions. You will also learn best practices and style recommendations so that your code is not a puzzler for your peers.",
            "startsAt": "2024-09-19T16:20:00",
            "endsAt": "2024-09-19T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "bbb8702d-0637-4c8e-ae97-45bde0d6b3a8",
                "name": "Cay Horstmann"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "414e09a5-af5f-4d2e-9194-33855fe61f8b",
            "title": "Verlosung und Panel",
            "description": null,
            "startsAt": "2024-09-19T17:35:00",
            "endsAt": "2024-09-19T18:35:00",
            "isServiceSession": true,
            "isPlenumSession": true,
            "speakers": [],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": null,
            "isInformed": false,
            "isConfirmed": false
          }
        ],
        "hasOnlyPlenumSessions": false
      },
      {
        "id": 46814,
        "name": "Kleistsaal (1.OG)",
        "sessions": [
          {
            "id": "667308",
            "title": "LASR. Ein leichtgewichtiger Ansatz für Euer Software-Review",
            "description": "Mit Architekturbewertungen ist es möglich, Schwächen und Potenziale von Softwarelösungen herauszuarbeiten, Entscheidungen abzusichern und Verbesserungsmaßnahmen zu bewerten. Klassische Analyseansätze aus diesem Umfeld wie ATAM sind fundiert, kommen aber gerade in beweglichen Softwarevorhaben etwas schwergewichtig, mitunter fast zeremoniell daher. \r\nIn diesem Vortrag gebe ich einen lebendigen Einstieg in die Welt der Architekturbewertung. Vor allem lernt Ihr mit LASR (Lightweight Approach for Software Reviews) eine leichtgewichtige Herangehensweise kennen. Ihr könnt diese mit Eurem Team unmittelbar anwenden, Euer Softwaresystem beleuchten und zügig zu ersten Erkenntnissen kommen. Wir greifen auf die Essenzen etablierter Bewertungsmethoden zurück. Und erarbeiten uns einen roten Faden durch ein Review, inkl. möglicher Vertiefungspunkte für eine höhere Konfidenz im Bewertungsergebnis.",
            "startsAt": "2024-09-19T09:00:00",
            "endsAt": "2024-09-19T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "12e31a30-45cd-492d-8496-cbceb36fcee4",
                "name": "Stefan Zörner"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "681465",
            "title": "GraalVM in Action: Exploring Monitoring Metrics in a Native Environment",
            "description": "In this interactive session, we take a close look at GraalVM and its impressive achievements. Example applications have been benefiting from the outstanding startup times in the native environment for some time now. With the latest versions, the build time has also been significantly shortened. The question now arises: What about monitoring? Without the conventional JVM, can we still collect meaningful metrics? And what tools are available to us?\r\n\r\nI will deploy a traditional Spring application on native terrain as an example. Additionally, a Quarkus service will be set up. These two services will interact with each other and with databases, providing a comprehensive demonstration of a microservices architecture in a native environment running on Azure Container Apps. Using open-source tools and Azure Monitoring, we will monitor the application and try to tackle this challenge without conventional JVM metrics. Let’s find out together which metrics we can extract and whether they are sufficient to get a comprehensive picture.",
            "startsAt": "2024-09-19T10:20:00",
            "endsAt": "2024-09-19T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "351e1307-f988-40f3-934f-e875bde1b95d",
                "name": "Sandra Ahlgrimm"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "751119",
            "title": "Java for Small Coding Tasks",
            "description": "For small projects, we often reach for a scripting language, such as Python or Bash, because Java seems too heavy handed. In this interactive presentation, I want to convince you to give Java a try for those tasks. With the right tooling (and some innovative features in Java 21 and 22), Java can be a great choice for scripts, Jupyter notebooks, and even code in the browser. The benefit: compile-time typing, great IDEs, and a growth path when those small projects don't stay small.\r\n\r\nIntended audience:\r\nExperienced Java programmers who also need to do scripting/exploratory programming.",
            "startsAt": "2024-09-19T11:40:00",
            "endsAt": "2024-09-19T12:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "bbb8702d-0637-4c8e-ae97-45bde0d6b3a8",
                "name": "Cay Horstmann"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "645214",
            "title": "Frontend-Entwicklung: Single-Page-Anwendung oder HTMX?",
            "description": "Single-Page-Anwendungen (SPA) sind einerseits weit verbreitet, andererseits aber auch umstritten. Sie bieten ein hohes Maß an Interaktivität und Komfort für Benutzer:innen, aber nicht für jede Anforderung ist eine SPA deswegen automatisch die richtige Wahl. Auf der anderen Seite wiederum sind \"klassische\" auf dem Server gerenderte Anwendungen oftmals nicht ausreichend, wenn es um Webanwendungen mit viel Interaktivität geht. Diese Lücke möchte die Bibliothek HTMX schließen, die serverseitiges Rendering mit einem beliebigen Backend ermöglicht. Im Frontend verspricht sie sowohl eine nahezu JavaScript-freie Entwicklung als auch feingranulare Aktualisierungen der Oberfläche, ähnlich wie von SPAs gewohnt. Ist HTMX also die perfekte Allzweck-Lösung fürs Frontend?\r\n\r\nAnhand praktischer Beispiele möchte ich in diesem Vortrag Single-Page-Anwendungen und HTMX gegenüberstellen. So werden wir sehen, wo die Stärken und Schwächen der beiden Ansätze liegen und für welche Anwendungen sie jeweils geeignet sind. \r\n\r\nNeben Beispielen mit Java und Spring werde ich ein paar React Beispiele zeigen, die Du aber auch ohne React Vorkenntnisse verstehen wirst. Wenn Du dich also für moderne Webentwicklung interessierst, bist Du in diesem Vortrag genau richtig!",
            "startsAt": "2024-09-19T13:40:00",
            "endsAt": "2024-09-19T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "b90317c9-5fd7-4f10-b20a-30e216b29fd1",
                "name": "Nils Hartmann"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "662472",
            "title": "Softwarearchitektur im Mob",
            "description": "Die Arbeit von Softwarearchitekten findet in klassisch aufgestellten Teams oft abseits der Entwicklungsarbeit statt - sowohl räumlich als auch zeitlich getrennt. Dass das auch anders geht, zeigt Joshua in seinem Vortrag. Er arbeiten seit mehr als 3 Jahren in einem Remote Mob, in dem das ganze Team bei Bedarf die Rolle des Architekten einnimmt. So wird die Arbeit an Domänen- und Lösungsarchitektur genauso vom ganzen Team gemeinsam durchgeführt, wie die Entwicklung und der Betrieb der Lösungen. In diesem Vortrag erfahrt ihr, wie ein Mob funktioniert und welche Veränderungen die synchrone Zusammenarbeit bei Architektur-Methoden mit sich bringt.",
            "startsAt": "2024-09-19T15:00:00",
            "endsAt": "2024-09-19T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "0b781984-d264-4e50-b123-b76d0b3a0349",
                "name": "Joshua Töpfer"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "665105",
            "title": "LLMs mit Spring AI integrieren",
            "description": "KI und vor allem Large Language Models sind das Thema 2024 und fast jeder hat schon einen Prompt geschrieben und abgeschickt. Doch wie können wir LLMs in bestehende Anwendungen integrieren, um dort von diesen zu profitieren? Genau das schauen wir uns in diesem Vortrag, Live on Stage, mit Spring Boot und Spring AI an. Neben der reinen Integration lernen wir dabei auch Ollama, RAG und Function Calling kennen.",
            "startsAt": "2024-09-19T16:20:00",
            "endsAt": "2024-09-19T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "bcb3221c-6a1c-46b0-a56c-25608382fc0d",
                "name": "Michael Vitz"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          }
        ],
        "hasOnlyPlenumSessions": false
      },
      {
        "id": 46815,
        "name": "Edison (2.OG)",
        "sessions": [
          {
            "id": "668025",
            "title": "KI-basiertes Software-Testing, ein Gamechanger?",
            "description": "In der Welt der Softwareentwicklung, wo Zeit ebenso wertvoll ist wie der Code selbst, steht uns eine Revolution bevor. Stell dir eine Zukunft vor, in der das Schreiben und Überprüfen von Testfällen nicht länger zeitraubende Aufgaben sind, sondern nahtlos und effizient ablaufen. Dank fortschrittlicher KI-Technologien ist es möglich, den Prozess des Refactorings automatisch zu gestalten, was nicht nur die Qualität des Codes verbessert, sondern auch dessen Wartbarkeit langfristig sichert. Die automatisierte Testfallerstellung, ein weiterer Meilenstein, transformiert die Art und Weise, wie wir bisher manuell Tests konzipiert haben, indem sie uns erlaubt, präzise und relevante Testfälle mit einem Bruchteil des Aufwands zu generieren. Doch das ist noch nicht alles. Die IDEs werden zunehmend intelligenter und bieten Entwicklern Unterstützung bei der Testfallerstellung, sodass selbst die komplexesten Szenarien mit Leichtigkeit getestet werden können. Diese Werkzeuge und Methoden sind nicht nur faszinierend, sondern auch Gamechanger, die das Potential haben, unsere tägliche Arbeit grundlegend zu verändern. Sie versprechen nicht nur eine Steigerung der Effizienz und Qualität unserer Software, sondern auch eine signifikante Zeitersparnis im Entwicklungsalltag.",
            "startsAt": "2024-09-19T09:00:00",
            "endsAt": "2024-09-19T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "904dfc93-d456-4778-a5be-e87b5b1ceeda",
                "name": "Sascha Doemer"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669129",
            "title": "SAML vs. OAuth vs. OpenID Connect - Was passt am Besten?",
            "description": "Wir haben 3 Lösungen - die Protokolle SAML, OAuth und OpenID Connect. Doch welche Problemen lösen sie überhaupt? Wann verwende ich welches Protokoll? Wer hat wo welche Vor- oder auch Nachteile?\r\n\r\nIn diesem Vortrag geben ich einen Überblick über die 3 bekanntesten Security-Protokolle, die alle irgendwas mit Authentifizierung und Autorisierung zu tun haben, aber dennoch unterschiedlich zueinander sind. Ich gehe auf deren Features ein, vergleiche sie und gebe ein paar Tipps, wann und warum man welches Protokoll wählen sollte.",
            "startsAt": "2024-09-19T10:20:00",
            "endsAt": "2024-09-19T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "ef54265f-c9ff-45d2-a495-20baff896eff",
                "name": "Niko Köbler"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "658601",
            "title": "Sprache schafft Wirklichkeit.",
            "description": "Thema: Arbeitskultur  \r\n\r\nKriegsmetaphern finden oft Eingang in die Sprache der Unternehmenskultur, sei es in Besprechungen, Präsentationen oder internen Mitteilungen. Begriffe wie \"Schlachtplan\", \"verteidigen\", \"kämpfen\" oder \"Siegesstrategie\" werden verwendet, um den Wettbewerb zu beschreiben. Diese Metaphern können die Einstellung der Mitarbeiter gegenüber ihrer Arbeit und ihrem Team beeinflussen, indem sie eine Atmosphäre von Konkurrenz und Kampf schaffen. \r\nDie Unternehmenskultur oder auch die Stimmung im Team werden automatisch aggressiver und feindseliger gegenüber anderen Teams. Dies schafft oder verstärkt Konflikte, prägt Silo-Denken und versetzt die Mitarbeiter in einen permanenten \"Kampfmodus\".\r\nDas muss nicht sein und es lohnt sich ein Bewusstsein für die eingesetzten Metaphern zu schaffen, denn Sprache schafft Wirklichkeit.",
            "startsAt": "2024-09-19T11:40:00",
            "endsAt": "2024-09-19T12:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "95f44739-a886-49d2-bad4-00ed808e86fa",
                "name": "Friederike Sternberg"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669532",
            "title": "An editor that edits",
            "description": "While GitHub Copilot often correctly predicts what developers want to write and hallucinates at times, normal IDE support requires a lot of user interaction. The Cognitive Editor is in a middle ground: it is not merely a tool for changing code, but also actively makes small changes. By performing low-level coding tasks automatically, it provides a smoother UX than normal IDE support, without trying to predict so much that it requires careful review.\r\n\r\nThe Cognitive Editor is an IntelliJ IDEA plug-in that supports Java and Kotlin. As well as generating code, it is able to reduce redundancy in the code displayed, allowing developers to focus on higher-level aspects of their task.\r\n\r\nThe plugin is available in beta. The talk will include live coding with the editor.",
            "startsAt": "2024-09-19T12:00:00",
            "endsAt": "2024-09-19T12:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "e366b0ff-20b0-412c-ae70-a81e789db4aa",
                "name": "Sebastian Lohmeier"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "667196",
            "title": "Scrum auf Diät - Optimierung agiler Entwicklungsprozesses durch die Anwendung von Lean-Prinzipien",
            "description": "Agile und Lean-Ansätze haben viele Gemeinsamkeiten. Scrum ist im Softwareentwicklungskontext der wohl am häufigsten eingesetzte und beliebteste agile Ansatz - allerdings widerspricht das Scrum-Framework in vieler Hinsicht dem Lean-Gedanken. Scrum weist sowohl hinsichtlich der durch den Scrum Guide gelegten theoretischen Grundlage als auch hinsichtlich der gelebten Praxis Praktiken auf, die den Entwicklungsprozess und die Wertschöpfung mehr stören als unterstützen. Paradigmen und gängige Praktiken wie Timeboxing, kleine Teams und Estimation stellen nur scheinbare Lösungen für die Bewältigung komplexer Problemstellungen in der Softwareentwicklung dar, verschieben aber tatsächlich nur die Herausforderungen auf eine andere Ebene. Ich möchte in diesem Talk die Widersprüche darlegen und Lösungsmöglichkeiten aufzeigen. Dabei möchte ich dazu ermutigen, über Scrum hinauszudenken und so noch effizientere und besser vorhersagbare Prozesse zu realisieren. ",
            "startsAt": "2024-09-19T13:40:00",
            "endsAt": "2024-09-19T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "0dc6847d-eb71-49b5-b4d5-5c8049efb6c0",
                "name": "Susanne Pfeiffer"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "667632",
            "title": "Plötzlich im Rampenlicht - Moderation für Architekten und Entwickler",
            "description": "Hand auf’s Herz, wie wohl fühlst du dich, wenn du Workshops moderierst? Natürlich gibt es fertige Moderationsformate für alle möglichen Aspekte der Modellierung und der Softwarearchitektur. Aber im Workshop hat man es auch mit einer Gruppe Individuen zu tun, die teils unberechenbar eigene Meinungen oder Ideen einbringen oder durchsetzen wollen. Das kann beängstigend wirken oder gar so weit gehen, dass man sich nicht traut den inhaltlich sinnvollen Workshop zu veranstalten.\r\n\r\nMir ging es zu Beginn meiner Karriere ähnlich. Dann habe ich ein paar Jahre als Agiler Coach gearbeitet und musste moderieren, ich musste mich mit den Mechanismen und Spannungskurven von Workshops auseinander setzen und konnte reichlich üben. Heute profitiere ich in meiner Arbeit als Softwarearchitekt stark von diesen Erfahrungen und daran möchte ich dich teilhaben lassen.\r\n\r\nIn diesem Vortrag werde ich mein Moderationstoolset und meine Moderationsphilosophie mit dir teilen. Ich werde von meinen Erfahrungen berichten - gute wie schlechte. Wir werden uns mit der Rolle und der Verantwortung des Moderators beschäftigen, werden Moderationsmythen auf den Zahn fühlen und wir werden gemeinsam einen kleinen Ausflug in die Systemtheorie machen, um besser zu verstehen mit welchen Mitteln man eine Gruppe zu konstruktiver Arbeit anleiten kann ohne dabei die Individuen mit ihren persönlichen Ansichten zu übergehen.",
            "startsAt": "2024-09-19T15:00:00",
            "endsAt": "2024-09-19T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "091e80f2-706f-4da2-826a-fdd63c1b71dc",
                "name": "Martin Günther"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669521",
            "title": "A Journey of Contribution and Collaboration in Open Source",
            "description": "Have you ever worked on a project that didn't use any open source tools, libraries, or products? Didn't think so...Using open source has been such an integral part of our daily work life that we don't even think about it. We just expect it to be available, secure, stable, and bug-free. But how many of you are actually contributing back to an open source project? \r\n\r\nThis session will go through a couple of the aspects to consider when you are embarking on your open source journey. We will look at different kinds of open source projects, and what the open source foundations bring to the table.",
            "startsAt": "2024-09-19T16:20:00",
            "endsAt": "2024-09-19T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27",
                "name": "Ivar Grimstad"
              }
            ],
            "categories": [],
            "roomId": 46815,
            "room": "Edison (2.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          }
        ],
        "hasOnlyPlenumSessions": false
      },
      {
        "id": 49990,
        "name": "Voltaire (3.OG)",
        "sessions": [
          {
            "id": "668732",
            "title": "A Deep Dive into Vector Databases for AI: From Concept to Production",
            "description": "Vector databases have become indispensable for AI innovation, bridging complex data management and advanced AI functionalities. This talk explores why vector databases are pivotal for AI, focusing on their ability to harness the \"language\" of AI—vectors.\r\n\r\nAttendees will learn about vector databases' key architectural components, like vector indexes, and features such as vector and hybrid searches that enable advanced techniques like retrieval augmented generation. Through real-world examples and use cases, attendees will see these databases in action, from conceptualization to scaling AI applications in production environments.\r\n\r\nThe talk will also cover critical selection criteria for AI-native databases for production, considering aspects like scalability, compliance, fault tolerance, and efficient resource management. This session promises actionable insights, equipping developers, data scientists, and technologists with the knowledge to effectively leverage vector databases from the ground up.\r\n\r\nDiscover how vector databases can elevate your AI projects from initial development to robust, scalable production systems.",
            "startsAt": "2024-09-19T09:00:00",
            "endsAt": "2024-09-19T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "8b3ef85f-d4e9-4cf6-aac4-ee99a0a8062b",
                "name": "JP Hwang"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "658734",
            "title": "Jenseits vom Technologie-Hype: Wie wählen wir den richtigen Frontend-Architekturstil?",
            "description": "Die Wahl der passenden Frontend-Architektur ist ein kritischer Erfolgsfaktor von jeder Software-Initiative.\r\n\r\nLeider werden diese zentralen Architektur-Entscheidungen oftmals von kurzlebigen Frontend-Hypes und Trends stark beeinflusst, anstatt von fundierten Architekturüberlegungen. \r\n\r\nDieser Talk ermöglicht kritisches und fundiertes Architekturdenken und erkundet eine Bandbreite unterschiedlicher Frontend-Architekturen, von Single Page Applications (SPAs) bis hin zu Static Site Generation (SSG).\r\n\r\nWir analysieren, wie die jeweiligen Architekturstile mögliche Qualitätsanforderungen wie z.B. Performance, Benutzbarkeit und Wartbarkeit unterschiedlich erfüllen.\r\n\r\nZiel ist es, Software-Architektinnen und Software-Architekten sowie Frontend-Entwicklerinnen und Frontend-Entwickler die nötigen Techniken zu vermitteln, um über Technologie-Hypes hinauszudenken und passende Entscheidungen für zukünftige Softwarevorhaben zu treffen.",
            "startsAt": "2024-09-19T10:20:00",
            "endsAt": "2024-09-19T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "4c1405e6-d193-49ff-b592-045adbf7f6fb",
                "name": "Patrick Roos"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "665038",
            "title": "It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications",
            "description": "According to Russell Ackoff “A system is not the sum of the behaviors of its parts, but the product of their interactions”. That’s why the design of those interactions is of the uttermost importance. In a Spring application, the primary means to establish relationships between application components is dependency injection (DI). With higher-level structuring approaches like Spring Modulith’s application modules in place, should the interaction of those be implemented by DI as well?\r\n\r\nThe talk presents different approaches to designing application module interactions and compares them regarding their applicability, effect on testability, consistency, error scenarios and how they affect the modularity of the system overall.",
            "startsAt": "2024-09-19T11:40:00",
            "endsAt": "2024-09-19T12:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "6c4698c8-1a2f-436b-a5f4-3770e0bd3e20",
                "name": "Oliver Drotbohm"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "668850",
            "title": "Angewendete Domain Driven Transformation",
            "description": "Bei idealo ist eine der Kernkomponenten unseres Business ein Monolith im 25. Jahr seiner Existenz. Er leidet unter den üblichen legacy Symptomen: Änderungen brauchen lange, die Codebasis ist schwer zu warten, es gibt viele Stakeholder & Features, auf dem Produktteam liegt ein hoher Druck. Technische Innovationen lassen sich nur schwer im Backlog priorisieren. \r\n\r\nIm Jahr 2023 sollten die Aufgaben und Features des Monolithen zwischen dem bestehenden und einem neu gegründeten, zweiten Team aufgeteilt werden. Dieser Impuls der teamorganisatorischen Transformation wurde genutzt, um die Fachdomänen wiederzuentdecken (strategische Transformation). Auf der BEDCon 2023 lauschte der Vortragende gespannt einem Beitrag von Henning Schwentner zur Domain Driven Transformation und stelle fest: Das ist doch genau, was wir machen und brauchen. \r\n\r\nUm die Transformation weiterzuführen und zu gestalten, braucht es (durchsetzungs)starke und engagierte Entwickler und Führungskräfte, die den Prozess unterstützen und gleichzeitig neue Produktfeatures wünschen.  \r\n\r\nDieser Talk soll unsere Reise (bisher) beschreiben, konkrete Maßnahmen für alle drei Anteile der Transformation aufzeigen und Anderen Mut machen: Es ist möglich und es lohnt sich! ",
            "startsAt": "2024-09-19T13:40:00",
            "endsAt": "2024-09-19T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "a746610d-513a-4216-8ce9-4bb5cda50ef4",
                "name": "Daniel Hübner"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669561",
            "title": "Community-driven Learning – Making Knowledge Flow and Stick at the Same Time",
            "description": "\"The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.“ - Alvin Toffler\r\n\r\n\r\nIn any big organisation, maybe even small ones – how do you circulate new, highly-relevant knowledge quickly and effectively enough? Especially in a remote setting? \r\n\r\nLike many other companies, we got disrupted during the COVID crisis and had to go full-remote suddenly and were unprepared. Among other problems, obviously communication and learning were somehow not happening that much when people worked from home. We started getting complaints about it. So, we thought – we just had to help people with how to do online trainings in such a way that they weren’t a complete waste of everyone’s time. It turned out, there was more under the surface, particularly we decided to focus on these questions: \r\n\r\n1. How do you best upskill and support trainers?\r\n2. How to identify and grow future trainers, so the load is shared?\r\n3. How to know who needs which training at what time?\r\n\r\nThese questions weren’t directly linked to remote work issues, they existed before, the disruption simply brought them to the surface and opened an opportunity for us to finally deal with them.\r\n\r\nOur solution to this was to ditch trying to answer them “authoritatively”, from some sort of a central top instance, but to leverage the wisdom of the community – in multiple ways. We created a marketplace-like community of trainers, supporters and learners who were able to regularly create learning experiences together, thus learning from each other and with each other. And we discovered quite a lot of benefits and opportunities as well as misconceptions and pitfalls only after we started it. So, we want to share with you our journey from kickstart to scale, what we failed at,learned from and changed, and what you can do to start something like this in your own org.\r\n",
            "startsAt": "2024-09-19T15:00:00",
            "endsAt": "2024-09-19T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "60e50b4a-dd08-4150-a28a-277ff81c03cc",
                "name": "Tsvetelina Plummer"
              },
              {
                "id": "53ac44f1-a23f-4469-b6cb-12ffee012a8f",
                "name": "Victor Sauermann"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "668414",
            "title": "Domain-Driven Design: Ein vollständiges Beispiel",
            "description": "Was bedeutet es eigentlich, Domain-driven Design (DDD) umzusetzen? Dieser Vortrag führt durch ein vollständiges Beispiel und zeigt , wie die verschiedenen Techniken wie Event Storming, strategisches Design und taktisches Design zusammen wirken, um den Aufbau von Anwendungen zu unterstützen. Auf diese Weise bekommen die Teilnehmer praktische Hinweise, wie sie mit einem einfachen, aber vollständigen Ansatz mit DDD beginnen können.",
            "startsAt": "2024-09-19T16:20:00",
            "endsAt": "2024-09-19T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "4750ed21-fcda-4dc5-9fe5-1a6fca25cd8c",
                "name": "Eberhard Wolff"
              }
            ],
            "categories": [],
            "roomId": 49990,
            "room": "Voltaire (3.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          }
        ],
        "hasOnlyPlenumSessions": false
      }
    ],
    "timeSlots": [
      {
        "slotStart": "08:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "bbce33af-81f4-43e7-8db0-26ea69cf4f6f",
              "title": "Einlass",
              "description": null,
              "startsAt": "2024-09-19T08:00:00",
              "endsAt": "2024-09-19T09:00:00",
              "isServiceSession": true,
              "isPlenumSession": true,
              "speakers": [],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": null,
              "isInformed": false,
              "isConfirmed": false
            },
            "index": 0
          }
        ]
      },
      {
        "slotStart": "09:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "668415",
              "title": "Die Evolution von Architektur durch Team Topologies",
              "description": "Eigentlich definiert Architektur \"nur\" die Struktur der Software. Aber das Gesetz von Conway weißt schon auf den Zusammenhang zwischen Architektur und Organisation hin.  Durch das Inverse Conway Maneuvre ist klar geworden, dass die geschickte Aufstellung der Organisation die Architektur maßgeblich beeinflussen kann. Dieser Vortrag zeigt auf, dass Team Topologie auch erhebliche Konsequenzen für die Architektur-Arbeit hat: Team Topologies fungiert nicht nur als Werkzeug für Architektur, sondern muss auch in die architektonische Planung einbezogen werden.",
              "startsAt": "2024-09-19T09:00:00",
              "endsAt": "2024-09-19T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "4750ed21-fcda-4dc5-9fe5-1a6fca25cd8c",
                  "name": "Eberhard Wolff"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "667308",
              "title": "LASR. Ein leichtgewichtiger Ansatz für Euer Software-Review",
              "description": "Mit Architekturbewertungen ist es möglich, Schwächen und Potenziale von Softwarelösungen herauszuarbeiten, Entscheidungen abzusichern und Verbesserungsmaßnahmen zu bewerten. Klassische Analyseansätze aus diesem Umfeld wie ATAM sind fundiert, kommen aber gerade in beweglichen Softwarevorhaben etwas schwergewichtig, mitunter fast zeremoniell daher. \r\nIn diesem Vortrag gebe ich einen lebendigen Einstieg in die Welt der Architekturbewertung. Vor allem lernt Ihr mit LASR (Lightweight Approach for Software Reviews) eine leichtgewichtige Herangehensweise kennen. Ihr könnt diese mit Eurem Team unmittelbar anwenden, Euer Softwaresystem beleuchten und zügig zu ersten Erkenntnissen kommen. Wir greifen auf die Essenzen etablierter Bewertungsmethoden zurück. Und erarbeiten uns einen roten Faden durch ein Review, inkl. möglicher Vertiefungspunkte für eine höhere Konfidenz im Bewertungsergebnis.",
              "startsAt": "2024-09-19T09:00:00",
              "endsAt": "2024-09-19T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "12e31a30-45cd-492d-8496-cbceb36fcee4",
                  "name": "Stefan Zörner"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "668025",
              "title": "KI-basiertes Software-Testing, ein Gamechanger?",
              "description": "In der Welt der Softwareentwicklung, wo Zeit ebenso wertvoll ist wie der Code selbst, steht uns eine Revolution bevor. Stell dir eine Zukunft vor, in der das Schreiben und Überprüfen von Testfällen nicht länger zeitraubende Aufgaben sind, sondern nahtlos und effizient ablaufen. Dank fortschrittlicher KI-Technologien ist es möglich, den Prozess des Refactorings automatisch zu gestalten, was nicht nur die Qualität des Codes verbessert, sondern auch dessen Wartbarkeit langfristig sichert. Die automatisierte Testfallerstellung, ein weiterer Meilenstein, transformiert die Art und Weise, wie wir bisher manuell Tests konzipiert haben, indem sie uns erlaubt, präzise und relevante Testfälle mit einem Bruchteil des Aufwands zu generieren. Doch das ist noch nicht alles. Die IDEs werden zunehmend intelligenter und bieten Entwicklern Unterstützung bei der Testfallerstellung, sodass selbst die komplexesten Szenarien mit Leichtigkeit getestet werden können. Diese Werkzeuge und Methoden sind nicht nur faszinierend, sondern auch Gamechanger, die das Potential haben, unsere tägliche Arbeit grundlegend zu verändern. Sie versprechen nicht nur eine Steigerung der Effizienz und Qualität unserer Software, sondern auch eine signifikante Zeitersparnis im Entwicklungsalltag.",
              "startsAt": "2024-09-19T09:00:00",
              "endsAt": "2024-09-19T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "904dfc93-d456-4778-a5be-e87b5b1ceeda",
                  "name": "Sascha Doemer"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "668732",
              "title": "A Deep Dive into Vector Databases for AI: From Concept to Production",
              "description": "Vector databases have become indispensable for AI innovation, bridging complex data management and advanced AI functionalities. This talk explores why vector databases are pivotal for AI, focusing on their ability to harness the \"language\" of AI—vectors.\r\n\r\nAttendees will learn about vector databases' key architectural components, like vector indexes, and features such as vector and hybrid searches that enable advanced techniques like retrieval augmented generation. Through real-world examples and use cases, attendees will see these databases in action, from conceptualization to scaling AI applications in production environments.\r\n\r\nThe talk will also cover critical selection criteria for AI-native databases for production, considering aspects like scalability, compliance, fault tolerance, and efficient resource management. This session promises actionable insights, equipping developers, data scientists, and technologists with the knowledge to effectively leverage vector databases from the ground up.\r\n\r\nDiscover how vector databases can elevate your AI projects from initial development to robust, scalable production systems.",
              "startsAt": "2024-09-19T09:00:00",
              "endsAt": "2024-09-19T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "8b3ef85f-d4e9-4cf6-aac4-ee99a0a8062b",
                  "name": "JP Hwang"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "10:20:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "658920",
              "title": "Die Zukunft des Codings? Jetbrains AI Assistant und GitHub Copilot im Schlagabtausch",
              "description": "KI-Coding-Assistenten halten immer mehr Einzug in die moderne Software-Entwicklung. In diesem Vortrag lassen wir zwei populäre Vertreter in einem virtuellen Schlagabtausch gegeneinander antreten: Der Platzhirsch GitHub Copilot sowie Jetbrains AI Assistant, der seit einigen Monaten in den bekannten IDEs IntelliJ, Webstorm, ReSharper etc. integriert ist. Dabei zeichnet sich ein spannender Wettbewerb ab.\r\n\r\nWir untersuchen dabei insbesondere: Wer hat bei der Unterstützung welcher Anwendungsfälle die Nase vorn? Welche Kriterien können und sollten bei der Entscheidung für eines der beiden Tools eine Rolle spielen? Welche Features sind exklusiv nur in einem der beiden Werkzeuge verfügbar?\r\n\r\nAm Ende ergibt sich ein klarer Überblick über die derzeitigen Fähigkeiten sowie der Stärken und Schwächen beider KI Coding Assistenten und nebenbei ein Gespür dafür, wie diese Assistenten von Softwareentwicklerinnen und Softwareentwicklern beim täglichen Arbeiten eingesetzt werden können. Außerdem stellen wir erste Ergebnisse vor, wie gut die Tools beim Entwickeln nach Domain Driven Design unterstützen.",
              "startsAt": "2024-09-19T10:20:00",
              "endsAt": "2024-09-19T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "06f3a858-e54b-44e4-b572-f0d006ab963f",
                  "name": "Bastian Weinlich"
                },
                {
                  "id": "98eb0068-b158-4e9c-88f1-d73a57a18f6c",
                  "name": "Semjon Mössinger"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "681465",
              "title": "GraalVM in Action: Exploring Monitoring Metrics in a Native Environment",
              "description": "In this interactive session, we take a close look at GraalVM and its impressive achievements. Example applications have been benefiting from the outstanding startup times in the native environment for some time now. With the latest versions, the build time has also been significantly shortened. The question now arises: What about monitoring? Without the conventional JVM, can we still collect meaningful metrics? And what tools are available to us?\r\n\r\nI will deploy a traditional Spring application on native terrain as an example. Additionally, a Quarkus service will be set up. These two services will interact with each other and with databases, providing a comprehensive demonstration of a microservices architecture in a native environment running on Azure Container Apps. Using open-source tools and Azure Monitoring, we will monitor the application and try to tackle this challenge without conventional JVM metrics. Let’s find out together which metrics we can extract and whether they are sufficient to get a comprehensive picture.",
              "startsAt": "2024-09-19T10:20:00",
              "endsAt": "2024-09-19T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "351e1307-f988-40f3-934f-e875bde1b95d",
                  "name": "Sandra Ahlgrimm"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "669129",
              "title": "SAML vs. OAuth vs. OpenID Connect - Was passt am Besten?",
              "description": "Wir haben 3 Lösungen - die Protokolle SAML, OAuth und OpenID Connect. Doch welche Problemen lösen sie überhaupt? Wann verwende ich welches Protokoll? Wer hat wo welche Vor- oder auch Nachteile?\r\n\r\nIn diesem Vortrag geben ich einen Überblick über die 3 bekanntesten Security-Protokolle, die alle irgendwas mit Authentifizierung und Autorisierung zu tun haben, aber dennoch unterschiedlich zueinander sind. Ich gehe auf deren Features ein, vergleiche sie und gebe ein paar Tipps, wann und warum man welches Protokoll wählen sollte.",
              "startsAt": "2024-09-19T10:20:00",
              "endsAt": "2024-09-19T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "ef54265f-c9ff-45d2-a495-20baff896eff",
                  "name": "Niko Köbler"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "658734",
              "title": "Jenseits vom Technologie-Hype: Wie wählen wir den richtigen Frontend-Architekturstil?",
              "description": "Die Wahl der passenden Frontend-Architektur ist ein kritischer Erfolgsfaktor von jeder Software-Initiative.\r\n\r\nLeider werden diese zentralen Architektur-Entscheidungen oftmals von kurzlebigen Frontend-Hypes und Trends stark beeinflusst, anstatt von fundierten Architekturüberlegungen. \r\n\r\nDieser Talk ermöglicht kritisches und fundiertes Architekturdenken und erkundet eine Bandbreite unterschiedlicher Frontend-Architekturen, von Single Page Applications (SPAs) bis hin zu Static Site Generation (SSG).\r\n\r\nWir analysieren, wie die jeweiligen Architekturstile mögliche Qualitätsanforderungen wie z.B. Performance, Benutzbarkeit und Wartbarkeit unterschiedlich erfüllen.\r\n\r\nZiel ist es, Software-Architektinnen und Software-Architekten sowie Frontend-Entwicklerinnen und Frontend-Entwickler die nötigen Techniken zu vermitteln, um über Technologie-Hypes hinauszudenken und passende Entscheidungen für zukünftige Softwarevorhaben zu treffen.",
              "startsAt": "2024-09-19T10:20:00",
              "endsAt": "2024-09-19T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "4c1405e6-d193-49ff-b592-045adbf7f6fb",
                  "name": "Patrick Roos"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "11:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "669813",
              "title": "Supply Chain Security - Ein Leitfaden",
              "description": "Nach Solarwinds, Equifax und XZ sollte es endlich in euren Köpfen angekommen sein:\u2028Supply Chain Security ist ein Thema, das uns alle angeht.\r\nFür den Rest gibt es dann noch den EU Cyber Resilience Act.\r\nAber wie soll man da rangehen? \r\nWas kann man in seinen eigenen Projekten tun, um die Sicherheit aller zu erhöhen und gleichzeitig die Anforderungen der EU zu erfüllen?\r\nMein Plan ist es, euch anhand eines Praxisbeispiels einen vergleichsweise einfachen Workflow näher zu bringen, mit dem ihr:\r\n- Eure Commits absichert\r\n- Ein Artefakt signiert und veröffentlicht\r\n- Einen Container signiert und veröffentlicht\r\n- Ein Binary signiert und veröffentlicht\r\n- Ein SBOM für euere Projekt erzeugt und bereitstellt\r\n\r\nDie dabei verwendeten Technologien:\r\n- Sigstore\r\n- CycloneDX SBOM\r\n- Yubikey\r\n- GitActions\r\n\r\nDas Demo-Projekt wird in Java implementiert. \r\nDie gezeigten Vorgehensweisen lassen sich leicht auf andere Ökosystemen adaptieren, da viele der eingesetzten Tools sprachunabhängig sind.\r\n",
              "startsAt": "2024-09-19T11:40:00",
              "endsAt": "2024-09-19T12:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "be3147d6-8f3d-4528-885d-4814898fe230",
                  "name": "Jochen Mader"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "751119",
              "title": "Java for Small Coding Tasks",
              "description": "For small projects, we often reach for a scripting language, such as Python or Bash, because Java seems too heavy handed. In this interactive presentation, I want to convince you to give Java a try for those tasks. With the right tooling (and some innovative features in Java 21 and 22), Java can be a great choice for scripts, Jupyter notebooks, and even code in the browser. The benefit: compile-time typing, great IDEs, and a growth path when those small projects don't stay small.\r\n\r\nIntended audience:\r\nExperienced Java programmers who also need to do scripting/exploratory programming.",
              "startsAt": "2024-09-19T11:40:00",
              "endsAt": "2024-09-19T12:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "bbb8702d-0637-4c8e-ae97-45bde0d6b3a8",
                  "name": "Cay Horstmann"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "658601",
              "title": "Sprache schafft Wirklichkeit.",
              "description": "Thema: Arbeitskultur  \r\n\r\nKriegsmetaphern finden oft Eingang in die Sprache der Unternehmenskultur, sei es in Besprechungen, Präsentationen oder internen Mitteilungen. Begriffe wie \"Schlachtplan\", \"verteidigen\", \"kämpfen\" oder \"Siegesstrategie\" werden verwendet, um den Wettbewerb zu beschreiben. Diese Metaphern können die Einstellung der Mitarbeiter gegenüber ihrer Arbeit und ihrem Team beeinflussen, indem sie eine Atmosphäre von Konkurrenz und Kampf schaffen. \r\nDie Unternehmenskultur oder auch die Stimmung im Team werden automatisch aggressiver und feindseliger gegenüber anderen Teams. Dies schafft oder verstärkt Konflikte, prägt Silo-Denken und versetzt die Mitarbeiter in einen permanenten \"Kampfmodus\".\r\nDas muss nicht sein und es lohnt sich ein Bewusstsein für die eingesetzten Metaphern zu schaffen, denn Sprache schafft Wirklichkeit.",
              "startsAt": "2024-09-19T11:40:00",
              "endsAt": "2024-09-19T12:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "95f44739-a886-49d2-bad4-00ed808e86fa",
                  "name": "Friederike Sternberg"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "665038",
              "title": "It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications",
              "description": "According to Russell Ackoff “A system is not the sum of the behaviors of its parts, but the product of their interactions”. That’s why the design of those interactions is of the uttermost importance. In a Spring application, the primary means to establish relationships between application components is dependency injection (DI). With higher-level structuring approaches like Spring Modulith’s application modules in place, should the interaction of those be implemented by DI as well?\r\n\r\nThe talk presents different approaches to designing application module interactions and compares them regarding their applicability, effect on testability, consistency, error scenarios and how they affect the modularity of the system overall.",
              "startsAt": "2024-09-19T11:40:00",
              "endsAt": "2024-09-19T12:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "6c4698c8-1a2f-436b-a5f4-3770e0bd3e20",
                  "name": "Oliver Drotbohm"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "12:00:00",
        "rooms": [
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "669532",
              "title": "An editor that edits",
              "description": "While GitHub Copilot often correctly predicts what developers want to write and hallucinates at times, normal IDE support requires a lot of user interaction. The Cognitive Editor is in a middle ground: it is not merely a tool for changing code, but also actively makes small changes. By performing low-level coding tasks automatically, it provides a smoother UX than normal IDE support, without trying to predict so much that it requires careful review.\r\n\r\nThe Cognitive Editor is an IntelliJ IDEA plug-in that supports Java and Kotlin. As well as generating code, it is able to reduce redundancy in the code displayed, allowing developers to focus on higher-level aspects of their task.\r\n\r\nThe plugin is available in beta. The talk will include live coding with the editor.",
              "startsAt": "2024-09-19T12:00:00",
              "endsAt": "2024-09-19T12:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "e366b0ff-20b0-412c-ae70-a81e789db4aa",
                  "name": "Sebastian Lohmeier"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          }
        ]
      },
      {
        "slotStart": "12:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "98186408-5477-4bc0-93fa-443135182724",
              "title": "Mittag",
              "description": null,
              "startsAt": "2024-09-19T12:40:00",
              "endsAt": "2024-09-19T13:40:00",
              "isServiceSession": true,
              "isPlenumSession": true,
              "speakers": [],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": null,
              "isInformed": false,
              "isConfirmed": false
            },
            "index": 0
          }
        ]
      },
      {
        "slotStart": "13:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "668305",
              "title": "From Legacy to Cloud—Mistakes You Don’t Want to Make Your Own",
              "description": "Come and hear the story of a company that is on the journey from the old monolithic, on-premise, waterfall world to the new modular, agile, domain-driven, multi-tenant, cloud-based microservices world. The challenges come from different directions: both technical and organizational aspects have to mastered. The domain has to be understood, so that the system can be structured right. The big bang has to be avoided.\r\n\r\nIn this talk we will look at how our “fictional” company has struggled with and finally overcome those challenges.",
              "startsAt": "2024-09-19T13:40:00",
              "endsAt": "2024-09-19T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "de44a1c1-8728-4063-b3d0-c0b3e7e87c4f",
                  "name": "Henning Schwentner"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "645214",
              "title": "Frontend-Entwicklung: Single-Page-Anwendung oder HTMX?",
              "description": "Single-Page-Anwendungen (SPA) sind einerseits weit verbreitet, andererseits aber auch umstritten. Sie bieten ein hohes Maß an Interaktivität und Komfort für Benutzer:innen, aber nicht für jede Anforderung ist eine SPA deswegen automatisch die richtige Wahl. Auf der anderen Seite wiederum sind \"klassische\" auf dem Server gerenderte Anwendungen oftmals nicht ausreichend, wenn es um Webanwendungen mit viel Interaktivität geht. Diese Lücke möchte die Bibliothek HTMX schließen, die serverseitiges Rendering mit einem beliebigen Backend ermöglicht. Im Frontend verspricht sie sowohl eine nahezu JavaScript-freie Entwicklung als auch feingranulare Aktualisierungen der Oberfläche, ähnlich wie von SPAs gewohnt. Ist HTMX also die perfekte Allzweck-Lösung fürs Frontend?\r\n\r\nAnhand praktischer Beispiele möchte ich in diesem Vortrag Single-Page-Anwendungen und HTMX gegenüberstellen. So werden wir sehen, wo die Stärken und Schwächen der beiden Ansätze liegen und für welche Anwendungen sie jeweils geeignet sind. \r\n\r\nNeben Beispielen mit Java und Spring werde ich ein paar React Beispiele zeigen, die Du aber auch ohne React Vorkenntnisse verstehen wirst. Wenn Du dich also für moderne Webentwicklung interessierst, bist Du in diesem Vortrag genau richtig!",
              "startsAt": "2024-09-19T13:40:00",
              "endsAt": "2024-09-19T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "b90317c9-5fd7-4f10-b20a-30e216b29fd1",
                  "name": "Nils Hartmann"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "667196",
              "title": "Scrum auf Diät - Optimierung agiler Entwicklungsprozesses durch die Anwendung von Lean-Prinzipien",
              "description": "Agile und Lean-Ansätze haben viele Gemeinsamkeiten. Scrum ist im Softwareentwicklungskontext der wohl am häufigsten eingesetzte und beliebteste agile Ansatz - allerdings widerspricht das Scrum-Framework in vieler Hinsicht dem Lean-Gedanken. Scrum weist sowohl hinsichtlich der durch den Scrum Guide gelegten theoretischen Grundlage als auch hinsichtlich der gelebten Praxis Praktiken auf, die den Entwicklungsprozess und die Wertschöpfung mehr stören als unterstützen. Paradigmen und gängige Praktiken wie Timeboxing, kleine Teams und Estimation stellen nur scheinbare Lösungen für die Bewältigung komplexer Problemstellungen in der Softwareentwicklung dar, verschieben aber tatsächlich nur die Herausforderungen auf eine andere Ebene. Ich möchte in diesem Talk die Widersprüche darlegen und Lösungsmöglichkeiten aufzeigen. Dabei möchte ich dazu ermutigen, über Scrum hinauszudenken und so noch effizientere und besser vorhersagbare Prozesse zu realisieren. ",
              "startsAt": "2024-09-19T13:40:00",
              "endsAt": "2024-09-19T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "0dc6847d-eb71-49b5-b4d5-5c8049efb6c0",
                  "name": "Susanne Pfeiffer"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "668850",
              "title": "Angewendete Domain Driven Transformation",
              "description": "Bei idealo ist eine der Kernkomponenten unseres Business ein Monolith im 25. Jahr seiner Existenz. Er leidet unter den üblichen legacy Symptomen: Änderungen brauchen lange, die Codebasis ist schwer zu warten, es gibt viele Stakeholder & Features, auf dem Produktteam liegt ein hoher Druck. Technische Innovationen lassen sich nur schwer im Backlog priorisieren. \r\n\r\nIm Jahr 2023 sollten die Aufgaben und Features des Monolithen zwischen dem bestehenden und einem neu gegründeten, zweiten Team aufgeteilt werden. Dieser Impuls der teamorganisatorischen Transformation wurde genutzt, um die Fachdomänen wiederzuentdecken (strategische Transformation). Auf der BEDCon 2023 lauschte der Vortragende gespannt einem Beitrag von Henning Schwentner zur Domain Driven Transformation und stelle fest: Das ist doch genau, was wir machen und brauchen. \r\n\r\nUm die Transformation weiterzuführen und zu gestalten, braucht es (durchsetzungs)starke und engagierte Entwickler und Führungskräfte, die den Prozess unterstützen und gleichzeitig neue Produktfeatures wünschen.  \r\n\r\nDieser Talk soll unsere Reise (bisher) beschreiben, konkrete Maßnahmen für alle drei Anteile der Transformation aufzeigen und Anderen Mut machen: Es ist möglich und es lohnt sich! ",
              "startsAt": "2024-09-19T13:40:00",
              "endsAt": "2024-09-19T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "a746610d-513a-4216-8ce9-4bb5cda50ef4",
                  "name": "Daniel Hübner"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "15:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "665035",
              "title": "Bottom-up Architecture – Bridging the Architecture Code Gap",
              "description": "Hard to change code bases often suffer from two primary problems: a lack of alignment with domain boundaries and failure to effectively express architectural ideas in code. To address that critical issue, developers have turned to Separation of Concerns Architectures, such as Onion-, Clean and Hexagonal Architecture. However, these approaches typically yield mixed results, as they primarily focus on separating technical and business code, without addressing the structural aspects of the domain.\r\n\r\nThis presentation aims to delve into strategies for transferring architectural ideas and design pattern languages into code at various levels of abstraction. We will explore how different frameworks and libraries in the Java ecosystem can aid in this process, leveraging the presence of meta-information within the code to support critical aspects such as structural verification, testability, and documentation. By employing these approaches and tools, developers can write more maintainable code that is less susceptible to degradation over time.",
              "startsAt": "2024-09-19T15:00:00",
              "endsAt": "2024-09-19T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "6c4698c8-1a2f-436b-a5f4-3770e0bd3e20",
                  "name": "Oliver Drotbohm"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "662472",
              "title": "Softwarearchitektur im Mob",
              "description": "Die Arbeit von Softwarearchitekten findet in klassisch aufgestellten Teams oft abseits der Entwicklungsarbeit statt - sowohl räumlich als auch zeitlich getrennt. Dass das auch anders geht, zeigt Joshua in seinem Vortrag. Er arbeiten seit mehr als 3 Jahren in einem Remote Mob, in dem das ganze Team bei Bedarf die Rolle des Architekten einnimmt. So wird die Arbeit an Domänen- und Lösungsarchitektur genauso vom ganzen Team gemeinsam durchgeführt, wie die Entwicklung und der Betrieb der Lösungen. In diesem Vortrag erfahrt ihr, wie ein Mob funktioniert und welche Veränderungen die synchrone Zusammenarbeit bei Architektur-Methoden mit sich bringt.",
              "startsAt": "2024-09-19T15:00:00",
              "endsAt": "2024-09-19T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "0b781984-d264-4e50-b123-b76d0b3a0349",
                  "name": "Joshua Töpfer"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "667632",
              "title": "Plötzlich im Rampenlicht - Moderation für Architekten und Entwickler",
              "description": "Hand auf’s Herz, wie wohl fühlst du dich, wenn du Workshops moderierst? Natürlich gibt es fertige Moderationsformate für alle möglichen Aspekte der Modellierung und der Softwarearchitektur. Aber im Workshop hat man es auch mit einer Gruppe Individuen zu tun, die teils unberechenbar eigene Meinungen oder Ideen einbringen oder durchsetzen wollen. Das kann beängstigend wirken oder gar so weit gehen, dass man sich nicht traut den inhaltlich sinnvollen Workshop zu veranstalten.\r\n\r\nMir ging es zu Beginn meiner Karriere ähnlich. Dann habe ich ein paar Jahre als Agiler Coach gearbeitet und musste moderieren, ich musste mich mit den Mechanismen und Spannungskurven von Workshops auseinander setzen und konnte reichlich üben. Heute profitiere ich in meiner Arbeit als Softwarearchitekt stark von diesen Erfahrungen und daran möchte ich dich teilhaben lassen.\r\n\r\nIn diesem Vortrag werde ich mein Moderationstoolset und meine Moderationsphilosophie mit dir teilen. Ich werde von meinen Erfahrungen berichten - gute wie schlechte. Wir werden uns mit der Rolle und der Verantwortung des Moderators beschäftigen, werden Moderationsmythen auf den Zahn fühlen und wir werden gemeinsam einen kleinen Ausflug in die Systemtheorie machen, um besser zu verstehen mit welchen Mitteln man eine Gruppe zu konstruktiver Arbeit anleiten kann ohne dabei die Individuen mit ihren persönlichen Ansichten zu übergehen.",
              "startsAt": "2024-09-19T15:00:00",
              "endsAt": "2024-09-19T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "091e80f2-706f-4da2-826a-fdd63c1b71dc",
                  "name": "Martin Günther"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "669561",
              "title": "Community-driven Learning – Making Knowledge Flow and Stick at the Same Time",
              "description": "\"The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.“ - Alvin Toffler\r\n\r\n\r\nIn any big organisation, maybe even small ones – how do you circulate new, highly-relevant knowledge quickly and effectively enough? Especially in a remote setting? \r\n\r\nLike many other companies, we got disrupted during the COVID crisis and had to go full-remote suddenly and were unprepared. Among other problems, obviously communication and learning were somehow not happening that much when people worked from home. We started getting complaints about it. So, we thought – we just had to help people with how to do online trainings in such a way that they weren’t a complete waste of everyone’s time. It turned out, there was more under the surface, particularly we decided to focus on these questions: \r\n\r\n1. How do you best upskill and support trainers?\r\n2. How to identify and grow future trainers, so the load is shared?\r\n3. How to know who needs which training at what time?\r\n\r\nThese questions weren’t directly linked to remote work issues, they existed before, the disruption simply brought them to the surface and opened an opportunity for us to finally deal with them.\r\n\r\nOur solution to this was to ditch trying to answer them “authoritatively”, from some sort of a central top instance, but to leverage the wisdom of the community – in multiple ways. We created a marketplace-like community of trainers, supporters and learners who were able to regularly create learning experiences together, thus learning from each other and with each other. And we discovered quite a lot of benefits and opportunities as well as misconceptions and pitfalls only after we started it. So, we want to share with you our journey from kickstart to scale, what we failed at,learned from and changed, and what you can do to start something like this in your own org.\r\n",
              "startsAt": "2024-09-19T15:00:00",
              "endsAt": "2024-09-19T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "60e50b4a-dd08-4150-a28a-277ff81c03cc",
                  "name": "Tsvetelina Plummer"
                },
                {
                  "id": "53ac44f1-a23f-4469-b6cb-12ffee012a8f",
                  "name": "Victor Sauermann"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "16:20:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "661995",
              "title": "Learn Pattern Matching Through Puzzlers",
              "description": "Pattern matching in Java makes use of the instanceof and switch syntax, so that programmers can leverage their existing knowledge to easily master the new features. At least that's the theory. In this session, you will see, through a series of increasingly challenging puzzlers, how the pattern matching process works under the hood and just how complex the interactions between classic and modern features are. You will come away with a thorough understanding of the mechanisms and limitations of the pattern matching features that have been gradually added between Java 14 and 21, as well as those that are still contemplated for future versions. You will also learn best practices and style recommendations so that your code is not a puzzler for your peers.",
              "startsAt": "2024-09-19T16:20:00",
              "endsAt": "2024-09-19T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "bbb8702d-0637-4c8e-ae97-45bde0d6b3a8",
                  "name": "Cay Horstmann"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "665105",
              "title": "LLMs mit Spring AI integrieren",
              "description": "KI und vor allem Large Language Models sind das Thema 2024 und fast jeder hat schon einen Prompt geschrieben und abgeschickt. Doch wie können wir LLMs in bestehende Anwendungen integrieren, um dort von diesen zu profitieren? Genau das schauen wir uns in diesem Vortrag, Live on Stage, mit Spring Boot und Spring AI an. Neben der reinen Integration lernen wir dabei auch Ollama, RAG und Function Calling kennen.",
              "startsAt": "2024-09-19T16:20:00",
              "endsAt": "2024-09-19T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "bcb3221c-6a1c-46b0-a56c-25608382fc0d",
                  "name": "Michael Vitz"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          },
          {
            "id": 46815,
            "name": "Edison (2.OG)",
            "session": {
              "id": "669521",
              "title": "A Journey of Contribution and Collaboration in Open Source",
              "description": "Have you ever worked on a project that didn't use any open source tools, libraries, or products? Didn't think so...Using open source has been such an integral part of our daily work life that we don't even think about it. We just expect it to be available, secure, stable, and bug-free. But how many of you are actually contributing back to an open source project? \r\n\r\nThis session will go through a couple of the aspects to consider when you are embarking on your open source journey. We will look at different kinds of open source projects, and what the open source foundations bring to the table.",
              "startsAt": "2024-09-19T16:20:00",
              "endsAt": "2024-09-19T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27",
                  "name": "Ivar Grimstad"
                }
              ],
              "categories": [],
              "roomId": 46815,
              "room": "Edison (2.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 2
          },
          {
            "id": 49990,
            "name": "Voltaire (3.OG)",
            "session": {
              "id": "668414",
              "title": "Domain-Driven Design: Ein vollständiges Beispiel",
              "description": "Was bedeutet es eigentlich, Domain-driven Design (DDD) umzusetzen? Dieser Vortrag führt durch ein vollständiges Beispiel und zeigt , wie die verschiedenen Techniken wie Event Storming, strategisches Design und taktisches Design zusammen wirken, um den Aufbau von Anwendungen zu unterstützen. Auf diese Weise bekommen die Teilnehmer praktische Hinweise, wie sie mit einem einfachen, aber vollständigen Ansatz mit DDD beginnen können.",
              "startsAt": "2024-09-19T16:20:00",
              "endsAt": "2024-09-19T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "4750ed21-fcda-4dc5-9fe5-1a6fca25cd8c",
                  "name": "Eberhard Wolff"
                }
              ],
              "categories": [],
              "roomId": 49990,
              "room": "Voltaire (3.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 3
          }
        ]
      },
      {
        "slotStart": "17:35:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "414e09a5-af5f-4d2e-9194-33855fe61f8b",
              "title": "Verlosung und Panel",
              "description": null,
              "startsAt": "2024-09-19T17:35:00",
              "endsAt": "2024-09-19T18:35:00",
              "isServiceSession": true,
              "isPlenumSession": true,
              "speakers": [],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": null,
              "isInformed": false,
              "isConfirmed": false
            },
            "index": 0
          }
        ]
      }
    ]
  },
  {
    "date": "2024-09-20T00:00:00",
    "isDefault": false,
    "rooms": [
      {
        "id": 46813,
        "name": "Humboldtsaal (1.OG)",
        "sessions": [
          {
            "id": "2573c7f2-ef73-4d86-85cd-c56c950df3d5",
            "title": "Einlass",
            "description": null,
            "startsAt": "2024-09-20T08:00:00",
            "endsAt": "2024-09-20T09:00:00",
            "isServiceSession": true,
            "isPlenumSession": true,
            "speakers": [],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": null,
            "isInformed": false,
            "isConfirmed": false
          },
          {
            "id": "666905",
            "title": "Developer Joy – How great teams get s%*t done",
            "description": "Software development has become more complex over the years: Building and running a distributed architecture in the cloud, ensuring observability, discussing user experience with design and product, and keeping a healthy balance between dev speed and code quality isn’t easy. Just be agile and practice DevOps, they say.\r\n\r\nJoin Sven and learn how great software teams measure and improve their developer experience, coordinate work across teams, run autonomous but highly aligned teams, and create a healthy and joyful engineering culture. Always backed up by data (not driven) instead of opinions.\r\n\r\nThe talk will demonstrate how great teams faced development challenges, reinvented themselves, and created new ways of working to get s%*t done. Without loosing sight of what makes this craft fun for engineers.",
            "startsAt": "2024-09-20T09:00:00",
            "endsAt": "2024-09-20T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b",
                "name": "Sven Peters"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "658057",
            "title": "Evolving your APIs, a step-by-step approach",
            "description": "When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll “hit the wall”. How do you evolve your API without breaking the contract with your existing users?\r\n\r\nIn this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.\r\n",
            "startsAt": "2024-09-20T10:20:00",
            "endsAt": "2024-09-20T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "9c904945-768e-4597-b942-6be90cf4d731",
                "name": "Nicolas Fränkel"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669884",
            "title": "Tales from the dark side",
            "description": "Founding, building, managing a Start-Up Organization. Everything you never wanted to hear about how things can go wrong.\r\n\r\nOk. Start-Ups fail, Start-Ups work. You win some, you loose some. But only rarely people share  their insights on the failures, it is mostly the success cases that people want to hear about.\r\n\r\nThis talk is a hands-on session on a closer look into embarrassing fails and annoying fuck-ups along trying to build and organize tech-teams. In the ideal world, the tech universe is beautifully clear, in reality humans beings are far from being clear. How to converge these two in the little time you have at hand while the burn-rate is at your heels?\r\n\r\nPlease find an interview attached, that is about the topics listed below – but mostly in a benevolent way – of course, most podcasts turn out to be harmonic, friendly and entertaining. \r\n\r\nYou can take this as an outline table of contents for this talk. But here i will extend each of these topics, lifting off the sugar-coat, to shed light on those menacing situations that truly drive a CTO crazy and turn you into that green pile of muscles monster with orange hair that rips his t-shirt off, whilst crying from despair.\r\n\r\n- How founders must learn how success and failure work in tandem\r\n- Thoughts on the Prevention Paradox and how it influences start up culture\r\n- Thoughts on the Dunning-Kruger effect and its connection to hiring practices\r\n- How hiring for personality is essential to building strong teams\r\n- How being a well-rounded founder is important for building organizational structures\r\n- How lifelong learning makes great developers and founders\r\n\r\nAny similarities with real existing companies would be purely coincidental.\r\n",
            "startsAt": "2024-09-20T11:40:00",
            "endsAt": "2024-09-20T12:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "99fa8c1e-f493-42c2-97bd-e5df425486a2",
                "name": "Lukas Weber"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "2be15d7e-bfdc-4b77-8632-c8f496e98e2d",
            "title": "Mittag",
            "description": null,
            "startsAt": "2024-09-20T12:40:00",
            "endsAt": "2024-09-20T13:40:00",
            "isServiceSession": true,
            "isPlenumSession": true,
            "speakers": [],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": null,
            "isInformed": false,
            "isConfirmed": false
          },
          {
            "id": "650606",
            "title": "From Offense to Defense: Live Exploitation of GitHub Action Vulnerabilities",
            "description": "In this interactive session, we delve into the realm of GitHub Actions, exploring both the vulnerabilities that attackers exploit and the defensive strategies developers can employ. We'll demonstrate real-world attacks and their countermeasures, showcasing practical methods to secure your CI/CD workflows.\r\nJoin us as we uncover the intricacies of GitHub Actions, where we explore the following attacks (and how to protect against them):\r\n* Fake git commits and meta data\r\n* Take over a GitHub action to distribute malicious code\r\n* Manipulate GitHub repository settings\r\n* Backdoor a GitHub release\r\n\r\nThis will empower practitioners to learn about the latest security tools such as GitSign, Renovate, Minder, and the SLSA GitHub Generator. The offensive demonstrations will motivate how and when to use the right tool for the right job.\r\nEach attack will be contextualized via a mapping to the threat model resources available to the community today, such as the Microsoft Threat Matrix for DevOps.",
            "startsAt": "2024-09-20T13:40:00",
            "endsAt": "2024-09-20T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "aa66bd16-d91e-488f-8692-11c873c39e6a",
                "name": "Fabian Kammel"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "658426",
            "title": "Module richtig schneiden mithilfe von Domain-Driven Design",
            "description": "Bounded Contexts gehören zum strategischen Domain-Driven Design und sind derzeit in aller Munde. Viele Teams versprechen sich durch die Modularisierung mit Bounded Contexts einen guten fachlichen Schnitt für ihre Software. Es stellt sich jedoch häufig die Frage, wie wir denn überhaupt zu einem guten Bounded-Context-Schnitt kommen.\r\n\r\nGenau um diese Frage dreht sich der Vortrag. Ich werde zeigen, wie man mithilfe kollaborativer Modellierungsmethoden (z.B. Event Storming) eine Abgrenzung seiner Problemdomäne erreichen kann und wie man von dort unter Berücksichtigung verschiedener Perspektiven (Regeln, Sprache, Schnittstellen, etc.) zu einem ausgewogenen Bounded-Context-Schnitt kommt.",
            "startsAt": "2024-09-20T15:00:00",
            "endsAt": "2024-09-20T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "c41a4363-aedb-42e0-8495-86be6c23107d",
                "name": "Michael Plöd"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "660566",
            "title": "Real World Architekturdiagramme",
            "description": "An einem fiktiven, aber realistischen Beispiel werden wir verschiedene Diagramme diskutieren, um wichtige Lösungsansätze und Entscheidungen festzuhalten. Dazu zählen neben den vier Sichten (Systemkontext, Baustein-, Laufzeit- und Verteilungssicht) auch weitere Visualisierungen wie zum Beispiel ein Big Picture oder ein Qualitätsbaum. Wir besprechen sowohl, was inhaltlich in das jeweilige Diagramm gehört und welche Form und Style-Richtlinien eingehalten werden sollten. Dabei kommen frei verfügbare Werkzeuge und leichtgewichtige Methoden wie Diagrams-as-Code, Documentation-as-Code, C4, arc42, docToolchain, kroki.io, PlantUML, Structurizr, draw.io/diagrams.net zum Einsatz. Ihr könnt das Gelernte direkt auf Eure Projekte übertragen und werdet in Zukunft Eure Kollegen mit gut verständlichen und leicht zu wartenden Softwarearchitekturdiagrammen beglücken.",
            "startsAt": "2024-09-20T16:20:00",
            "endsAt": "2024-09-20T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "2fa7d3c1-e216-4dc8-b05c-f94fe34390e7",
                "name": "Falk Sippach"
              }
            ],
            "categories": [],
            "roomId": 46813,
            "room": "Humboldtsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          }
        ],
        "hasOnlyPlenumSessions": false
      },
      {
        "id": 46814,
        "name": "Kleistsaal (1.OG)",
        "sessions": [
          {
            "id": "669614",
            "title": "Synchronisation für lose Kopplung: Domänendaten in Microservices",
            "description": "Wenn alle Teile einer Microservice-Architektur vermeintlich auf denselben Daten arbeiten, könnte man doch einen zentralen Datenservice entwickeln, oder? In diesem Vortrag beleuchten wir die Herausforderungen und Lösungsansätze für die Synchronisation von Domänendaten innerhalb einer Microservice-Architektur, illustriert am Beispiel einer Flotten-Management Lösung. Die Entscheidung gegen einen zentralen Datenbestand und für die Synchronisation zwischen den Services unterstreicht unseren Fokus auf lose Kopplung und Unabhängigkeit der einzelnen Microservices. Wir diskutieren, wie diese Strategie die Entwicklungsdynamik unterstützt, gleichzeitig aber komplexe Anforderungen an die Datenkonsistenz und Echtzeit-Synchronisation stellt. Der Vortrag zielt darauf ab, Einblicke in die praktische Umsetzung zu geben und zu zeigen, wie lose Kopplung durch gezielte Synchronisationsmechanismen in der Microservice-Landschaft realisiert werden kann.",
            "startsAt": "2024-09-20T09:00:00",
            "endsAt": "2024-09-20T10:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "231ee3ca-1977-4375-9d11-a4dd39a2ac8c",
                "name": "Wolfgang Strunk"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "668074",
            "title": "Trends in modern software architecture ...and how to avoid them",
            "description": "In der modernen Softwareentwicklung haben sich im Laufe der letzten Jahre viele Patterns und Technologien etabliert, die auf den ersten Blick fortschrittlich und vorteilhaft erscheinen, aber eine entscheidende Gemeinsamkeit haben: Hohe Komplexität. Hexagonale Architektur, Reaktive Programmiermodelle und Event Sourcing sind einige Beispiele für solche Architekturmuster. Anhand von praktischen Beispielen möchte dieser Vortrag diverse Patterns, Methoden und Technologien beleuchten… und wie (und wieso) man diese am besten vermeidet.",
            "startsAt": "2024-09-20T10:20:00",
            "endsAt": "2024-09-20T11:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "f30782f4-f523-4787-a497-a1c6e06ba488",
                "name": "Sven Müller"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669805",
            "title": "Property-based testing - let your testing library work for you",
            "description": "Don't ask what you can do for your testing library, ask what it can do for you! So what can it do? It turns out that much more than displaying a nice green and red report. What if we make the library generate the test data? And while we're at it, maybe it could also think of the edge cases for which our code is wrong? Oh, and when it finds them, it should simplify them a bit before returning to us, so that we can quickly identify the root cause of the problem. And repeat that a thousand times, just to be sure. Sounds good? That's exactly what property-based testing has to offer. I'll show how to get started with this kind of testing, using jqwik (https://jqwik.net/) as an example. But isn't it all too good to be true, surely there's some fine print? Of course there is. I'll cover that as well.",
            "startsAt": "2024-09-20T11:40:00",
            "endsAt": "2024-09-20T12:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "0999a4f3-b4c4-4a32-9047-66737455fa53",
                "name": "Magda Stożek"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669869",
            "title": "Engineering Metrics: More Problems, Less Solutions",
            "description": "Engineering organizations often ramp up metrics during critical times to provide management a clearer view of team performance. While metrics and KPIs are generally beneficial for self-improvement, their use by management can unfortunately lead to unintended misbehaviors.\r\n\r\nIn this talk, I'll unpack this claim with several real-world examples. We'll also discuss better management strategies and how you, as a software engineer, can have a positive impact, even if an engineering metrics process is introduced in your company.",
            "startsAt": "2024-09-20T12:00:00",
            "endsAt": "2024-09-20T12:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "b081b3db-c60a-4353-914d-f2cb14f52b7f",
                "name": "Ronny Karallus"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "668847",
            "title": "(Semi-)Automatisch von Bundestagsitzungen zu TikTok",
            "description": "Als Gegenpol zu dem teils starken Akteuren auf z.B. TikTok im politischen Umfeld, haben wir über die letzten Monate eine Pipeline aufgebaut um die Diversität der Bundestagsredebeiträge in Auszügen auf TikTok und anderen Plattformen fast automatisch verfügbar  zu machen. Die unterschiedlichen Challenges, Fails und Successes auf der Google Cloud möchte ich in dem Vortrag vorstellen.",
            "startsAt": "2024-09-20T12:20:00",
            "endsAt": "2024-09-20T12:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "ab44e94d-f092-4f88-9e36-e2e968b08046",
                "name": "Jan Schütze"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "669705",
            "title": "Die Qual der Wahl (reloaded) - Cypress, Playwright oder WebdriverIO?",
            "description": "Nachdem lange Jahre zunächst Selenium und dann Cypress den Markt der Web-Testwerkzeuge beherrscht haben, kommen inzwischen neue Player auf das Spielfeld. Mit Playwright und WebdriverIO bekommt insbesondere Cypress eine starke Konkurrenz. Beide stellen sich nicht nur im Bereich der End2End-Tests auf, sondern besetzen auch das Feld der Komponententests. Auch in anderer Hinsicht sind sie Cypress ebenbürtig. \r\nDer Webentwickler hat erneut die Qual der Wahl. Welches Werkzeug passt am besten zur eigenen Arbeitsweise, zum Projekt und zum Softwareprodukt? Wo liegen die Stärken und Schwächen der Gegenspieler? Und lassen sich bestehende Testsuiten einfach auf ein anderes Werkzeug migrieren? Wir werfen einen vergleichenden Blick auf die drei Kontrahenten und \r\ndemonstrieren ihre Fähigkeiten in Aktion.",
            "startsAt": "2024-09-20T13:40:00",
            "endsAt": "2024-09-20T14:40:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "7eed7f95-231f-464d-b5f3-2e732b59689c",
                "name": "Dehla Sokenou"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "662467",
            "title": "Building a Design System’s Component Library",
            "description": "A component library attempts to translate the principles and designs of a design system into reusable code.\r\n\r\nTypical goals include building a library that is future-proof, low-budget in development and maintenance, while providing a large set of usable components, and achieving a great developer experience and consistency in design and UX for its users.\r\n\r\nIn this talk we will look at how we aim to achieve these goals using modern techniques such as design tokens and web components, and automating as much as possible.",
            "startsAt": "2024-09-20T15:00:00",
            "endsAt": "2024-09-20T16:00:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "7cbc0133-d008-4322-98f6-402d64e65837",
                "name": "Serafima Gurevich"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          },
          {
            "id": "648146",
            "title": "The secret sauce of highly effective teams",
            "description": "\"Culture eats strategy for breakfast\". That widely quoted statement of Peter Drucker never really spoke to me and I found it pretty bland - until the day I was asked how we were actually able to pull it off. Half a year earlier we cancelled the subscription to our 24/7 support team because they didn't have any work with our services. Now, as I was explaining to the former lead of that support team how we work, I realized that for the most part our smooth sailing could be attributed to our team culture - and it suddenly clicked. Now Drucker's sentence made sense.\r\n \r\nThe last couple of years as a software engineer I spent building SaaS products for end customers. I want to share my observations from working in highly effective software teams with you. Spoiler: this is not a talk about Scrum.",
            "startsAt": "2024-09-20T16:20:00",
            "endsAt": "2024-09-20T17:20:00",
            "isServiceSession": false,
            "isPlenumSession": false,
            "speakers": [
              {
                "id": "6ac6744c-566d-4afb-8f75-9554f92c9b93",
                "name": "Achim Wiedemann"
              }
            ],
            "categories": [],
            "roomId": 46814,
            "room": "Kleistsaal (1.OG)",
            "liveUrl": null,
            "recordingUrl": null,
            "status": "Accepted",
            "isInformed": true,
            "isConfirmed": true
          }
        ],
        "hasOnlyPlenumSessions": false
      }
    ],
    "timeSlots": [
      {
        "slotStart": "08:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "2573c7f2-ef73-4d86-85cd-c56c950df3d5",
              "title": "Einlass",
              "description": null,
              "startsAt": "2024-09-20T08:00:00",
              "endsAt": "2024-09-20T09:00:00",
              "isServiceSession": true,
              "isPlenumSession": true,
              "speakers": [],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": null,
              "isInformed": false,
              "isConfirmed": false
            },
            "index": 0
          }
        ]
      },
      {
        "slotStart": "09:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "666905",
              "title": "Developer Joy – How great teams get s%*t done",
              "description": "Software development has become more complex over the years: Building and running a distributed architecture in the cloud, ensuring observability, discussing user experience with design and product, and keeping a healthy balance between dev speed and code quality isn’t easy. Just be agile and practice DevOps, they say.\r\n\r\nJoin Sven and learn how great software teams measure and improve their developer experience, coordinate work across teams, run autonomous but highly aligned teams, and create a healthy and joyful engineering culture. Always backed up by data (not driven) instead of opinions.\r\n\r\nThe talk will demonstrate how great teams faced development challenges, reinvented themselves, and created new ways of working to get s%*t done. Without loosing sight of what makes this craft fun for engineers.",
              "startsAt": "2024-09-20T09:00:00",
              "endsAt": "2024-09-20T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b",
                  "name": "Sven Peters"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "669614",
              "title": "Synchronisation für lose Kopplung: Domänendaten in Microservices",
              "description": "Wenn alle Teile einer Microservice-Architektur vermeintlich auf denselben Daten arbeiten, könnte man doch einen zentralen Datenservice entwickeln, oder? In diesem Vortrag beleuchten wir die Herausforderungen und Lösungsansätze für die Synchronisation von Domänendaten innerhalb einer Microservice-Architektur, illustriert am Beispiel einer Flotten-Management Lösung. Die Entscheidung gegen einen zentralen Datenbestand und für die Synchronisation zwischen den Services unterstreicht unseren Fokus auf lose Kopplung und Unabhängigkeit der einzelnen Microservices. Wir diskutieren, wie diese Strategie die Entwicklungsdynamik unterstützt, gleichzeitig aber komplexe Anforderungen an die Datenkonsistenz und Echtzeit-Synchronisation stellt. Der Vortrag zielt darauf ab, Einblicke in die praktische Umsetzung zu geben und zu zeigen, wie lose Kopplung durch gezielte Synchronisationsmechanismen in der Microservice-Landschaft realisiert werden kann.",
              "startsAt": "2024-09-20T09:00:00",
              "endsAt": "2024-09-20T10:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "231ee3ca-1977-4375-9d11-a4dd39a2ac8c",
                  "name": "Wolfgang Strunk"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "10:20:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "658057",
              "title": "Evolving your APIs, a step-by-step approach",
              "description": "When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll “hit the wall”. How do you evolve your API without breaking the contract with your existing users?\r\n\r\nIn this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.\r\n",
              "startsAt": "2024-09-20T10:20:00",
              "endsAt": "2024-09-20T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "9c904945-768e-4597-b942-6be90cf4d731",
                  "name": "Nicolas Fränkel"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "668074",
              "title": "Trends in modern software architecture ...and how to avoid them",
              "description": "In der modernen Softwareentwicklung haben sich im Laufe der letzten Jahre viele Patterns und Technologien etabliert, die auf den ersten Blick fortschrittlich und vorteilhaft erscheinen, aber eine entscheidende Gemeinsamkeit haben: Hohe Komplexität. Hexagonale Architektur, Reaktive Programmiermodelle und Event Sourcing sind einige Beispiele für solche Architekturmuster. Anhand von praktischen Beispielen möchte dieser Vortrag diverse Patterns, Methoden und Technologien beleuchten… und wie (und wieso) man diese am besten vermeidet.",
              "startsAt": "2024-09-20T10:20:00",
              "endsAt": "2024-09-20T11:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "f30782f4-f523-4787-a497-a1c6e06ba488",
                  "name": "Sven Müller"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "11:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "669884",
              "title": "Tales from the dark side",
              "description": "Founding, building, managing a Start-Up Organization. Everything you never wanted to hear about how things can go wrong.\r\n\r\nOk. Start-Ups fail, Start-Ups work. You win some, you loose some. But only rarely people share  their insights on the failures, it is mostly the success cases that people want to hear about.\r\n\r\nThis talk is a hands-on session on a closer look into embarrassing fails and annoying fuck-ups along trying to build and organize tech-teams. In the ideal world, the tech universe is beautifully clear, in reality humans beings are far from being clear. How to converge these two in the little time you have at hand while the burn-rate is at your heels?\r\n\r\nPlease find an interview attached, that is about the topics listed below – but mostly in a benevolent way – of course, most podcasts turn out to be harmonic, friendly and entertaining. \r\n\r\nYou can take this as an outline table of contents for this talk. But here i will extend each of these topics, lifting off the sugar-coat, to shed light on those menacing situations that truly drive a CTO crazy and turn you into that green pile of muscles monster with orange hair that rips his t-shirt off, whilst crying from despair.\r\n\r\n- How founders must learn how success and failure work in tandem\r\n- Thoughts on the Prevention Paradox and how it influences start up culture\r\n- Thoughts on the Dunning-Kruger effect and its connection to hiring practices\r\n- How hiring for personality is essential to building strong teams\r\n- How being a well-rounded founder is important for building organizational structures\r\n- How lifelong learning makes great developers and founders\r\n\r\nAny similarities with real existing companies would be purely coincidental.\r\n",
              "startsAt": "2024-09-20T11:40:00",
              "endsAt": "2024-09-20T12:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "99fa8c1e-f493-42c2-97bd-e5df425486a2",
                  "name": "Lukas Weber"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "669805",
              "title": "Property-based testing - let your testing library work for you",
              "description": "Don't ask what you can do for your testing library, ask what it can do for you! So what can it do? It turns out that much more than displaying a nice green and red report. What if we make the library generate the test data? And while we're at it, maybe it could also think of the edge cases for which our code is wrong? Oh, and when it finds them, it should simplify them a bit before returning to us, so that we can quickly identify the root cause of the problem. And repeat that a thousand times, just to be sure. Sounds good? That's exactly what property-based testing has to offer. I'll show how to get started with this kind of testing, using jqwik (https://jqwik.net/) as an example. But isn't it all too good to be true, surely there's some fine print? Of course there is. I'll cover that as well.",
              "startsAt": "2024-09-20T11:40:00",
              "endsAt": "2024-09-20T12:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "0999a4f3-b4c4-4a32-9047-66737455fa53",
                  "name": "Magda Stożek"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "12:00:00",
        "rooms": [
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "669869",
              "title": "Engineering Metrics: More Problems, Less Solutions",
              "description": "Engineering organizations often ramp up metrics during critical times to provide management a clearer view of team performance. While metrics and KPIs are generally beneficial for self-improvement, their use by management can unfortunately lead to unintended misbehaviors.\r\n\r\nIn this talk, I'll unpack this claim with several real-world examples. We'll also discuss better management strategies and how you, as a software engineer, can have a positive impact, even if an engineering metrics process is introduced in your company.",
              "startsAt": "2024-09-20T12:00:00",
              "endsAt": "2024-09-20T12:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "b081b3db-c60a-4353-914d-f2cb14f52b7f",
                  "name": "Ronny Karallus"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "12:20:00",
        "rooms": [
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "668847",
              "title": "(Semi-)Automatisch von Bundestagsitzungen zu TikTok",
              "description": "Als Gegenpol zu dem teils starken Akteuren auf z.B. TikTok im politischen Umfeld, haben wir über die letzten Monate eine Pipeline aufgebaut um die Diversität der Bundestagsredebeiträge in Auszügen auf TikTok und anderen Plattformen fast automatisch verfügbar  zu machen. Die unterschiedlichen Challenges, Fails und Successes auf der Google Cloud möchte ich in dem Vortrag vorstellen.",
              "startsAt": "2024-09-20T12:20:00",
              "endsAt": "2024-09-20T12:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "ab44e94d-f092-4f88-9e36-e2e968b08046",
                  "name": "Jan Schütze"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "12:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "2be15d7e-bfdc-4b77-8632-c8f496e98e2d",
              "title": "Mittag",
              "description": null,
              "startsAt": "2024-09-20T12:40:00",
              "endsAt": "2024-09-20T13:40:00",
              "isServiceSession": true,
              "isPlenumSession": true,
              "speakers": [],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": null,
              "isInformed": false,
              "isConfirmed": false
            },
            "index": 0
          }
        ]
      },
      {
        "slotStart": "13:40:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "650606",
              "title": "From Offense to Defense: Live Exploitation of GitHub Action Vulnerabilities",
              "description": "In this interactive session, we delve into the realm of GitHub Actions, exploring both the vulnerabilities that attackers exploit and the defensive strategies developers can employ. We'll demonstrate real-world attacks and their countermeasures, showcasing practical methods to secure your CI/CD workflows.\r\nJoin us as we uncover the intricacies of GitHub Actions, where we explore the following attacks (and how to protect against them):\r\n* Fake git commits and meta data\r\n* Take over a GitHub action to distribute malicious code\r\n* Manipulate GitHub repository settings\r\n* Backdoor a GitHub release\r\n\r\nThis will empower practitioners to learn about the latest security tools such as GitSign, Renovate, Minder, and the SLSA GitHub Generator. The offensive demonstrations will motivate how and when to use the right tool for the right job.\r\nEach attack will be contextualized via a mapping to the threat model resources available to the community today, such as the Microsoft Threat Matrix for DevOps.",
              "startsAt": "2024-09-20T13:40:00",
              "endsAt": "2024-09-20T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "aa66bd16-d91e-488f-8692-11c873c39e6a",
                  "name": "Fabian Kammel"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "669705",
              "title": "Die Qual der Wahl (reloaded) - Cypress, Playwright oder WebdriverIO?",
              "description": "Nachdem lange Jahre zunächst Selenium und dann Cypress den Markt der Web-Testwerkzeuge beherrscht haben, kommen inzwischen neue Player auf das Spielfeld. Mit Playwright und WebdriverIO bekommt insbesondere Cypress eine starke Konkurrenz. Beide stellen sich nicht nur im Bereich der End2End-Tests auf, sondern besetzen auch das Feld der Komponententests. Auch in anderer Hinsicht sind sie Cypress ebenbürtig. \r\nDer Webentwickler hat erneut die Qual der Wahl. Welches Werkzeug passt am besten zur eigenen Arbeitsweise, zum Projekt und zum Softwareprodukt? Wo liegen die Stärken und Schwächen der Gegenspieler? Und lassen sich bestehende Testsuiten einfach auf ein anderes Werkzeug migrieren? Wir werfen einen vergleichenden Blick auf die drei Kontrahenten und \r\ndemonstrieren ihre Fähigkeiten in Aktion.",
              "startsAt": "2024-09-20T13:40:00",
              "endsAt": "2024-09-20T14:40:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "7eed7f95-231f-464d-b5f3-2e732b59689c",
                  "name": "Dehla Sokenou"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "15:00:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "658426",
              "title": "Module richtig schneiden mithilfe von Domain-Driven Design",
              "description": "Bounded Contexts gehören zum strategischen Domain-Driven Design und sind derzeit in aller Munde. Viele Teams versprechen sich durch die Modularisierung mit Bounded Contexts einen guten fachlichen Schnitt für ihre Software. Es stellt sich jedoch häufig die Frage, wie wir denn überhaupt zu einem guten Bounded-Context-Schnitt kommen.\r\n\r\nGenau um diese Frage dreht sich der Vortrag. Ich werde zeigen, wie man mithilfe kollaborativer Modellierungsmethoden (z.B. Event Storming) eine Abgrenzung seiner Problemdomäne erreichen kann und wie man von dort unter Berücksichtigung verschiedener Perspektiven (Regeln, Sprache, Schnittstellen, etc.) zu einem ausgewogenen Bounded-Context-Schnitt kommt.",
              "startsAt": "2024-09-20T15:00:00",
              "endsAt": "2024-09-20T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "c41a4363-aedb-42e0-8495-86be6c23107d",
                  "name": "Michael Plöd"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "662467",
              "title": "Building a Design System’s Component Library",
              "description": "A component library attempts to translate the principles and designs of a design system into reusable code.\r\n\r\nTypical goals include building a library that is future-proof, low-budget in development and maintenance, while providing a large set of usable components, and achieving a great developer experience and consistency in design and UX for its users.\r\n\r\nIn this talk we will look at how we aim to achieve these goals using modern techniques such as design tokens and web components, and automating as much as possible.",
              "startsAt": "2024-09-20T15:00:00",
              "endsAt": "2024-09-20T16:00:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "7cbc0133-d008-4322-98f6-402d64e65837",
                  "name": "Serafima Gurevich"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      },
      {
        "slotStart": "16:20:00",
        "rooms": [
          {
            "id": 46813,
            "name": "Humboldtsaal (1.OG)",
            "session": {
              "id": "660566",
              "title": "Real World Architekturdiagramme",
              "description": "An einem fiktiven, aber realistischen Beispiel werden wir verschiedene Diagramme diskutieren, um wichtige Lösungsansätze und Entscheidungen festzuhalten. Dazu zählen neben den vier Sichten (Systemkontext, Baustein-, Laufzeit- und Verteilungssicht) auch weitere Visualisierungen wie zum Beispiel ein Big Picture oder ein Qualitätsbaum. Wir besprechen sowohl, was inhaltlich in das jeweilige Diagramm gehört und welche Form und Style-Richtlinien eingehalten werden sollten. Dabei kommen frei verfügbare Werkzeuge und leichtgewichtige Methoden wie Diagrams-as-Code, Documentation-as-Code, C4, arc42, docToolchain, kroki.io, PlantUML, Structurizr, draw.io/diagrams.net zum Einsatz. Ihr könnt das Gelernte direkt auf Eure Projekte übertragen und werdet in Zukunft Eure Kollegen mit gut verständlichen und leicht zu wartenden Softwarearchitekturdiagrammen beglücken.",
              "startsAt": "2024-09-20T16:20:00",
              "endsAt": "2024-09-20T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "2fa7d3c1-e216-4dc8-b05c-f94fe34390e7",
                  "name": "Falk Sippach"
                }
              ],
              "categories": [],
              "roomId": 46813,
              "room": "Humboldtsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 0
          },
          {
            "id": 46814,
            "name": "Kleistsaal (1.OG)",
            "session": {
              "id": "648146",
              "title": "The secret sauce of highly effective teams",
              "description": "\"Culture eats strategy for breakfast\". That widely quoted statement of Peter Drucker never really spoke to me and I found it pretty bland - until the day I was asked how we were actually able to pull it off. Half a year earlier we cancelled the subscription to our 24/7 support team because they didn't have any work with our services. Now, as I was explaining to the former lead of that support team how we work, I realized that for the most part our smooth sailing could be attributed to our team culture - and it suddenly clicked. Now Drucker's sentence made sense.\r\n \r\nThe last couple of years as a software engineer I spent building SaaS products for end customers. I want to share my observations from working in highly effective software teams with you. Spoiler: this is not a talk about Scrum.",
              "startsAt": "2024-09-20T16:20:00",
              "endsAt": "2024-09-20T17:20:00",
              "isServiceSession": false,
              "isPlenumSession": false,
              "speakers": [
                {
                  "id": "6ac6744c-566d-4afb-8f75-9554f92c9b93",
                  "name": "Achim Wiedemann"
                }
              ],
              "categories": [],
              "roomId": 46814,
              "room": "Kleistsaal (1.OG)",
              "liveUrl": null,
              "recordingUrl": null,
              "status": "Accepted",
              "isInformed": true,
              "isConfirmed": true
            },
            "index": 1
          }
        ]
      }
    ]
  }
]