Senior Java Architect/Lead Developer
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 81825 München
- National
- de | en
- 08.11.2024
Kurzvorstellung
Ich bringe in Projekte starke analytische Fähigkeiten, Führungserfahrung und Zielorientierung ein.
Qualifikationen
Projekt‐ & Berufserfahrung
1/2024 – offen
Tätigkeitsbeschreibung
Steuerung und Aufbau des Entwicklungsteams. Definition der Software Architektur und Entwicklung der Integrationsszenarien mit den Endkunden. Zielgruppengerechte Kommunikation der technischen Architektur und Konzepte.
Entwicklung und Integrationen einer Software zur effizienten Erfassung von Vertrags- und Compliance Daten am Point-of-Sale. Unterstützung des Anwenders durch Anbindung an unterschiedliche APIs und Unternehmensregister sowie Einsatz von AI/LLMs zur Analyse und Auswertung von offiziellen Dokumenten und Unternehmensinformationen.
Auswahl, Prompt Engineering, Fine Tuning und Test der Modelle für optimale Performance und eine hohe Genauigkeit der Ausgaben.
Document Retrieval, Langchain, Large Language Models, Prompt Engineering, Code-Review, Software Architecture, Git, Python, Microsoft Azure, JavaScript, Laravel, PHP, Vue.Js, Team Building
7/2022 – 8/2023
Tätigkeitsbeschreibung
Domain Code Management & Automation (DCMA)
- Verbesserungen für eine fachlich funktionale Entwicklungsumgebung identifizieren und definieren
- Produktivitätssteigerung in der fachlichen Umsetzung von Modulen im Meldewesen
Ziel des Projektes ist, durch einen von mir ausgearbeiteten Katalog von Verbesserungen, die Produktivität von fachlichen Entwicklern der Meldewesenplattform Abacus360 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 Debug Funktionalitäten, umständliche Kollaborationsunterstützung und anderer Themen. Das Projekt besteht aus einer Sammlung 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.
Java, Git, JGit, Json, Kubernetes, Micro Services, REST, Meta Models, Parser, Language Server, JPA, Infinispan
Datenmodelierung, Git, Java (allg.), Json, Kubernetes, Meldewesen (Bank), Projektleitung / Teamleitung (IT), Software Architecture, Software engineering / -technik
3/2022 – 3/2022
Tätigkeitsbeschreibung
Analyse eines Memory Leaks in einer Apache Spark basierten Batchverarbeitung.
Prüfen aller Optionen innerhalb und außerhalb des Java Heap/Off Heap Memories auf die verursachende Komponente.
Identifikation der nativ eingebundenen zlib Kompressions Library als Grund für den Memory Leak
Apache Spark, Linux (Kernel), Virtual Memory, Java (allg.), Java Native Interface
7/2020 – 7/2023
Tätigkeitsbeschreibung
- Fachliche Führung der Entwicklung
- Ausarbeitung und Kommunikation der Software Architektur
- Evaluation der technischen Machbarkeit
- Erarbeiten und Erprobung des Technologstacks
- Lead Developer
Das Projekt entwickelt eine Datenzugriffsschicht, die die physische Datenhaltung abstrahiert und die Performance und Skalierbarkeit für Batch- und Onlineoperationen verbessert. Die Lösung nutzt Microservices, GraphQL, ClickHouse und Calcite, um die Anforderungen an die Datenarchitektur zu erfüllen.
Java, SQL, Spring Boot, ClickHouse, Calcite, Oracle, GraphQL, Kafka, REST, OpenAPI, Kubernetes, GKE, Micro Services, VisualVM, Postman, DevOps, CI/CD, JUnit, TestContainers, Vault, Agile (Kanban), Relational Algebra Optimization
Apache Kafka, Agile Methodologie, Apache Maven, Apache Spark, Architekturvisualisierung, Cloud (allg.), DevOps, Docker, Git, Google Cloud, Hypertext Transfer Protocols (HTTP), Java (allg.), Java Database Connectivity, Continuous Integration, Meldewesen (Bank), Oracle Database, Projektleitung / Teamleitung (IT), Software Architecture, Spring Framework, SQL
3/2019 – 11/2020
Tätigkeitsbeschreibung
- Design and implementation of a prototype - Ensuring visibility of the project within the organization and defending it against resistance - Handover and support of the go-live
(Pilot-) Projekt zur On-Demand-Bereitstellung von Test- und Entwicklungssystemen in der Cloud über ein Self-Service-Portal. Kosteneinsparungen durch elastische Ressourcenzuweisung: Die Legacy-Anwendung musste effizient in einem Container bereitgestellt werden, einschließlich der Möglichkeit von Updates auf aktuelle Entwicklungsversionen. Die Erstellung der notwendigen, parameterabhängigen Oracle-Datenbankschemata und die Bereitstellung von Oracle-Instanzen mit entsprechenden Schemata war eine der größten Herausforderungen. Leere Datenbankschemata werden als Oracle PDBs erstellt, gespeichert und dynamisch eingehängt Testsysteme können so von nicht-technischen Entwicklern schnell und selbstständig angefordert und konfiguriert werden. Die Anzahl der Systeme kann elastisch erhöht und bei Bedarf wieder reduziert werden.
Java, Vaadin, Kubernetes, Oracle, Docker, GCP, GKE, Azure, Git, Gitlab, Jenkins, Postman, REST, DevOps, Cloud, Elastic, Agile (Scrum), ELK, Kibana, Fluent
Apache Maven, Cloud (allg.), Docker, Git, Google Cloud, Java (allg.), Configuration Management, Continuous Integration, Kubernetes, Oracle Database, Software Architecture, SQL, SQL*Plus
3/2017 – 10/2018
Tätigkeitsbeschreibung
Spark als Meldewesen Batch Prozessor (SQLx)
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, Java, Scala, JProfiler, VisualVM, Wildfly, Infinispan, ADM, Agile (Scrum)
Apache Spark, Agile Methodologie, Wildfly, Software Design, Java (allg.), Scala
2/2016 – 10/2018
Tätigkeitsbeschreibung
Distributed Processing Engine
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.
Java, Wildfly, JEE, JPA, Hibernate, Infinispan, JMS, Message Queues, ActiveMQ, HornetQ, Low-Code, ADM
Apache Kafka, Hibernate (Java), J2EE, Java (allg.), Java Message Service, Wildfly, Java Database Connectivity, Projektleitung / Teamleitung (IT)
2/2014 – 12/2015
Tätigkeitsbeschreibung
Entwicklung einer XBRL Library inkl. einer partiellen Implementierung der Formula Linkbase
Entwicklung einer XBRL Bibliothek mit Fokus auf die zu diesem Zeitpunkt relevanten Taxonomien im Bereich regulatorisches Meldewesen für Banken. Wichtiger Punkt bei der Entwicklung war eine gute Performance bei der Ausführung der definierten Validierungen und Berechnungen in der Formula Linkbase.
Java, XBRL, XPath, XML, JProfiler
Meldewesen (Bank), Software Design, Java (allg.), XML, Xpath, XPointer (XML Pointer Language)
5/2013 – 11/2014
Tätigkeitsbeschreibung
Performante Implementierung einer Standardschnittstelle von SAP Bank Analyzer zum Meldewesen Tool ABACUS/DaVinci
Performance Analyse und Redesign kritischer Komponenten einer in Entwicklung befindlichen Standard Schnittstelle vom SAP Bank Analyzer zur Standardsoftware für das regulatorische Meldewesen ABACUS/DaVinci. Herausforderungen lagen in den unterschiedlichen Granularitäten und historischen Abbildungen der Daten zwischen Bank Analyzer und dem Zielsystem.
ABACUS/DaVinci, SQL, Oracle, Java, Webservices, MSSQL
Microsoft SQL-Server (MS SQL), Datenbankentwicklung, Datenmodelierung, Java (allg.), Meldewesen (Bank), Oracle Database, PL/SQL, SQL, SQL*Plus
Ausbildung
Technische Universität München
München
Über mich
ich arbeite mich schnell und mit Begeisterung in neue Themen und Technologien ein und treibe technologische Innovation und Verbesserung.
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden