Developer Day 2023

«From Engineers to Engineers»

30. November 2023

Centre Loewenberg

Anmeldung

Programm

08:30 - 09:00
Eintreffen & Check-In
09:00 - 09:15
Eröffnung

Raum: B001 Aquarium

Daniel Oderbolz
09:15 - 10:00
Keynote 1: Ransomware as a Service: An industry uncovered.

Abstract

Ransomware, a constant threat that is haunting organisations for about a decade. Much has been written about the technical details of it.

In this talk we will look a Ransomware groups from an organisational perspective. How are they organised, how much their employees can earn and how they deal with labour shortage. Thereby we will also make occasional trips to the Darknet, exploring the ecosystem of Initial Access Broker and how they cooperate with Ransomware affiliates.

Zur Person:

Tom Hofmann is a CISO and a cyber-security enthusiast with a passion for innovation.

For the last more than 20 years, among others he worked at critical infrastructure and pharma, implemented projects from the Finnish polar circle to the megacity of Tokyo.

His published academic research at the Hasso-Plattner Institute in Germany focuses on leveraging human-centred design to address the wicked problems of cyber-security.

He is sharing his experience in lectures at University of Zurich and FHNW and is engaged in school projects and various NGOs.


Sprache: Englisch

Tom Hofmann
10:00 - 10:30
Kaffeepause
10:30 - 11:15
Session 1 B: Kafka-Mythenzerstörung für Entwickler

Wir begeben uns auf eine aufschlussreiche Reise, um häufige Missverständnisse rund um Apache Kafka auszuräumen. Mit einem besonderen Fokus auf Log Compaction, Log Retention, and Minimum In-Sync Replicas, möchten wir Entwicklern ein differenzierteres Verständnis dieser wesentlichen Funktionen vermitteln und so eine effektivere und effizientere Nutzung von Kafka in ihren Anwendungen fördern.

Log Compaction, eine Strategie, die redundante Daten verwirft, um Speicherplatz zu sparen und gleichzeitig eine vollständige Aufzeichnung von Ereignissen beizubehalten, wird oft missverstanden. Wir befassen uns mit der Funktionsweise dieser Funktion und demonstrieren ihre Vorteile und potenziellen Fallstricke.

Die Diskussion über die Log Retention beleuchtet die Datenpersistenzfunktion von Kafka und das komplexe Gleichgewicht zwischen Speicherverwaltung und Datenverfügbarkeit. Wir analysieren die verschiedenen Konfigurationsoptionen und helfen Entwicklern dabei, Aufbewahrungsrichtlinien anzupassen, die am besten zu ihren spezifischen Anwendungsfällen passen.

Abschließend hilft der Abschnitt über „Minimum In-Sync Replicas“ Entwicklern, diesen entscheidenden Aspekt der Gewährleistung der Datenhaltbarkeit und -verfügbarkeit in verteilten Systemen zu verstehen. Wir entschlüsseln, wie es Datenverluste, insbesondere bei Netzwerkausfällen, eindämmt, und leiten Entwickler an, diesen Parameter intelligent einzustellen.

Sprache: Deutsch

Maciej Raciborski
10:30 - 11:15
Session 1 A: Paradigmen für refactorbare Software

Wie können wir Software so schreiben, dass sie jederzeit refactorbar bleibt? Ich möchte vorstellen, wie wir (noch zu meiner Zeit bei der SBB) durch Objektorientierung und die Anwendung von funktionalen Paradigmen die Refactorbarkeit unserer Anwendungen verbessert haben. Seit meiner
Zeit bei der SBB habe ich die Ideen dahinter in Form von Codebeispielen dokumentiert.

Ich möchte anhand von diesen Beispielen Ideen für das Schreiben von refactorbarem Code aufzeigen, deren Vor- und Nachteile besprechen und aufzeigen welche Konsequenzen solche Designentscheidungen haben können


Sprache: Deutsch

Florian Seidl
10:30 - 11:15
Session 1 C: Übergreifende Observability mit OpenTelemetry

Ein Open-Source-Standard für die Integration verschiedener APM-Tools

Angesichts der Vielfalt an Monitoring-Tools in modernen IT-Anwendungen kann eine umfassende Betriebsübersicht, insbesondere bei der Zusammenarbeit mit anderen DSOs, die unterschiedliche Monitoring-Lösungen verwenden, eine signifikante Herausforderung darstellen.

In diesem Vortrag/Demo stellen wir ein Lösungsmuster vor, das es ermöglicht, mithilfe des Open-Source-Standards OpenTelemetry ein übergreifendes Monitoring zu implementieren.

Wir demonstrieren dies konkret an einer Java Spring Boot-Anwendung, die Metriken und Trace-daten mithilfe des Opentelemetry Collectors gleichzeitig an die APM-Backends Instana und New Relic senden kann.

Dieser Ansatz bietet die Möglichkeit, eine umfassende und effiziente Observability-Strategie über mehrere APM-Tools hinweg zu erstellen, um Fehler und deren Ursachen frühzeitig im Betrieb zu erkennen.

Sprache: Deutsch

Prashanth Sirtharan, Daniel Kocher
10:30 - 11:15
Session 1 D: TALES FROM THE TRENCHES: SBB Security Operations Center

This talk will give you insights on how the SBB Security Operations Center emerged, what it does and what it certainly doesn't and why a solid foundation of people, processes and tools is vital for running it. We will focus on how secure we are, against which threats and why somebody should attack us. Oh, really?

In addition we will have a closer look why ransomware is still the biggest problem in 2023 (and 2022, and 2021, and years before....), why rodents will win the cybewar and why we are casualties of the digital evolution.

Finally, let's have a look on some myths of cybersecurity. For instance that hackers are people with supernatural skills (they are not - they're just humans with a special business model).

Sprache: Englisch

Erwin Jud
10:30 - 11:15
Session 1E: Meistern eines Plattformlebenszyklus: Wie wir mit gezielten Massnahmen und state-of-the-art Technologien den Betrieb der Enterprise Analytics Platform optimiert haben

Mit der Enterprise Analytics Platform (EAP) bieten wir eine zentrale und einfach zugängliche Drehscheibe für Daten sowie einen state-of-the-art Entwicklungsstack. Unsere Dienstleistungen werden täglich von über 100 Kundenapplikationen genutzt, was neue Anforderungen an die Skalierbarkeit und Robustheit unserer IT-Betriebsabläufe mit sich bringt.

Wir möchten euch zeigen, auf welche Weise sich die Herausforderungen im Zusammenhang mit dem fortgeschrittenen Plattformlebenszyklus in unserem Betrieb konkret in jüngerer Vergangenheit dargestellt haben. Durch die Identifizierung von Bottlenecks und Risiken im Betrieb unserer Plattform konnten wir gezielte Massnahmen ergreifen und im Resultat eine Entlastung unseres EAP Supports erzielen. Wir geben in diesem Zusammenhang einen technischen Einblick in die Weiterentwicklung unserer Release und Updateprozesse, indem wir unsere Terraform-spezifischen end-to-end Tests, unsere inkrementellen EAP Updates und EAP Servicestests erörtern. Durch die gemeinsame Verwendung von Argo Workflows und Terraform konnten wir einen wichtigen Schritt zur Sicherstellung des robusten Plattformbetriebs nehmen und den Reifegrad der Plattform in diesem Zuge erhöhen.

Sprache: Deutsch

Simon Haefeli, Tristan Schäfer, Sven Bracklo
11:25 - 12:10
Session 2 D: Self-Sovereign Identity (SSI) & E-ID: Unlocking Digital You-niqueness!

Die Self-Sovereign Identity (SSI) ist ein Paradigmenwechsel für die digitale Identität. Im Gegensatz zur aktuell vorherrschenden, zentralisierten Verwaltung ist SSI dezentral aufgebaut und gibt die volle Kontrolle zurück zur Person, der die Identität gehört. Dieser Ansatz ermöglicht ein viel breiteres Einsatzgebiet - SSI kann nicht nur Access Management, sondern es kann Schulzeugnisse, Zertifikate, Hausschlüssel, Hunde-GA, Liebesbriefe und dein Kinoticket ersetzen.

Die SBB ist vorne mit dabei und hat mit einigen weiteren grossen Schweizer Firmen und dem Bund verschiedene Anwendungsfälle von SSI mit der E-ID Sandbox sowie der Azure AD Infrastruktur als PoCs realisiert. In unserem Vortrag geben wir Einblick in den aktuellen Stand von SSI, die verschiedenen Infrastrukturen, welche auf Blockchain basieren, sowie die relevanten Code Snippets, welche wir in unseren PoCs verwendet haben. Natürlich versuchen wir live zu zeigen, wie Verifiable Credentials für SBB Mitarbeiter konkret eingesetzt werden können.

Sprache: Deutsch

Christian Egli, Jan Schilliger
11:25 - 12:10
Session 2 E: Produktivitätstools

„In diesem Workshop werden verschiedene Produktivitätstools für Windows/Mac (bitte gewünschtes System angeben) gezeigt und angewendet.
So z. B. Auto Hotkey im Zusammenspiel mit Pulovers Macro Creator, BetterTouchTool, Tricks im Browser (Adress Bar, Bookmarklets, Short URLS), Shortcuts und Clipboard-Tools (CLCL oder PowerToys).

Sprache: Deutsch

Daniel Oderbolz, Joel Hofer
11:25 - 12:10
Session 2 B: Management of Compute Resources on OpenShift

Every application requires compute resources (memory, cpu) to be able to run. But as with all resources, they are not infinitely available and cost money. Assigning too few resources to an application negatively affects its operation and assigning too many resources makes running the application too expensive (if there are enough resources available on the platform to run it at all).

In this talk we want to show you how the compute resource management on the SBB OpenShift Container platform works. We will cover topics like the difference between requests and limits, their (potential) effect on the application performance and latency and what tools the platform offers to inspect and manage the resource usage of applications running on the platform.


Sprache: Englisch

Michael Grüner, Lukas Reusser
11:25 - 12:10
Session 2 A: Professional Software Development mit TDD

Wie funktioniert Test-Driven-Development wirklich und was sind die Vorteile?

Dank den Clean-Coders (Robert C. Martin / Uncle Bob) habe ich TDD auf eine ganz neue Art kennengelernt, die ich so im Berufsalltag noch nirgends gesehen habe. Diese Technik der Software-Entwicklung ist grundsätzlich nichts neues und wird seit Jahren von «Veteranen» praktiziert. Und trotzdem kennt sie fast niemand in meinem Umfeld.

Dabei gibt es diverse Regeln und Richtlinien, die dabei helfen sollen, TDD so einfach wie möglich zu gestalten. Ausserdem hilft es dabei eine sehr hohe Testabdeckung (100%) zu erreichen und gleichzeitig den Code «sauber» zu halten.

Mir persönlich macht diese Technik unheimlich viel Spass und sie hilft mir enorm dabei fokussiert zu bleiben.
In diesem Talk möchte ich euch einen kurzen Einstieg in dieses Thema bieten und euch dazu anregen, zukünftig auch TDD zu praktizieren.
Demo inkl.

Sprache: Deutsch

Kevin Gysin
11:25 - 12:10
Session 2 C.1: Open Source als Mittel der Wahl für eine offene Zusammenarbeit im öffentlichen Verkehr / 2.C.2: Next-Gen-Entwickler:innen - Unterwegs in der Talent Factory

2.C.1

Arbeitsergebnisse öffentlich zu teilen und die etablierten Mechanismen der Open Source Community zu nutzen, bietet der digitalen Zone und den Geschäftsbereichen Chancen für eine leichtgewichtige Zusammenarbeit mit anderen Bahnen und ÖV-Interessierten Institutionen. Um dies zu Fördern ist die SBB zusammen mit der SNCF, DB und der UIC Gründungsmitglied der Open Rail Foundation. Mit einem internen Guide wurden die Grundlagen für die Nutzung (use) das beitragen zu bestehenden Projekten (contribute) und das veröffentlichen von Projekten (create) festgehalten.


2.C.2

Unser Vortrag "Next-Gen-Entwickler: Unterwegs in der Talent Factory" präsentiert inspirierende Beispiele der Auszubildenden, die durch die Kombination von Theorie und Praxis in unserer Ausbildung herausragende Leistungen erzielt haben. Ihre Geschichten zeigen, wie die Talent Factory junge Fachkräfte für die Herausforderungen der Zukunft vorbereitet und ihnen eine vielseitige und zukunftsorientierte Karriere in der ICT-Branche eröffnet.

Sprache: Deutsch

Peter Keller, Lernende und PiBs Studen von der Talentfactory
12:10 - 13:45
Mittagessen
13:45 - 14:30
Session 3 A: Die grüne Wiese

Aus einem Green-Field-Projekt wird rasch ein Brown-Field-Projekt. Was sind die Gründe hierfür? Wie kann man dies verhindern?

Anhand unseres aktuellen Projekt zeige ich auf, wie die Wartbarkeit erhöht werden kann.

Sprache: Deutsch

Matthias Baumeler
13:45 - 14:30
Session 3 B: Moderne Webentwicklung: Zurück auf den Server Eine vertiefte Betrachtung von React Server Components sowie den Full-Stack Aspekten in Qwik, Remix, Svelte und Solid

Vorbei ist die Ära von Angular, React und Vue als klassische Single Page Applications. Der Trend in modernen Web-Frameworks führt zurück auf den Server.

«React Server Components» sind aktuell das prominenteste Beispiel, wie die moderne Web-Entwicklung ihren Weg zurück auf den Server findet.

«React Server Components» könnten die nächste Revolution in der Frontend-Entwicklung sein, und andere Frameworks werden sich in Zukunft daran messen müssen.

Dieser Vortrag zeigt auf, wie "React Server Components" funktionieren, welche Probleme sie adressieren und welche neuen Herausforderungen dadurch bei der Entwicklung von modernen Webapplikationen entstehen.

Zum Schluss zeigt der Vortrag auf, wie ähnliche Konzepte in den neusten Web-Frameworks Qwik, Remix, Svelte und Solid umgesetzt werden.


Sprache: Deutsch

Jonas Brandi
13:45 - 14:30
Session 3 C: DevOps Metriken im Scrum Team - Ein Praxisbericht

Wie misst man die Teamproduktivität? Die Auswahl an Metriken ist gross.

Eine Möglichkeit sind die DORA Metriken (Abkürzung für: Google Cloud’s DevOps Research and Assessment).

Das FPS Team würde gerne seine Erfahrung mit den anderen Teams teilen.

Für die automatische Berechnung und Visualisierung im täglichen Betrieb wird das Tool Sprintometer verwendet.

Sprache: Deutsch

Peter Hirzel, Ilja Mutschnik
13:45 - 14:30
Session 3 D: Neue Testrichtlinie – was bedeuten sie für DevOps-Teams?

Das Testen ist ein Teil der Verantwortung für DevOps-Teams.

Seit Februar 2023 haben wir eine neue Testrichtlinie, die für alle verbindlich ist.

Wir zeigen Ihnen, wie Sie es einfach in Ihrem Team umsetzen können, was wirklich vorgeschrieben ist und wie Sie die Testing-Mentalität in Ihrem Team einführen können.

Sprache: Deutsch

Monika Golec, Andreas Wieczorek, Patrick Grimm
13:45 - 14:30
Session 3 E: Muss es wirklich Hibernate sein?

Projekte verwenden oft standardmässig Java Persistence API (JPA) und damit meistens Hibernate.
Aber braucht es in allen Applikationen wirklich ein vollumfängliches Objekt/Relationales-Mapping (ORM) mit allen erdenklichen Funktionen?

Dieser Talk beleuchtet die Architektur von datenbank-zentrierten Applikationen und diskutiert die Frage ob man immer einen Objektgraphen für die Persistenz braucht.

Anhand einer Beispielapplikation wird aufgezeigt wie mit reinem SQL mit Hilfe von jOOQ und (verschachtelten) Java Records der Datenzugriff vereinfacht und häufige Probleme von ORM wie z.B. das n+1-Select-Problem vermieden werden kann.

Abschliessend wird auf die Möglichkeit eingegangen jOOQ und JPA/Hibernate zu kombinieren und damit das Beste aus beiden Welten zu verwenden.

Sprache: Deutsch

Simon Martinelli (72 Services GmbH)
14:40 - 15:25
Session 4 B: Design Systems @ SBB

ESTA Web entwickelt und pflegt die beiden SBB Design Systems sbb-angular und Lyne.
Gerne geben wir euch einen technischen und organisatorischen Einblick in unsere Arbeit und einen Ausblick in unsere zukünftigen Vorhaben.

Sprache: Deutsch

Jeremias Peier, Lukas Spirig
14:40 - 15:25
Session 4 C: Kochen auf kleiner Flamme

Datendrehscheiben (DDS) spielen eine grosse Rolle für die wirkungsvolle Kundeninformation (KI) im öffentlichen Verkehr. Sie übernehmen die Aufgabe, sogenannte KI-Echtzeitmeldungen zwischen den Transportunternehmen auszutauschen und ermöglichen so durchgehende Kundeninformationen im ganzen öV. Für die Anbindung neuer Transportunternehmen sowie für den Betrieb der produktiven Anbindungen wurde in unserem Bereich SKI die Technologie Splunk als Datastore & Visualisierungstool für die Echtzeitmeldungen in XML eingesetzt. Dies war lange Zeit eine gute Lösung, da Splunk out-of-box ein relativ gutes Feature-Set für XML-Dokumente bietet und insbesondere früher die Nutzungskosten verhältnismässig gering waren, da die Splunk-Nutzung nicht verursachergerecht abgerechnet wurde.

Vor 1.5J haben wir das Vorhaben Betriebscockpit gestartet mit dem Hauptziel die XML-Dokumente aus Splunk rauszuholen und die Kosten für den Betrieb der DDS spürbar zu senken. Mit starkem Fokus auf die Kosten haben wir die neue Architektur für das Betriebscockpit aufgebaut. Unser Ziel ist es langfristig ein tragbares, flexibles Nutzen-Kosten-Verhältnis zu erzielen ohne die Benutzererfahrung zu beinträchtigen. In diesem Vortrag werden wir die Architektur des Betriebscockpits vorstellen und dadurch aufzeigen wie wir das riesige Datenvolumen an Echtzeitmeldungen nahezu Real-Time verarbeiten, validieren und für Datenqualitäts-Auswertungen optimal speichern können. Dabei werden wir einige Implementierungsaspekte des Betriebscockpits vorstellen, die auf Technologien von AWS, Kafka und Snowflake basieren.

Sprache: Deutsch

Korhan Gülseven, Alayne Hiltmann, Korhan Gülseven, Alayne Hiltmann
14:40 - 15:25
Session 4 D: WAF & Access Architektur

Wir erklären die aktuelle Access Architektur und erläutern, welche WAF zum Schutz von Web Applikationen eingesetzt werden kann und wie die Entwickler dabei unterstützt werden.

Kurze Demo einer Implementation und Handling von false positives einer next generation WAF.

Sprache: Deutsch

Adrian Enderlin, Andrin Styner, Hans-Peter Widmer, Michel Ruchti
14:40 - 15:25
Session 4 A:Document Data Stores: Fluch oder Segen?

MongoDB und weitere Document Data Stores wurden in den letzten Jahren immer populärer. Auch in der SBB stehen neue Vorhaben häufig vor der Frage, mit welcher Storagetechnologie Daten persistiert werden sollen. Grundsätzlich existieren heute eine Fülle möglicher Technologien für die Datenspeicherung. Für viele Vorhaben reduziert sich die Wahl der Alternativen jedoch häufig auf zwei grundsätzliche Varianten: SQL Datenbank oder Document Data Store.

Im Bereich der Document Data Stores hat sich MongoDB als klarer Marktführer etabliert. Das liegt sowohl an der Maturität des gesamten MongoDB Ökosystems wie auch an einem geschickten Marketing.

Im ART Kapazitätsmanagement der Solution Trasse standen wir vor der Wahl der geeigneten Speichertechnologie für die Persistierung des Fahrplans für mehrere Fahrplanperioden. Wir haben uns schliesslich für MongoDB entschieden. In diesem Talk geben wir einen Überblick, welche Faktoren zu diesem Entscheid geführt haben und wie unsere bisherigen Erfahrungen damit sind.

Im zweiten Teil des Talks beleuchten wir konzeptionellen Unterschiede zwischen Document Data Stores und relationalen Datenbanken. Wir haben festgestellt, dass der Einsatz von Document Data Stores eine andere Sicht und einen anderen Umgang mit den Daten erfordert als die Speicherung in SQL Datenbanken. Unsere Erkenntnisse waren auch für uns selber überraschend.

Sprache: Deutsch

Walter Oesch
14:40 - 15:40
Session 4 E: Easy integration testing with Testcontainers

Need to use Kafka or Postgres for integration testing and local development but struggling to setup a test environment? Testcontainers to the rescue!

Testcontainers is an open source framework for providing throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything that can run in a Docker container. We will have a look at how Testcontainers makes it easier to develop and test applications with Spring Boot or Go, locally as well as on the ESTA Tekton pipeline.

Sprache: Englisch

Adrian Gygax
15:25 - 15:55
Pause
15:55 - 16:50
Keynote 2: Die universelle Maschine: Fortschritte in Robotik, Künstlicher Intelligenz, Maschinenethik und Maschinellem Bewusstsein

Abstract:

In Robotik und Künstlicher Intelligenz (KI) gibt es gegenwärtig enorme Fortschritte. Auch die Maschinenethik und das Maschinelle Bewusstsein – die man der KI zurechnen, aber auch als eigenständige Disziplinen betrachten kann – entwickeln sich mit hohem Tempo weiter. Der Vortrag von Prof. Dr. Oliver Bendel stellt die Fortschritte in den Vordergrund und behandelt jeweils hervorstechende und eindrückliche Beispiele. Bei der Robotik werden etwa Bewegungsarten und Gestaltungsformen ins Auge gefasst. Bei Künstlicher Intelligenz, Maschinenethik und Maschinellem Bewusstsein geht der Wirtschaftsinformatiker und Technikphilosoph aus Zürich auf Sprachmodelle und ihre unterschiedlichen Implikationen ein. Am Ende wird alles zu einer universellen Maschine zusammengefügt, die es noch nicht gibt, die aber bereits am Horizont erscheint.

Zur Person:

Oliver Bendel studierte Philosophie und Germanistik sowie Informationswissenschaft an der Universität Konstanz. Nach ersten beruflichen Stationen erfolgte die Promotion an der Universität St. Gallen über Conversational Agents. Bendel arbeitete als Projektleiter und stand technischen und wissenschaftlichen Einrichtungen vor. Im April 2009 wurde er von der Hochschule für Wirtschaft FHNW zum Professor er-nannt. Seine Schwerpunkte sind Informationsethik, Roboterethik und Maschinenethik. Aus diesen Per-spektiven heraus untersucht er Roboter und KI-Systeme. Bendel war mehrfach Sachverständiger und Vortragender im Deutschen Bundestag und im Europäischen Parlament. Im Auftrag der Daimler und Benz Stiftung, deren Stiftungsratsmitglied er inzwischen ist, richtete er den Ladenburger Diskurs 2017 und das Berliner Kolloquium 2019 zu Pflegerobotern aus. Die von ihm herausgegebenen Bücher «Pflegerobo-ter», «Handbuch Maschinenethik» und «Soziale Roboter» sind Standardwerke.

Sprache: Deutsch

Oliver Bendel
16:55 - 17:00
Abschluss
17:00 - 18:30
Gemeinsamer Ausklang beim Apéro

Anmeldung

Weitere Informationen

Das Programm ist ebenfalls auf Confluence ersichtlich.


Wichtig: Bitte nimm deinen SBB-Badge mit!


Wir sind umweltbewusst: Nimm deine eigene Trinkflasche mit und hilf mit, den Verbrauch von Wegwerfbechern zu reduzieren. Deine Flasche kannst du an mehreren Stationen mit erfrischendem Quellwasser auffüllen.

Location

Centre Loewenberg

Löwenberg 49
3280 Murten


Das CEL ist mit der S-Bahn, Haltestelle Muntelier-Löwenberg (Achtung: Halt auf Verlangen), erreichbar.

Informationen zum Fahrplan: https://www.sbb.ch/de