Oliver Unger

Full-Stack-Softwareentwickler

Bern, Schweiz
oliver@oliverunger.ch
Oliver Unger

Über mich

Softwarentwicklung ist meine Leidenschaft der ich auch in meiner Freizeit viel Zeit widme. Ich verfüge über ein abgeschlossenes Studium der Wirtschaftsinformatik (B.Sc.) und eine Zertifizierung als Softwarearchitekt (iSAQB® - Foundation Level). Ausserdem wandere ich gerne und besuche Zoos um Rote Pandas zu bestaunen. Als Bitcoin-Enthusiast trifft man mich regelmässig auf Meetups.

Werdegang

  • -

    Im Einsatz für die mtrail GmbH
    Belgien, Brüssel - Remote

    Übersicht:

    • Entwicklung diverser Webclients im TMS Ecosystem in einem Scrum Team. Das TMS (Train Management System) ist das von der SBB übernommene Dispositionssystem RCS (Rail Control System).

    Tätigkeiten:

    • Entwicklung der TMS Webclients sowie deren Java Backends in Eclipse RCP und Spring Boot.
    • ADL: Umsetzung des UIC SFERA IRS 90940 Protokolls in Infrabels DAS (Driver Advisory System), genannt ADL (Adaptive Lenkung), als Web- und Mobile-Anwendung (IOS und Android) mittels Ionic Capacitor.
    • TMS: Ein Read-Only Webclient für die vier Sichten Zeit-Weg-Liniendiagramm (ZWL), Hauptgleis-Belegungsplan (HGBP), Anschlussmatrix (AMAX) und Steckenspiegel (SSP) des Dispositionssystems TMS.
    • TMS-Recorder: Aufzeichnung der Bilder der vier Sichten und Weiterverarbeitung zu Video-Dateien mittels Bytedeco-Library sowie deren Kompressierung zur Nachvollziehbarkeit von Dispositionen.
    • ALEA: Ermöglicht das Anzeigen und Erstellen von Meldungen und Massnahmen für den Zugverkehr.
    • TST: Ein Webclient zum Auffinden von Zügen.
    • Entwicklung der Webanwendung Syntrack, einem Datenbereitstellungssystem für Trainingsumgebungen in TMS mit Spring Boot und Angular.
    • Entwicklung und Design von Komponenten im Design System mit Angular und Primeng.
    • Migration und Entwicklung von MQTT Adaptern in Java (Paho -> HiveMQ) und TypeScript (Paho -> MQTT.js) sowie der Implementierung und Durchführung von Lasttests und Visualisierung mittels JFreeChart.
    • Implementierung von Load Balancing mit Hazelcast.
    • Schreiben von Ansible Scripts (Playbooks) für (Blue Green) Deployments und DRP Management.
    • Anpassen von Docker und Jenkins Files.
    • Integration von Sonar in die Jenkins Pipeline.
    • Implementierung von OAuth 2.0 in Webclients (Auth Flow mit PKCE) mittels MSAL und Webservern (Client Credential Flow) mittels Spring Security sowie Entwicklung eines Developer Tools zur Generierung von Tokens mittels Selenium.
    • Coaching von Junior-Softwareentwicklern.
    • Java
    • Spring Boot
    • Hibernate
    • Hazelcast
    • Angular
    • PrimeNG
    • OpenAPI
    • Swagger
    • OpenShift
    • MQTT
    • MQ
    • PostgreSQL
    • Docker
    • Ansible
    • AWX
    • OAuth 2.0
    • Kibana
    • Maven
    • Jenkins
    • Git
    • Eclipse RCP
    • OSGI
    • JFreeChart
    • MSAL
    • Selenium
    • Sonar
    • Android
    • Capacitor
    • Gradle
    • GitLab
  • -

    Bern, Schweiz - Vor Ort

    Übersicht:

    • Entwicklung einer Referenzimplementierung eines Driver Advisory Systems (DAS) gemäss der UIC SFERA IRS 90940 Spezifikation.

    Tätigkeiten:

    • Entwicklung des On-Board Clients als auch der Trackside als Maven Multi Module Projekt mit Spring Boot und Angular.
    • Weiterentwicklung zu einem Verifikationssystem für eine On-Board oder Trackside Implementierung.
    • Einbindung einer Zuglaufrechnung zur Überprüfung der Kompabilität des Mappings zwischen dem SFERA-Schema und einem realen Timetable-Schema (aus TMS).
    • Unterbreitung von Vorschlägen für die Verbesserung des Protokolls in der Working Group der UIC, wie das Design und die Implementierung einer State-Machine, die Entwicklung einer Rule Engine in Schematron zur Prüfung der semantischen Korrektheit von einzelnen oder aufeinanderfolgenden XML-Nachrichten und das Erstellen einer AsyncAPI-Spezifikation für den im Protokoll definierten Nachrichtenfluss mit MQTT.
    • Java
    • Spring Boot
    • Angular
    • PrimeNG
    • Schematron
    • Drools
    • AsyncAPI
    • MQTT
    • Maven
    • Kubernetes
    • DigitalOcean
    • Git
    • GitHub
  • -

    Im Einsatz für die mtrail GmbH
    Bern, Schweiz - Vor Ort

    Übersicht:

    • Migration von Legacy-Systemen im Bereich Formationsservice zu einer Microservice Architektur in einem Scrum Team im Scaled Agile Framework (SAFe).

    Tätigkeiten:

    • Migration von Host- und Java/Swing-Fatclient-Anwendungen zu Spring Boot und Angular sowie deren Deployment auf OpenShift.
    • Evaluierung der bestehenden Bremsrechnung anhand der Fahrdientstvorschriften des BAV. Korrektur bestehender Fehler sowie Aktualisierung der angewandten Regeln.
    • Bereitstellung von Cucumber-Tests für Domänenexperten zur Prüfung der Bremsrechnung.
    • Erstellung von OpenAPI-Spezifikationen sowie deren Bereitstellung auf SBBs API Management Plattform (APIM).
    • Implementierung der geltenden Regeln im Zusammenhang mit Chlordetektion, Festhaltekraft und dem Befahren von Ausnahmestrecken in der Formationsprüfung.
    • Java
    • Spring Boot
    • Angular
    • PrimeNG
    • OpenShift
    • MongoDB
    • OpenAPI
    • Swagger
    • Cucumber
    • Docker
    • Grafana
    • Maven
    • Jenkins
    • Git
    • BitBucket
  • -

    Bern, Schweiz - Vor Ort
  • -

    Hannover, Deutschland - Vor Ort

    Übersicht:

    • Neu- und Weiterentwicklung von Anwendungen im Bereich Kundenmanagement (Privat- und Geschäftskunden) und Vertrieb.

    Tätigkeiten:

    • Neuentwicklung der Anwendung Kundeninformationssystem zur Verwaltung von Kundeninteressen und Kontaktdaten zu Vertriebszwecken.
    • Neuentwicklung der Anwendung Zahnarztsuche zur automatisierten und manuellen Angleichung von Zahnarzt(praxis)daten aus verschiedenen Datenquellen mittels Apache Solr.
    • Linientätigkeiten: Weiterentwicklung bestehender Anwendungen wie dem Kundenservice- und dem Vertriebsservice-Cockpit.
    • Teilnahme an einer Fortbildung zum Thema Low Code Plattformen. Umsetzung einer PoC-Anwendung sowie Präsentation der Erkenntisse.
    • Java EE
    • JSF
    • JSP
    • Solr
    • Hibernate
    • SOAP
    • Spring
    • Spring Batch
    • Spring Web Flow
    • Spring MVC
    • IBM Datenbanken
    • Oracle Datenbanken
    • Mainframe
    • Ant
    • Ivy
    • Jenkins
    • CVS

Projekte

Arbeiten

Ausbildung

Bildungseinrichtungen

Zertifikate und Weiterbildungen