Innovativer Software Architect im Java- und Datenbankumfeld | Skalierbare und nachhaltige Software
Aktualisiert am 12.02.2024
Profil
Referenzen (1)
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 15.02.2024
Verfügbar zu: 100%
davon vor Ort: 70%
Java
Performance
Databases
Cloud
IT Architectures
ABACUS
Kubernetes
DevOps
Spring Boot
Oracle
GKE
Softwarearchitektur
Git
Apache Spark
REST
ClickHouse
Regulatory Reporting
Multi-Layer Software-Architecture
Database
Deutsch
Englisch

Einsatzorte

München (+100km) Berlin (+50km) Frankfurt am Main (+100km) Stuttgart (+50km)
Deutschland, Schweiz, Österreich
möglich

Projekte

1 Jahr 4 Monate
2022-01 - 2023-04

Domain Code Management & Automation (DCMA)

Architect / Area Owner Java Micro Services Json ...
Architect / Area Owner
Ziel des Projektes ist, durch einen von mir ausgearbeiteten Katalog von Verbesserungen, die Produktivität von fachlichen Entwicklern einer Meldewesenplattform signifikant zu steigern. Auf der Standardsoftware Abacus360 arbeitet ein Team von Entwicklern an der Erstellungen von fachlichen Modulen die Anforderungen verschiedener Bereiche des regulatorischen Meldewesens für Banken abbilden. Auf der vorhandenen Entwicklungsplattform verlieren Entwickler viel Zeit durch unnötige Prozessschritte, fehlende IDE Unterstützung und Integration, lange Testzyklen, komplizierte Build Prozesse, fehlende Debugfunktionalitäten, umständliche Kollaborationsunterstützung und anderer Themen. Das Projekt besteht aus einer Reihe von aufeinander aufbauenden Maßnahmen um die genannten Schwachpunkte zu beheben und den Entwicklungs- sowie Deploymentprozess optimal zu unterstützen. Basis der Optimierungen liegt in einem Refactoring der bestehenden Speicherung von fachlichen Codeartifakten. Im Rahmen des Projektes werden diese leichtgewichtig in GIT hinterlegt und direkt von der Anwendung aus GIT gelesen. Dadurch lässt sich auch weitere GIT Funktionalität und das GIT Ökosystem für die Entwicklung verwenden. 
Theia Git Abacus360 Spring Boot Abacus360 Designer
Java Micro Services Json Kubernetes Refactoring REST Compiler Parser Language Server IDE Kanban
Frankfurt am Main
3 Jahre 1 Monat
2020-04 - 2023-04

Daten Abstraktions- und Beschleunigungsschicht für komplexe Datenarchitektur im Bankenumfeld

Lead Architect / Area Owner / Developer Java GraphQL Kubernetes ...
Lead Architect / Area Owner / Developer

Entwicklung einer Datenzugriffsschicht zur Abstraktion der physischen Datenhaltung und Verbesserung der Performance und Skalierbarkeit für Batch- und Onlineoperationen. Die Lösung entkoppelt durch Einführung einer Microservice Architektur und definierten Schnittstellen (GraphQL und andere), den Zugriff der restlichen Komponenten der Anwendung auf die Business Daten. Dabei wird ClickHouse als skalierbarer Cache verwenden um außerhalb des Oraclelizenzmodells skalieren zu können. Zudem kommt ein Query Planer basierend auf Calcite zum Einsatz, um Anfragen basierend auf einem logischen Datenmodell auf die tatsächliche physikalische Datenstruktur abzubilden. Die physikalische Datenstruktur weicht dabei stark vom logischen Modell ab, um die umfangreichen Anforderungen an die Datenarchitektur umsetzen können. Darunter fällt die Anforderungen von "non-destructive" Datenoperationen sowie der effizienten Speicherung von "Varianten" großer Datensätze. 

Neben den funktionalen Anforderung diente das Projekt auch der nachhaltigen Weiterentwicklung der Software. Im Zuge dessen wurde von mir eine cloudfähige Zielarchitektur und ein Migrationspfad für die bestehende Anwendung definiert. Dies umfasste auch eine cloudbasierte DevOps Infrastruktur und Anpassungen des Technologiestacks im Sinne einer nachhaltigen Wartbarkeit.

ClickHouse Calcite Oracle Google Kubernetes Engine Google Cloud Platform Git Abacus360 Spring Boot Google Jib Kafka Prometheus Grafana
Java GraphQL Kubernetes Micro Services REST Refactoring Parquet Relational Algebra SQL SQL Query Planning Relationales Datenmodell Kanban CI/CD DevOps Cloud
Frankfurt am Main
1 Monat
2022-09 - 2022-09

Memory Leak Analyse Apache Spark Batch Verarbeitung

Software Entwickler Java Linux Memory Analyse ...
Software Entwickler
Analyse eines Memory Leaks bei der Ausführung einer komplexen und verteilten Batch Verarbeitung mittels Apache Spark. Die Herausforderung bestand darin, dass die Speicherallokation durch die Java Prozesse selber - also den Java Heap - in Ordnung schien. Nach weiterer Analyse stellte sich heraus, dass wohl auch kein Problem mit der Allokation von Off-Heap Memory in Java bestand. Im weiteren Verlauf konnte ein Problem der nativ eingebunden zlib Library Version identifiziert werden, die in der Kundenkonfiguration zum Schreiben der Parquet Files verwendet wurde. Dies war beim Test durch den Softwarehersteller nicht aufgefallen, weil dort standardmäßig nur die Snappy Kompression getestet wurde.
Apache Spark zlib VisualVM pmap
Java Linux Memory Analyse Memory Profiling
Frankfurt am Main
2 Jahre
2019-01 - 2020-12

Elastische Testsystembereitstellung über die Cloud

Architekt, Entwickler, Innovator Java Kubernetes Docker ...
Architekt, Entwickler, Innovator
Im Bereich der fachlichen Entwicklung eines Marktführers für regulatorische Meldewesen Standardsoftware, war die Bereitstellung und Pflege von Entwicklungs- und Testsystemen aufwändig und teuer. Die Systeme wurden von Administratoren auf dedizierten VMs installiert und aktualisiert. Die VMs für die entsprechenden Systeme liefen meist ununterbrochen auch wenn die Systeme nicht verwendet wurden. Vor Auslieferungen, wenn der Testaufwand am höchsten ist, konnten nicht elastisch weitere Testsysteme bereitgestellt werden. Die Teams mussten daher ihre Testaktivitäten abstimmen und teilweise kam es zu Verzögerungen und Leerlauf bei Teams und Mitarbeitern, weil das benötigte Testsystem aktuell belegt war.
Im Rahmen dieses Projekt ging es um die Grundlagen um Test- und Entwicklungssysteme on-demand und automatisiert über eine Webanwendung in der Cloud zur Verfügung zu stellen. Dabei musste die Legacy Anwendung effizient in einem Container deployt werden, inkl. der Möglichkeit von Updates zu aktuellen Versionen. Das Erstellen der notwendigen, parameterabhängigen Oracle Datenbankschemata und die Bereitstellung von Oracle Instanzen mit entsprechenden Schemata war eine der größten Herausforderungen, da das Erstellen neuer Schemata über die Anwendung ca. 1,5h dauerte. Um Systeme schneller zur Verfügung stellen zu können, werden leere Schemata erstellt und als Oracle PDBs vorgehalten. Testsysteme können so von fachlichen Entwicklern schnell selbständig angefordert und konfiguriert werden. Die Anzahl der Systeme kann bei Bedarf schnell erhöht und dann wieder gesenkt werden. Kosten in der Cloud entstehen nur so lange Systeme aktiv sind. Systeme im Idle Zustand werden automatisch (nach Zeitplan) suspended.
GKE Oracle Abacus360 Google Cloud Platform Jenkins Prometheus Grafana
Java Kubernetes Docker SQL CI/CD Git DevOps Cloud IT-Architekt ALM
Frankfurt am Main
1 Jahr 6 Monate
2018-07 - 2019-12

AnaCredit (Korrektur-)Modul

Software Architekt / Entwickler SQL SQLx Abacus360 Designer ...
Software Architekt / Entwickler
Umsetzung der Anforderungen der AnaCredit Regulierung auf der Plattform Abacus360. Die Funktionsweise des AnaCredit Moduls unterscheidet sich in einigen Punkten deutlich von anderen Modulen für das regulatorische Meldewesen (für Banken). Ein wesentlicher Unterschied liegt in der Granularität der Meldung, ein anderer in der Anforderung für historische Änderungen und Korrekturen. Die verwendete Meldewesen Plattform orientiert sich technisch stark an der sehr stichtagsbezogenen Sichtweise üblicher Regulierungen im Bereich Meldewesen. AnaCredit weicht hier allerdings deutlich von ab. Daher bestand die Herausforderung darin, die eher Zeitstrahl orientierte Datenhaltung und Datenmanipulation auf der gegebenen Plattform performant und bedienbar umzusetzen. Einige der größten deutschen Banken verwenden das besagte AnaCredit Modul erfolgreich seit mehreren Jahren.
Abacus360 Oracle
SQL SQLx Abacus360 Designer AnaCredit SDMX Regulatorisches Meldewesen Java Datenmodellierung EZB Reporting Scrum
Frankfurt am Main
1 Jahr
2017-07 - 2018-06

Apache Spark als Meldewesen Batch Prozessor (SQLx)

Software Architekt, Entwickler Java Scala Parquet ...
Software Architekt, Entwickler
Evaluierung und design eines Backends basierend auf Apache Spark zur performanten und skalierbaren Ausführung von Meldewesen Batchverarbeitungen für die Standardsoftware Abacus360. Im Rahmen der Evaluierung ging es insbesondere um die Frage der Skalierbarkeit, der Immutabilität von Spark und dem Umgang mit der Spark "Lineage", die für eine große Anzahl komplexer, aufeinander aufbauender Verarbeitungsschritte nicht geeignet ist. Am Anfang gestaltete es sich schwierig eine annehmbare Performance insbesondere für kleinere Datenbestände zu erreichen, doch später konnten wir das Problem durch die Implementierung von "Checkpoints" überwinden. Heute ist Spark als Engine für das Abacus360 Batchprozessing bei über 200 Kunden im Einsatz.
Apache Spark Oracle Abacus360
Java Scala Parquet SQL SQLx ALM
Frankfurt am Main
2 Jahre 2 Monate
2016-02 - 2018-03

Verteilte Berechnungsplattform

Software Architect, Developer, Project Lead Java Message Queuing Java EE ...
Software Architect, Developer, Project Lead
Entwicklung einer Fullstack Plattform zur Definition und Ausführung von fachlichen Datenverarbeitungen im Bankenbereich. Für diese Zecke wurde eine teilweise grafische low-code Sprache definiert, mit deren Hilfe fachliche Experten und Entwickler komplexe Verarbeitungsschritte und Ableitungen definieren können, ohne über Programmier Know-How zu verfügen. Die Plattform deckte alle Bereiche der fachlichen Entwicklung ab, inkl. Test, Auslieferung und betrieb beim Endkunden. Technisch beruht der Ansatz auf einer mehrfachen Gruppierung der Eingangsdaten und Verteilung auf mehrere Workernodes. Message Queues, Kafka und ein verteilter In-Memory Cache dienten zur Verteilung und Synchronizierung der Arbeitspakete.
WildFly Application Server Hibernate ActiveMQ HornetQ Infinispan Kafka
Java Message Queuing Java EE JPA Low Code JMS
Frankfurt am Main
1 Jahr 5 Monate
2013-08 - 2014-12

Performance- und Stabilitätsoptimierung SAP Banking Meldewesen Schnittstelle

Software Architekt, Entwickler Java SQL Regulatorisches Meldewesen
Software Architekt, Entwickler
Performance Analyse und Redesign kritischer Komponenten einer in Entwicklung befindlichen Standard Schnittstelle vom SAP Bank Analyser zur Standardsoftware für das regulatorische Meldewesen ABACUS/DaVinci. Herausforderungen lagen in den unterschiedlichen Granularitäten und historischen Abbildungen der Daten zwischen Bank Analyser und dem Zielsystem. 
Abacus DaVinci Oracle SAP BankAnalyzer Apache Tomcat
Java SQL Regulatorisches Meldewesen
Frankfurt am Main

Aus- und Weiterbildung

Informatikstudium an der Technischen Universität München mit Nebenfach Wirtschaftswissenschaften (BWL).
Abschluß als Diplominformatiker.

Kompetenzen

Top-Skills

Java Performance Databases Cloud IT Architectures ABACUS Kubernetes DevOps Spring Boot Oracle GKE Softwarearchitektur Git Apache Spark REST ClickHouse Regulatory Reporting Multi-Layer Software-Architecture Database

Schwerpunkte

Java
Experte
ClickHouse
Experte
Software Architektur
Experte
Oracle Database
Fortgeschritten
SQL
Experte
REST
Experte
Git
Fortgeschritten
Kubernetes
Experte
Docker
Experte
CI/CD
Experte
GKE
Experte
Google Cloud Platform
Fortgeschritten
PostgreSQL
Basics
Spring Boot
Experte
JEE
Experte
Abacus360
Experte
XBRL
Fortgeschritten
JSON
Experte
Performance
Experte
Bankenmeldewesen
Experte
Abacus-SQLx
Experte

Produkte / Standards / Erfahrungen / Methoden

Agile
Fortgeschritten
Scrum
Fortgeschritten
Kanban
Fortgeschritten
OOA, OOD, OOP
Experte
Software Design Patterns
Experte
Abacus360
Experte
LLM
Basics
Clean Code
Experte
Postman (REST Tool)
Experte
Quarkus
Basics
Git
Experte
Jira
Experte
JBoss Wildfly
Experte
JMS
Experte
Message Queues
Fortgeschritten
Apache POI
Fortgeschritten
Infinispan
Experte
HTML / CSS
Fortgeschritten
Kafka
Fortgeschritten
Prometheus
Experte
Grafana
Fortgeschritten
UML : OO-Analyse/-Design und -Entwicklung (OOA u. OOD) mit Einsatz von UML Werkzeugen und Methoden

XML : Weitreichende Erfahrungen mit XML, DOM-Parser, SAX-Parser, XSL, FOP

Java J2EE : Enterprise Java Beans (EJB)Internet-,Datenbank- und Client-Server Anwendungen

OLAP Anwendungen. DataWarehouse Technologien. Datenbankprogrammierung


IDE:

====

IntelliJ

Eclipse: Anwendung und Entwicklung von Plug-Ins und Features

Anwendungsgebiete:
==================
Weitreichende Erfahrungen im Bereich Financial Services, speziell im Bankenumfeld.
Meldewesen, Basel II, COREP, ABACUS/DaVinci, Abacus360

Modellierung von Versicherungsprodukten

XBRL Technologien. XBRL Taxonomien. XBRL Validierung

Betriebssysteme

Linux
Fortgeschritten
Windows
Fortgeschritten
Ubuntu
Fortgeschritten

Programmiersprachen

Java
Experte
JavaScript
Fortgeschritten
C
Basics
SQL
Experte
Spring Boot
Experte
JEE
Experte

Datenbanken

ClickHouse
Experte
JDBC
Experte
MS SQL Server
Basics
MySQL
Basics
Oracle
Fortgeschritten
SQL
Experte
Apache Spark
Fortgeschritten

Datenkommunikation

CORBA
Internet, Intranet
HTTP, HTML, Java-Servlets, XML, Apache
TCP/IP
REST
Experte
Webservices
Fortgeschritten
Java RMI

Branchen

Financial Services:

Banken
- Allgemeine Kenntnis von Bankprodukten und Finanzinstrumenten
- Meldewesen

BASEL II, SolvV, COREP, GroMiKV, FinRep, Large Exposures, AnaCredit

- Implementierung von Financial Reporting Lösungen

Abacus360, EasyTax

- Besteuerung von Kapitalerträgen

Grundkenntnisse



Versicherungen
- Kenntnisse der Versicherungsbranche und -produkte
- insbesondere Modelle für Versicherungsprodukte
- Makler/Dienstleistersysteme
- Compliance Reporting

IT-Branche

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.