06.10.2025 aktualisiert

**** ******** ****
Premiumkunde
100 % verfügbar

Senior Java Developer Backend

Rottweil, Deutschland
Deutschland +1
info: Deutschland, Norwegen
computer science (Dimplom in Informatik)
Rottweil, Deutschland
Deutschland +1
info: Deutschland, Norwegen
computer science (Dimplom in Informatik)

Skills

JavaAmazon Web ServicesAnwendungsserverC#Cloud ComputingKryptographieIBM DB2EclipseEnterprise JavabeansJ2EEIBM Websphere Application ServerIdentitätsmanagementJava API For Restful Web ServicesApache MavenBediensytemRSA (Cryptosystem)Web ServicesExtensible Markup LanguageXLSTOpenapiGitlab-CiKubernetesDockerJenkinsGolangMicroservices
Java, Spring Framework, JEE/JakarteEE, Cloud-Native, Go-Lang, Docker, ArgoCD, Kubernetes, Helm, Github, Gitlab-CI, Jenkins, Kafka, IAM (identity and access management), Maven, IBM, Cloud, AWS, Microservices, REST, IBM WebSphere, Eclipse MicroProfile, Kryptographie, RSA, OpenApi, Swagger, JAX-RS (RSET Interface), XSLT, EJB, Message Queues

Erfahrung

Berufserfahrungmehr als 10 Jahre
Freelancer seit2013

Sprachen

DeutschMutterspracheEnglischgutNorwegischGrundkenntnisse

Projekthistorie

Kafka as a Service for Cloud-Provider

Telekommunikation

500-1000 Mitarbeiter

Projektbeschreibung:
Im Projekt wurde eine Kafka-as-a-Service-Lösung für die Endkunden eines deutschen Cloud-Providers in das bestehende Cloud-Portfolio integriert. Ziel war die Bereitstellung einer skalierbaren und hochverfügbaren Kafka-Umgebung innerhalb von Kubernetes-Clustern. Endkunden können per Klick eine eigene Kafka-Instanz in ihre Cloud integrieren und eigenständig Topics sowie Nutzer konfigurieren. Dazu wurden verschiedene Go-basierte Services und Operatoren entwickelt, die über eine REST-API verwaltet werden. Für die Kafka-Administration kommt der Strimzi-Operator zum Einsatz.

Rolle:
In meiner Funktion als Senior Developer bin ich maßgeblich an der Entwicklung und Implementierung der Kafka-as-a-Service-Lösung beteiligt. Hierbei lag mein Fokus auf der Entwicklung der REST-API zur Verwaltung und Überwachung der Kafka-Services sowie der Implementierung von Kubernetes-Operatoren, die mithilfe von Custom Resource Definitions (CRDs) und dem Kubernetes Resource Model (KRM) die Automatisierung von Kafka-Deployments und -Upgrades ermöglichen. Zudem arbeitete ich intensiv am Design der Control Plane und Data Plane, um eine optimale Integration und Skalierbarkeit der cloud-native Lösung zu gewährleisten.
Ein weiterer Schwerpunkt meiner Arbeit war die Erstellung und Pflege von Helm-Charts, um die Bereitstellung der Kafka-Infrastruktur zu vereinfachen, sowie die Einrichtung und kontinuierliche Optimierung von GitHub Actions zur Automatisierung der CI/CD-Pipelines. Besonderen Wert legte ich auf die Sicherheit des gesamten Systems, indem ich bewährte Sicherheitspraktiken im API-Design und in der Entwicklung der Operatoren implementierte.
Darüber hinaus ermöglichte ich Endkunden die einfache Integration ihrer eigenen Kafka-Instanz in die Cloud, inklusive der Konfiguration von Topics und Nutzern. Durch enge Zusammenarbeit mit cross-funktionalen Teams trug ich zur erfolgreichen Integration und Optimierung der Kafka-Lösung im gesamten Cloud-Ökosystem bei.

Java Developer / Energiesektor

Energie, Wasser und Umwelt

1000-5000 Mitarbeiter

Entwicklung Accounting Module für Energiemessung.

Im Scrum Team werden neue Microservices für ein bestehndes Accounting System entwickelt.
Abstimmung mit dem Product Owner, Entwicklung und Imlementierung einer Lösung basierend auf
  • Microservices (Spring Boot)
  • Azure Cloud
  • REST APIs (extern und intern)
  • Oracle DB
  • IAM

Software Developer Backend / TSMS IAM Integration

Telekom

Internet und Informationstechnologie

>10.000 Mitarbeiter

Projektbeschreibung:
Der Kunde entwickelt für ein deutsches Bundesministerium eine webbasierte Anwendung namens "TSMS" (Trusted Service Management System). TSMS dient als Plattform für Smartphone-Hersteller und Mobilfunkdienstanbieter, um die Verwaltung von hardwarebasierten Sicherheitskomponenten, wie Secure Elements, auf Mobilgeräten plattformübergreifend zu ermöglichen. Dies soll die nahtlose Integration von Sicherheitsfunktionen wie dem digitalen Personalausweis in mobilen Endgeräten ermöglichen. Ziel des Projektes war es, einen IAM-Provider zu evaluieren, das Rollen und Rechte-System darauf abzubilden und im Frontend mit 2 Faktor Authentifizierung zu integrieren.

Rolle:
Herr Banholzer entwickelte die Spezifikation für die kundenspezifische REST-API für das User & Access Management auf Basis der OpenAPI Spezifikation Version 3 (Swagger). Dies wurde regelmäßig mit dem Projet-Owner und den Frontend-Entwicklern abgestimmt.

Der dadurch entstehende REST-Service, sollte durch austauschbare Adapter für die Anbindung unterschiedlicher Identity & Access Management (IAM) Provider konzipiert werden. Konkret entwickelte Banholzer dazu zwei IAM-Adapter: Für die Anbindung an Auth0 von Okta und ICU, eine Plattform des Kunden zur Verwaltung von Benutzerkonten von Geschäftskunden (basierend auf Key-Cloak). Des weiteren implementierte er die REST-API und das Domain-Model mit internen Schnittstellen für die Berechtigung. Eine Herausforderung war die Integration beider IAM-Provider, da sich die OAuth2 Integration der IAM-Provider im Detail dann doch erheblich unterscheidet. Die Applikation wurde nach den Herangehensweisen des "Domain-Driven-Design" entwickelt.

Für den Test der gesamten TSMS-Anwendung mit weiteren REST-APIs entwarf und implementierte er eine Java-basierte, generative REST-API-Testsuite, die auf OpenAPI Generator-Tools und RestAssured für die Validierung von Nachrichteninhalten basiert.

Das Projekt bot Herr Banholzer auch die Möglichkeit, seine bereits profunden Kenntnisse und Fähigkeiten in den folgenden Bereichen weiter auszubauen: Entwicklung von Microservices in Go & Java, Gitlab CI/CD, Docker, Domain Driven Design, Beherrschung von API-Spezifikationen mit OpenAPI V3, Scripting mit Postman, IAM-Konzepte & -Technologie einschließlich Auth0 von Okta, IETF-System for Cross-domain Identity Management 2.0 (RFC-7643 & RFC-7644).

Skills: Java, Golang, Identity & Access Management (IAM), REST API, JSON, GitLab CI/CD, Apache Maven, Postman, Swagger, OpenAPI, JSON Web Token (JWT), OAuth2, IntelliJ IDEA, JUnit, Domenedrevet design (DDD), Bash, Scripting, REST Assured Framework, AWS, Linux

Senior Entwickler / Tech Lead - Diagnose Data Analyse, Datamodel refactoring

Süddeutscher Automobil Konzern

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Projektbeschreibung:
Der Kunde produziert Fahrzeuge in verschiedenen Modellreihen mit maßgeschneiderter Ausstattung. Unabhängig von der Fahrzeugart verfügen alle Fahrzeuge über eine eigene Schnittstelle für die Diagnose Daten Aufbereitung (DDA) im Backend. Die DDA empfängt verschiedene Rohdaten von den Fahrzeugen und bereitet sie in einem standardisierten Format, für andere Anwendungen auf. Aufgrund der Vielzahl unterschiedlicher Fahrzeugtypen wurden viele verschiedene Datenformate entwickelt, die täglich von den Fahrzeugen analysiert werden.

Eine der wichtigsten Aufgaben der DDA-Architektur ist die Erweiterungsmöglichkeit im Hinblick auf neue Fahrzeugtypen, die sich in der Entwicklung befinden. Der Kunde liefert deshalb in regelmäßigen Intervallen neue Daten über alle Fahrzeugtypen. Nur mithilfe dieser modellspezifischen Stammdaten ist es möglich, Rohdaten zu interpretieren und zu analysieren. Das Ziel des Projekts war es, die Komplexität und Abhängigkeiten innerhalb der gelieferten Stammdaten zu reduzieren und einen kürzeren "Release-Zyklus" mit Unterstützung durch CI/CD zu implementieren.

Rolle:
Als Architekt in dem Projekt spielte Herr Banholzer eine zentrale Rolle als Ansprechpartner für Code und Architektur. Er arbeitete an der Weiterentwicklung und Wartung des nahezu gesamten DDA-Systems. Eines von Banholzers' Zielen war es, die vorhandenen Datenmodelle für Stammdaten und REST-API zu analysieren, um die Komplexität zu verringern. Dazu wurde die CICD-Pipeline erweitert, um eine vorgelagerte automatisierte Optimierung außerhalb der Applikation zu ermöglichen. Auch Anpassungen der Docker-Container wurden durchgeführt, um das angepasste Datenmodell in die Applikationen zu integrieren. Letztlich war der Kunde sehr zufrieden da die Perfomance erhöht und die Komplexität verringert wurde

Neben seiner Arbeit an der Architektur hat Herr Banholzer auch als Entwickler (Java und Go-lang) gearbeitet. Er hat hauptsächlich den zentralen Service auf Basis des MicroProfile-Stacks OpenLiberty entwickelt. Er passte das Modell auch für weitere Microservices an, die über gRPC kommunizieren. Er koordinierte den Übergang zum neuen Datenmodell für alle Microservices in DDA.
Die geänderten Datenmodelle für das REST-API wurden auch in Swagger/JSON verfasst. Die Objektmodelle für Go-lang und Java wurden basierend auf den Swagger-Modellen generiert. Matthias Banholzer entwickelte eine neue CICD-Pipeline für die Datenmodule. Teile der Pipeline wurden sowohl in GitlabCI als auch in Apache Maven entwickelt.


Skills: Java EE, Apache Maven, Spring Boot, Golang, JSON, JSON Web Token (JWT), XML/XSLT, OpenAPI, Postman, REST API, RESTful Web Services, Linux, Java, DevOps, Kubernetes, Docker, AWS, G-Cloud, IBM-Cloud, GitLab CI/CD, IntelliJ IDEA, Serverless Architektur, JUnit, gRPC

Senior Entwickler / Tech Lead - Devops, Microservices CICD by helm

Süddeutscher Automobil Konzern

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Projektbeschreibung:
Die Diagnose-Daten-Analyse (DDA) analysiert Daten vom Fahrzeug. Hierfür werden Daten vom Fahrzeug an die Backend-Systeme des Herstellers gesendet. Die Daten aller verschiedenen Fahrzeugtypen werden von diesem System in ein einheitliches Format transformiert. Die Service-Landschaft für die diagnostische Datenverarbeitung besteht mehreren verschiedenen Microservices. Die Services kommunizieren über REST-API und GRPC. Die CICD-Pipeline soll die Applikationen im Kubernetes Cluster zukünftig über den Kubernetes-Paketmanager „helm“ ausrollen. Dadurch kann man die Deployments im Kubernetes-Cluster einfacher verwalten und versionieren. Dadurch ist es möglich ein komplexes Deployment sehr einfach zurückzurollen. Im Laufe dieses Projekts sollen alle Microservices des DDA-Systems über in „helm“ integriert werden. Dadurch ist ein Wechsel des Kubernetes Cluster deutlich einfacher.


Rolle:
Herr Banholzer arbeitete eng mit dem Ops-Team zusammen, um "Helm-Charts" zu entwickeln, die als Grundlage für alle Microservices erweiterbar sind. Eine Herausforderung bestand darin, die teilweise sehr großen Konfigurationsdaten in den Containern zu integrieren. Über Helm versioniert er auch die Konfiguration der Testdaten eines Deployments. Dies hat sich als sehr hilfreich für automatisierte Tests und bei der kontinuierlichen Integration erwiesen.

Die Integration der Konfigurationsdaten für "Helm" wurde von Matthias Banholzer in den Java-Anwendungen mithilfe des "Eclipse MicroProfile Config"-Frameworks entwickelt. Damit konnte der Java-Code effizient und einfach angepasst werden. Anpassungen im REST-API für Anwendungsmetriken waren ebenfalls Teil von Banholzers Aufgaben. Dank der erfolgreichen Migration zu "Helm-Chart" kann die gesamte Versionshistorie im Kubernetes-Cluster direkt verfolgt werden. Dies ermöglicht beispielsweise das Rollback von komplexen Kubernetes-Anwendungen. Der Kunde schätzte die neuen Möglichkeiten für das kontinuierliche Deployments (CICD) wie das einfache Wechseln des Cloud Providers von beispielsweise IBM-Cloud zu AWS.


Skills: Java, IntelliJ IDEA, Kubernetes, Docker, XML/XSLT, XML Schema Definition (XSD), Golang, GitLab CI/CD, Git, Apache Maven, Postman, REST API, OpenAPI, Serverless arkitektur, JUnit, Atlassian Jira, Atlassian Confluence, Jenkins

Senior Entwickler / Tech Lead / DDA ELK Monitoring

Automobil

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Vehicle Crypto Service: Neu-Implementierung einer sicherheitsrelevanten
Fahrzeug-Entschlüsselung in Go-lang, Container based, Integration in die bestehende Diagnosedaten Aufbereitung.
Technologien:
ocker, Golang, Java, Kryptographie (RSA, AES. DES), OpenApi

Senior Entwickler / Tech Leadn - DDA VIN Analyzer

Süddeutscher Automobil Konzern

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Projektbeschreibung:
Der Kunde wünscht sich ein neuen Microservice, um die Aufbereitung der Diagnosedaten eines Fahrzeuges zu verbessern. Deiser soll die VIN (Vehicle Identity Number) analysieren und dadurch modle spezifische Informationen bereitstellen. Der neue Microservice ergänzt die bereits bestehenden DDA-Services. Es soll dazu ein REST-API entstehen über welche die VIN spezifische Daten abgefragt werden können.

Rolle:
Matthias Banholzer entwickelte die Softwarearchitektur und die Analyse Logik. Die Logik entwickelte er in einem Springboot Container. Seine Programmierkenntnisse in Java trugen wesentlich zur Umsetzung der Anforderungen bei. Eine Herausforderung bestand darin, Daten effiziente zwischen Datenbank und Applikation auszutauschen. Matthias nutzte sein Wissen über JEE, um eine intelligente Caching-Strategie zu entwickeln. Diese Strategie ermöglichte es, die geforderten Abfragezeiten einzuhalten und gleichzeitig die Belastung der Datenbank zu gering zu halten.

Matthias brachte nicht nur umfangreiche Java-Kenntnisse mit, sondern integrierte auch seine Fähigkeiten in Golang, um die Performance und Skalierbarkeit der Lösung zu verbessern. Seine Erfahrung mit Apache Tomcat als Servlet-Container trug dazu bei, die zuverlässige Ausführung von Java-Servlets sicherzustellen. Um die Anforderungen an die Datenverarbeitung zu erfüllen, nutzte Matthias seine Kenntnisse in XML/XSLT und JSON. Die effiziente Verarbeitung dieser Datenformate war entscheidend für den Erfolg des Projekts.

Skills: Java EE, Springboot, XML/XSLT, k6, JSON, Java Servlets, Apache Tomcat

Architektur und Entwicklung FES Vehicle Decryption Service

Süddeutscher Automobil Konzern

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Projektbeschreibung:
Die Diagnosedaten eines Fahrzeuges gelten teilweise als personenbezogenen Daten. Zum Schutz dieser Daten werden diese schon im Steuergerät verschlüsselt, bevor sie auf das CAN-BUS-System des Fahrzeugs gelangen.  Diese sollen erst im Backend des Herstellers wieder entschlüsselt werden. Dazu soll im Backend ein neuer Entschlüsselung Service (FES) entwickelt werden. Dieser besteht auch aus einer Angular Applikation für das Schlüsselmanagement. Das Schlüsselmanagement stellt dann die Keys für den FES (Entschlüsselungs-Service) bereit. Ziel war es die Gesamte FES-Applikation in die Diagnosedaten Aufbereitung zu integrieren.

Rolle:
Zusammen mit dem Projekt-Owner definierte Matthias Banholzer präzise Anforderungen und entwarf daraufhin eine umfassende Architektur, die ein Angular-Frontend, einen Key-Storage (springboot) und einen Decryption-Service (go-lang) umfasste. Der Decryption-Service war ursprünglich in Java implementiert. Um die Leistung zu steigern, entwickelte Matthias ein Prototyp in go-lang, der die Anzahl der entschlüsselten Anfragen pro Minute verdoppelte. Das Projekt wurde erfolgreich umgesetzt und nahtlos in die Produktionsumgebung integriert.
 

Skills: Java, Golang, RSA, Cryptography, Spring Boot, XML/XSLT, GitLab, CI/CD pipelines, Jenkins, Apache Maven, Atlassian Jira, Atlassian Confluence, Kubernetes, Docker, REST API, Swagger, JSON, JSON Web Token (JWT)

Senior Java Entwickler Vehicle Data Processing VDP

Süddeutscher Automobil Konzern

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Projektbeschreibung:
Wird ein Auto in eine Werkstatt zum Service gebracht, werden zunächst die Diagose-Daten ausgelesen. Diese Daten werden im Backend des Herstellers analysiert. Die Diagnose endet mit einem Diagnose-Report, welcher an die Werkstatt zurückgesendet wird. Die Aufbereitung dieser Analyse Daten wird vom Hersteller „Vehicle Data Processing“ kurz VDP genannt. Da ständig neue Fahrzeugmodelle hinzukommen, muss die „Analyse Logik“ ständig auf die neuesten Baureihen erweitert werden.

Rolle:
Matthias Banholzers Tätigkeit konzentrierte sich auf die Konzeption und Implementierung leistungsfähiger Java EE-Anwendungen. Dabei spielte die Entwicklung dynamischer Webseiten mit Java Server Pages (JSP) eine zentrale Rolle, um eine effiziente Benutzeroberfläche zu gewährleisten. Erfolgreich integrierte er IBM MQ, um einen sicheren und zuverlässigen Nachrichtentransfer zwischen verschiedenen Anwendungskomponenten sicherzustellen.

Ein bedeutender Aspekt seiner Verantwortlichkeiten umfasste die Entwicklung von SOAP Web Services, um eine effiziente Kommunikation zwischen verteilten Systemen zu ermöglichen. Matthias setzte dabei XML Schema Definition (XSD) zur Strukturierung von Daten ein und nutzte XML/XSLT zur Transformation von XML-Dokumenten. Im Bereich Datenbankzugriff verwendete er sein Know-how in JDBC, um einen effizienten Zugriff zu gewährleisten, einschließlich der Optimierung von Abfragen und der Transaktionsverarbeitung. Zusätzlich implementierte er erfolgreich Enterprise JavaBeans (EJB), um wiederverwendbare Komponenten für die Geschäftslogik zu schaffen.

Skills: Java EE, Java, JSP, IBM MQ, SOAP, XML Schema Definition (XSD), XML/XSLT, JDBC, EJB (Enterprise JavaBeans), SoapUI

Software Development Engineer (Vector Informatik)

Vector Informatik

Automobil und Fahrzeugbau

500-1000 Mitarbeiter

Product Development eASEE  (E/E Automotive  Workflow)
(Java, J2EE Tomact und Oracle DB)

Entwicklung von AUTOSAR "Process Tools CFG5" für AUTOSAR 3.X und AUTOSAR 4.X (Java, Eclipse, C#)

Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden