Benedikt Buchner

Senior Software Engineer

Benedikt Buchner
Starnberg, Germany

Experience

May 2023 - May 2024
1 year 1 month

Software Architect

Public Sector/E-Health

Fortsetzung der Implementierung eines OpenID Connect und OAuth2 Authentifizierungs- und Autorisierungs-Servers

Jan 2022 - May 2023
5 months

Software Architect

eCommerce/Software-as-a-Service

Implementierung einer Zeiterfassungssoftware

Inhalt des Projekts ist die Neuimplementierung einer Zeiterfassungssoftware, die neben der reinen Erfassung von Zeiten weitere buchbare Module enthält, die von Endkunden zusätzlich erworben werden können.

Die Architektur der Software sollte dabei derart gestaltet werden, dass diese zwar zunächst als Monolith erstellt wird aber jederzeit in eine Microservices-Architektur überführt werden kann sollte dies technisch notwendig werden.

Angefangen bei der Definition und Schärfung der fachlichen Anforderungen, über die Entwicklung im Frontend und dem Entwurf und der Umsetzung von REST Schnittstellen im Backend und dem Test der technischen und fachlichen Korrektheit der gewünschten war Lars an allen Phasen und Bereichen der Entwicklung beteiligt.

Aufgaben:

  • Anforderungsanalyse
  • Planung der Software-Architektur
  • Analyse & Design von APIs
  • Backend-Entwicklung
  • Frontend-Entwicklung
  • Code Review
  • QA und Testing
  • CI/CD

Technologien:

  • Java 17
  • Spring Boot
  • Spring MVC
  • Spring Data
  • Spring Cloud Streams
  • Maven
  • MySQL
  • Angular, TypeScript
  • HTML, CSS
  • JavaScript
  • Docker
  • ELK-Stack
  • RabbitMQ
Jan 2020 - Present
5 years 2 months

Software Architect & Senior Software Engineer, Fullstack-Spezialist

Nimevio

Spezialist für Fullstack-Software-Entwicklung mit Fokus auf User Experience. Experte für mehrschichtige und verteilte Software-Architekturen und Software-Systeme. Mehr als 10 Jahre Erfahrung in verschiedenen Bereichen und Branchen wie Automobil, produzierendes Gewerbe, Fintech, Transportsektor und öffentliche Auftraggeber.

Skills:

  • Java
  • Java EE
  • Spring Framework
  • Microservices
  • Software Architecture
  • REST-ful Design
  • SOAP
  • Angular/TypeScript
  • Vue.js
  • JavaScript
  • AngularJS
  • Elasticsearch
  • User Experience
  • Requirements Engineering
  • Software Quality & Clean Code
  • OAuth
  • OpenID Connect
  • Security

Zertifizierungen:

  • Oracle Certified Developer
  • iSQAB Certified Professional for Software Architecture
  • Pivotal Certified Spring Professional
  • Pivotal Certified Spring Web Application Developer
Jan 2020 - Dec 2023
4 years

Software Architect

Public Sector/E-Health

Implementierung eines OpenID Connect und OAuth2 Authentifizierungs- und Autorisierungs-Servers

Der Auftraggeber hat als zentrale Authentifizierungs- und Autorisierungssystem OAuth2 mit OpenID Connect als Standard für alle externen und internen Anwendungen definiert. Dazu musste einerseits OAuth2 fertig und der OpenID Connect Aufsatz zu OAuth2 neu implementiert werden. Da die Authentifizierungsschnittstelle von externen Anwendungen und internen Anwendungen, die von anderen Entwicklungs-Teams in der Organisation erstellt werden, verwendet werden soll, war es eine der zentralen Aufgaben die OAuth2 und OIDC-Schnittstellen nach der offiziellen Spezifikation der beiden Standards zu implementieren.

Ein weiterer Fokus des Projekts war die Ablösung des bestehenden Authentifizierungssystems mit der neu entwickelten OIDC-Schnittstelle. Im Rahmen dieser Ablösung wurden Teile der Multimodul-Anwendung zu Spring Boot Anwendungen migriert. Zum Aufgabenbereich gehörte außerdem die technische Beratung anderer Produkt-Teams bei Fragen zu Authentifizierung, Autorisierung im speziellen und Sicherheit für Webanwendungen im Allgemeinen.

Aufgaben:

  • Anforderungsanalyse
  • System-Architektur
  • Konzeption der Implementierung der einzelnen Bausteine
  • Backend-Entwicklung OAuth2
  • Backend-Entwicklung OIDC
  • Qualitätssicherung und Test
  • Code Review
  • Durchführung von Clean Code Workshops
  • Technische Beratung

Technologien:

  • Java
  • Spring Boot
  • Spring MVC
  • Spring Data
  • Spring Security
  • OAuth2
  • OIDC
  • Vue.js
  • Oracle X11
  • Upsource Code Review
Dec 2019 - Dec 2021
2 years 1 month

Software Engineer

Automotive

Neuimplementierung eines Kran-Konfigurators

Der Auftraggeber wollte, basierend auf den Wünschen seiner Kunden, einen Konfigurator, mit dessen Hilfe anhand unterschiedlicher Parameter geeignete Kräne für die Bewerkstelligung unterschiedlicher Hebeaufgaben angezeigt werden. Dazu sollen Anwender drei physikalisch relevante Parameter eingeben und eine Liste von geeigneten Kränen angezeigt bekommen. Außerdem sollte es die Möglichkeit geben auf der Ergebnisseite der Kräne einzelne Parameter nachzuschärfen. Das Tool soll als Entscheidungshilfe bei der Anschaffung eines Krans dienen.

Aufgaben:

  • Anforderungsanalyse
  • UI-Architektur
  • Konzeption der Implementierung der einzelnen Bausteine
  • Entwicklung von UI-Komponenten mit Angular
  • UI/UX Beratung
  • Technische Beratung

Technologien:

  • Angular
  • Jira
Dec 2019 - Dec 2021
2 years 1 month

Software Engineer

Automotive

Neuimplementierung einer Netzwerkadministrations- und Dokumentationssoftware mit Angular

Ein bestehendes Tool für die unternehmensweite Administration und Dokumentation des Firmennetzwerkes sollte auf Grund gewünschter Verbesserungen hinsichtlich Usability und Wartbarkeit neu implementiert werden. Meine Aufgabe bestand in der Neuentwicklung der Andwendungsoberflächen mit dem Frontend-Framework Angular. Dafür wurden, gemeinsam mit dem Kunden, Mockups für die einzelnen Teile der Anwendung erstellt und diese dann im Rahmen von wöchentlichen Sprints umgesetzt. Des weiteren bestand meine Aufgabe in der Beratung des Kunden hinsichtlich Aspekte der User Experience und Usability.

Aufgaben:

  • Anforderungsanalyse
  • UI-Architektur
  • Konzeption der Implementierung der einzelnen Bausteine
  • Entwicklung von UI-Komponenten mit Angular
  • UI/UX Beratung
  • Technische Beratung

Technologien:

  • Angular
  • Jira
Apr 2017 - Dec 2020
2 years 9 months

Software Architect

Public Sector/Kommunal

Implementierung eines Geo-Portal-Systems zur Darstellung unterschiedlichen fachlichen Kartenmaterials und dessen Verwaltung

Dieses Projekt hat zum Ziel, ein Geo-Portal für die Bürger der Stadt München und des Umlands zur Verfügung zu stellen. Die Bürger sollen mit verschiedenen Karten unterschiedliche fachliche Sichten auf Geodaten des Großraumes München erhalten. Bürger sollen außerdem über ein Benutzerkonto eine Möglichkeit bekommen, einerseits Ergebnisse aus Geocaching Aktionen beizutragen aber andererseits auch beispielsweise Rückmeldung über Schlaglöcher oder nicht funktionierende Straßenlaternen zu geben. Außerdem sollen verschiedene Daten als Dienstleistung über kostenpflichtige Zugänge zur Verfügung gestellt werden.

Um diese unterschiedlichen Karten-Portale zu erstellen und zu konfigurieren, war die Konzeption und Implementierung einer entsprechenden Administrations-Anwendung ebenfalls Teil dieses Projekts. Das System verfügt über mehrere, unabhängige fachliche Umgebungen, durch die eine Karte zur Qualitätssicherung aus unterschiedlichen fachlichen und technischen Gesichtspunkten gebracht werden muss.

Aufgaben:

  • Anforderungsanalyse System-Architektur
  • IT-Architektur der einzelnen Anwendungen
  • Web-Frontend-Entwicklung mit Angular, Typescript und PrimeNG
  • Backend-Entwicklung
  • Qualitätssicherung und Test
  • Continuous Integration (CI) und DeploymentProzess (GIT, Maven, Jenkins, Docker)
  • Abstimmung mit allen beteiligten Projektpartnern
  • Erstellung diverser technischer Dokumentationen und Konzepte

Technologien:

  • Java
  • Typescript
  • Spring Boot
  • Spring MVC
  • Spring Data
  • Spring Cloud
  • Spring Security
  • Angular
  • Openlayers
  • BackboneJS
  • RequireJS
  • GeoServer
  • GeoNetwork
  • LDAP
  • FME-Server
  • PostgreSQL
  • PostGIS
  • Bamboo
  • Jira
Apr 2017 - Dec 2017
9 months

Software Engineer

Medien

Medienverwaltungssoftware für > 300.000 Mediendateien

Für ein großes deutsches Lizenzhandels- und Medienbeteiligungsunternehmen wurde eine Ablösung der Dateiverwaltung implementiert. Dieses Unternehmen, mit seinen rund 330.000 Mediendaten Besitzer einer der größten Filmbibliotheken Europas, hat seine Mediendaten in der Vergangenheit mittels Fileserver und einer Netzwerkfreigabe in dem Windows-Explorer verwaltet. Die Dateien sind dabei in einer bestimmten Verzeichnishierarchie angeordnet. Jede Ebene dieser Hierarchie entspricht ein Attribut dieser Datei.

Aufgrund der sehr großen Menge an Daten ist eine effiziente Suche nach bestimmten Dateien so gut wie unmöglich gewesen. Außerdem war es sehr leicht möglich versehentlich Dateien bzw. ganze Teilbäume zu verschieben, zu löschen oder sonst zu verändern. Des weiteren sollte, dass ein grundlegendes Rechte und Rollen Konzept entwickelt und implementiert werden, um verschiedenen Nutzergruppen verschiedene Sichten und Interaktionsmöglichkeiten mit den Dateien zu ermöglichen. Außerdem sollten die unterschiedlichen Interaktionen mit den Dateien, also wurde eine Datei gelöscht, hochgeladen, umbenannt etc., von dem System protokolliert werden, um eine Nachvollziehbarkeit zu ermöglichen. Weiterhin sollten neu angelegte Dateien in regelmäßigen Abständen einem bereits vorhandenen Medienserver zur Verfügung gestellt werden, der seinerseits die Verantwortung hat, die unterschiedlichen Mediendateien Kunden des Unternehmens zugänglich zu machen.

Aufgaben:

  • Anforderungsanalyse
  • System-Architektur
  • IT-Architektur der einzelnen Anwendungen
  • Web-Frontend-Entwicklung mit Angular, Typescript Backend-Entwicklung
  • Qualitätssicherung und Test
  • Continuous Integration (CI) und Deployment Prozess (GIT, Maven, Jenkins, Docker)
  • Abstimmung mit weiteren technischen Dienstleistern

Technologien:

  • Java
  • Typescript
  • Spring Boot
  • Spring MVC
  • Spring Data
  • Spring Security
  • Angular
  • LDAP
  • MySQL
  • Jenkins
  • Jira
Jan 2016 - Apr 2017
4 months

Software Engineer

Spedition

Relaunch eines Administrations Tools für eine Lieferdatentransformationssoftware und -server für Speditionen

Aufgaben:

  • Anforderungsanalyse
  • IT-Architektur
  • Konzeption für Anbindung der Alt-Anwendung
  • Web-Frontend-Entwicklung Vaadin 8
  • Adaptierung der Alt-Anwendung
  • Qualitätssicherung und Test

Technologien:

  • Java / JEE
  • Vaadin 8
  • Kanban
Jul 2016 - Jan 2017
7 months

Test Manager

Automotive

Test-Management & Testautomatisierung für Internet-Portale

In diesem Projekt hat Benedikt einen internationalen Mietwagen Anbieter im Test-Management unterstützt. Neben der Implementierung und der Pflege von Test war es zentrale Aufgabe die zweiwöchentlichen Releases der kompletten Software-Landschaft zu begleiten. Dazu wurde vor einem anstehenden Release sämtliche Anwendungsfälle in allen Portale des Kunden mit Hilfe von automatisierten Tests durchgeführt. Das anschließende Ergebnis musste dann analysiert und mögliche Fehlschläge der Tests nachverfolgt werden. Fehlschläge von Tests, die auf Fehler in der Software zurückzuführen waren mussten im Anschluss an die entsprechende Fachabteilung kommuniziert und deren Behebung koordiniert werden. Des weiteren war Benedikt Teil des Release-Management Teams, dass sowohl das endgültige OK für das Ausrollen eines Releases als auch das Release technisch begleitet hat.

Aufgaben:

  • Konzeption und Implementierung von automatisierten Tests
  • Konzeption und Implementierung einer komplexen Testumgebung, in der die Live-Systeme des Konzerns nachgebildet und mit Testdaten befüllt werden können.
  • Virtualisierung auf Basis von Docker.
  • Durchführung und Auswertung von Tests
  • Koordinierung Bugfixing

Technologien:

  • Java
  • PHP
  • JavaScript
  • Selenium
  • Maven
Oct 2015 - Feb 2016
5 months

Software Architect

Automotive

Cloud-Plattform für die Konfiguration, Überwachung und Steuerung von Fahrzeug-Flotten

Konzeption und Realisierung einer Cloud-Plattform zur Erfassung und Auswertung von Messdaten von Fahrzeugen (Zügen), sowie die darauf basierende Überwachung und Steuerung von Fahrzeugen und Fahrzeug-Flotten. Mittels Sensoren werden Messdaten auf Fahrzeugen erfasst und über einen CAN-Bus an eine Onboard-Unit übermittelt. Messdaten sind beispielsweise Positionsdaten, Tempertaturwerte, Verschleißdaten von verbauten Komponenten, uvm.

Die Daten werden von der Onboard-Unit dann über unsichere Verbindungen (Mobilfunk) an eine zentrale Cloud-Applikationen im Rechenzentrum übertragen. Dort werden die Daten analysiert, aufbereitet und fachliche Services- z.B. Monitoring - in Form von browserbasierten Web-Anwendungen für Flotten-Verwalter (Mandanten) angeboten. Beispielsweise können anhand von Mustern in Verschleißdaten frühzeitig Wartungsintervalle für Fahrzeugkomponenten errechnet und geplant werden. Auf diese Art und Weise können Fahrzeugausfälle vermieden und Wartungs- / Instandsetzungskosten minimiert werden.

Aufgaben:

  • System-Architektur und Software-Architektur
  • Technisches Design inkl. Datenmodell
  • Softwareentwicklung JEE-Web-Applikation
  • Softwareentwicklung von OSGi-Bundles
  • Continuous Integration (CI) und Deployment
  • Prozess Qualitätssicherung und Test
  • Durchführung von Management-Demos

Technologien:

  • Java /JEE
  • Vaadin
  • Webservices
  • JMS
  • SQL
  • OSGi
  • Apache Karaf
  • Apache Aries
  • JUnit
  • Docker
Apr 2014 - Sep 2015
1 year 6 months

Software Engineer

Finance

Konzeption und Entwicklung eines Portals / Corporate Website mit Liferay Portal

In diesem Projekt wurde für die Neuausrichtung eines Fintechs mit Liferay eine Webanwendung erstellt, die neben üblichen Webinhalten auch das Intranet der Firma war. Nach Anmeldung konnten Mitarbeiter unterschiedlicher Abteilungen des Unternehmens unterschiedliche Prozessschritte zur Anbindung von E-Commerce-Betreibern ausführen. Außerdem hatten angebundene Händler die Möglichkeit nach Anmeldung speziell auf sie zugeschnittene Inhalte und Anwendungen zu verwenden. Außerdem wurden Funktionen realisert mit deren Hilfe administrative Tätigkeiten an der Webseite erledigt werden konnten.

Aufgaben:

  • Implementierung von komplexen spezifischen Widgets deren Inhalt mit Liferay CMS Funktionen bearbeitet und verwaltet werden kann
  • Portlet-Entwicklung Frontend
  • Kundenregistrierung und Kundenlogin mit Authentifizierungsprozess über Token
  • Mehrsprachigkeit
  • Spezifische Konfigurationsmöglichkeiten nach Admin-Anmeldung für Portlets für Sprachwahl und Verwaltung von E-Mail-Empfängern für Formularinhalte
  • Erstellung diverser fachlicher Portlets für Händler

Technologien:

  • Java EE
  • Portlet 2.0
  • JSF / PrimeFaces
  • CDI
  • Webservices
  • HTML
  • Velocity
  • JavaScript
  • Liferay Portal
Apr 2014 - Sep 2015
1 year 6 months

Software Engineer

Finance

Payment-Service-Provider Plattform: Saiku Business Intelligence Software

Dieses Projekt sollte eine Möglichkeit schaffen der Geschäftsführung eines Bezahldienstleisters strategische Entscheidung basierend auf der Art und Anzahl verschiedener Bezahltransaktionen treffen zu können. Es sollte eine Möglichkeit geschaffen werden schnell und effizient große Datenmengen (zum Start des Projekts waren es ca. 32 Millionen Datensätze) analysierbar zu machen. Dazu wurden die vorhandenen Transaktionen nach gängigen Gruppierungen wie z.B. bestimmte Währungen, Zahlarten und Zeiträume zusammengefasst und in regelmäßigen Abständen von einer relationalen Datenhaltung in eine NoSQL Umgebung extrahiert. Diese aggregierten Daten wurden dann mit Hilfe einer Star-Schema Implementierung über Saiku BI auswertbar gemacht. Außerdem musste Saiku BI in die bestehende Anwendungslandschaft integriert werden.

Aufgaben:

  • Integration von Saiku BI in eine bestehende Portal-Landschaft
  • Erweiterung von Saiku um LDAP-Authentifizierung über bestehendes LDAP zu realisieren
  • Entwicklung von Star-Schema für BI Auswertung von Transaktionsdaten
  • Überführung von Transaktionsdaten in Star-Schema für Abfrage durch Saiku BI
  • Erweiterung von Saiku um Single-Sign-On über Liferay Portal zu ermöglichen
  • Konfiguration der händlerspezifischen Bezahlkanals Darstellung der Transaktionsdaten und Umsätze per gewählter Zahlart

Technologien:

  • Spring
  • Java EE
  • OSGi
  • JPA
  • GlassFish / Payara
  • CDI
  • Webservices
  • LDAP
  • Liferay Portal
Apr 2014 - Sep 2015
1 year 6 months

Software Engineer

Finance

Payment-Service-Provider Plattform: Payment Connector

Um Bezahlvorgänge von E-Commerce Kunden verarbeiten zu können wurden in diesem Projekt verschiedene nachgelagerte Bezahldienstleister angebunden. Des weiteren wurden diverse Schnittstellen implementiert, um vollständige Zahlvorgänge von Endkunden abwickeln zu können. Ein weiterer Teil dieses Projektes war die Implementierung verschiedener kaufmännischer Prozesse wie die Erfassung von elektronischen Buchungssätzen aus CSV-Dateien und deren Abgleich mit den bestehenden Bezahltransaktionen. Außerdem wurden sogenannte "Payment Pages" und deren Anbindung an das Payment-Backend entwickelt über die Endkunden einen Bezahlvorgang auslösen können.

Aufgaben:

  • Connector um Transkationen über verschiedene Bezahldienstleister abwickeln zu können (PPro, Abilipay, Novalnet)
  • Erstellung von JSON-Model
  • Absenden von Transaktionen an REST-Schnittstelle des Dienstleisters
  • Implementierung von Schnittstelle für Instant Payment Notification des Dienstleisters
  • Erstellung von Transaktion im Transaktions Backend
  • Erfassung von Statusveränderungen in Transaktion
  • Rückabwicklung von Transaktion
  • Erfassung von elektronischen Buchungssätzen aus CSV Dateien
  • Schnittstelle für Erfassung von Bestellungen von Webshops
  • Anbindung von Händlerbackend an Payment Backend
  • Payment Pages für Erfassung von Bezahlvorgängen von Endkunden

Technologien:

  • Java EE
  • OSGi
  • GlassFish/Payara
  • JAXB
  • Jersey 2/Jackson
  • JAX-RS
  • CDI
Apr 2014 - Sep 2015
1 year 6 months

Software Engineer

Finance

Payment-Service-Provider Plattform: Händler-Backend

Um es E-Commerce Händlern zu ermöglichen getätigte Zahltransaktionen zu administrieren wurde im Rahmen dieses Projekts ein Hänndler-Backend implementiert. Die Anwendung ermöglichte es den Händlern den Status von Transaktionen hinsichtlich Status und Eingang zu prüfen. Außerdem konnten die Händler Auszahlungen veranlassen und allgemeine administrative Tätigkeiten rund um ihr Kundenkonto ausführen.

Aufgaben:

  • Konfigurationsmöglichkeiten des Kundenkontos für Händler
  • Abfrage aktueller Umsätze und Transaktionen
  • Download von Rechnungen und Auszahlungsreports
  • Konfiguration der händlerspezifischen Bezahlkanäle
  • Darstellung der Transaktionsdaten und Umsätze per gewählter Zahlart

Technologien:

  • Java EE
  • Portlet 2.0
  • JSF / PrimeFaces
  • CDI
  • Webservices
  • HTML
  • Velocity
  • JavaScript
  • Liferay Portal
Nov 2011 - Mar 2014
2 years 5 months

Software Engineer

Industrie 4.0

Software für ERP / CRM / Maschinendatenerfassung von produzierenden Betrieben des Mittelstandes

Die im Rahmen dieses Projektes weiter entwickelte s4p Suite ist ein Produktionsplaungnssoftware für kleine und Mittelständische Betriebe. Neben der Produktionsplanung konnte mit der Software auch unterschiedliche Kennzahlen wie z.B. aktuelle produzierte Stückzahlen, Auslastung oder auch Betriebsdauer aus den produzierenden Maschinen ausgelesen werden.

Ein weiteres Feature des Software-Produktes ist eine CRM sowie eine ERP-Funktion. Dieses Projekt umfasst die Implementierung diverser Konnektoren zu Drittsystemen wie Microsoft Exchange Server oder Kundendatenbanken. Des weiteren wurde an der Oberfläche der Software gearbeitet, um die Usability zu verbessern. Für eine Hausmesse wurden Teile der s4p Suite auf Android portiert.

Aufgaben:

  • Definition von Layouts mit XML
  • Darstellung mit Java Swing unter Verwendung von JAXB und eines eigens entwickelten Parsers
  • JFreeChart für Darstellung der Ergebnisse von Maschinendatenauswertungen
  • Darstellung von verschiedenen Personalgruppen
  • Anlage von Personal
  • Weiterentwicklung der Arbeitsgangfunktionen
  • Entwicklung einer Android App für Maschinendatenerfassung
  • Auftragsverwaltung und Auftragsbearbeitung
  • Abfrage von aktuell produzierten Stückzahlen Abfrage von Fehlermeldungen
  • Starten und Stoppen von Aufträgen und Arbeitsgängen
  • Anzeige aller Aufträge und per Maschine
  • Connector zwischen Maschinendatenerfassung und s4p-Suite

Technologien:

  • Java / J2EE
  • Android SDK
  • XML
  • JAX-WS
  • JPA
  • EJB
  • JBoss
  • Java EWS API

Summary

Benedikt ist bei Nimevio der Spezialist für Fullstack-Software-Entwicklung und hat dabei stets die User Experience der Software im Blick. Des Weiteren ist er Experte für mehrschichtige und verteilte Software-Architekturen und Software-Systeme. Benedikt hat mehr als 10 Jahre Erfahrung in verschiedenen Bereichen und Branchen unter anderem Automobil, das produzierende Gewerbe, Fintech, dem Transportsektor und öffentliche Auftraggeber.

Languages

German
Native
English
Advanced

Certifications & licenses

Oracle Certified Developer

Oracle

Oracle Certified Java SE Developer

Oracle

Pivotal Certified Spring Professional

Pivotal

Pivotal Certified Web Application Developer

Pivotal

iSQAB Certified Professional for Software Architecture

International Software Quality Institute