2023 - 2023: Durchführung eines AuditsKunde: anonym
AufgabenDurchführung eines Audits der im Aufbau befindlichen, OpenShift-basierten Plattform
hinsichtlich des Betriebs von Java Anwendungen im Zusammenspiel mit intern betriebenen
Kafka-Brokern
KenntnisseJava, Kafka
2019 - 2023: QualitätssicherungKunde: anonym, Frankfurt am Main
AufgabenAls Berater in der Qualitätssicherung habe ich das Flagschiff-Produkt KaDeck auf den
Plattformen Ubuntu und Windows auf Korrektheit in fachlicher Funktion, Qualität der
Nutzerführung und das Deployment hin geprüft, sowie Handlungsempfehlungen an den
Hersteller gegeben.
Weiterhin beriet ich das Unternehmen hinsichtlich der mittelfristigen Lizenz- und
Entwicklungsstrategie, sowie in weiteren Fragen zum Vertrieb von Desktopsoftware.
KenntnisseKafka, Java, Linux, ShareIt! MyCommerce
2022 - 2022: MigrationKunde: anonym, Bonn
AufgabenBegleitende Beratung im Bereich der Architektur und Entwicklung mit Kafka und Java zur
Migration einer im Haus entwickelten Messagebroker-Architektur zu Kafka mit dem Ziel, Daten
von Briefzentren an Edge-Standorten in Near Realtime zu integrieren
KenntnisseJava, Kafka
2019 - 2022: Übernahme einer OpenShift-basierten PlattformKunde: Mobilitätsdienstleister, Ratingen
AufgabenDie Beauftragung erfolgte zunächst in der Rolle als Engineer zur Übernahme einer OpenShift-basierten Plattform, Beratung zu Performance- und Integrationsproblemen mit Java-basierten verteilten Systemen zu leisten. Insbesondere legte man Wert darauf, das
Plattformteam durch mit mit Entwicklungsexpertise zu stärken.
Im späteren Verlauf überantwortete man mir die Rolle als Plattformarchitekt. Ich begleitete
den Aufbau einer Azure-basierten Entwicklungsplattform, sowie die Migration der
bestehenden Anwendungen aus der heterogenen On-Premises + OpenShift Landschaft. Der
Schwerpunkt hierbei war die Konsolidierung der Projekte aus der alten Gitlab + Jenkins + EFK
-Welt hin zu Entwicklungsumgebungen in Azure DevOps + Grafana Loki, sowie die
Gewährleistung des reibungslosen Betriebs der umgezogenen Applikationen.
Weiterhin beriet und schulte ich Entwickler und Architekten zum Spring Stack, JPA, Hibernate,
Kafka, PostgreSQL, Grafana und -Loki, Prometheus, Instana, James, Camel, Azure Kubernetes
Service, Application Performance Management und vielen weiteren Themen.
Im Laufe mehrer Akquisitionen begleitete ich die Post Merger Integration unterschiedlicher
Stacks und Teams zur Verwendung der Plattform
KenntnisseAzure AKS, ADO, Data Factories, Java, Spring, Kafka, ActiveMQ, James,
Kubernetes, OpenShift, Docker, Nginx, LeanIX, ElasticSearch, EFK, Grafana,
Prometheus, Gitlab, Jenkins, PostgreSQL, TimescaleDB, Redis, Yourkit, Terraform,
Ansible
2016 - 2022: ForesightKunde: Jeed UG, Leipzig
AufgabenTech Lead für das Produkt ?Foresight? zur Liquiditätsplanung in Unternehmen.
Implementierung einer visuellen Timeline-Komponente mit Unterstützung virtuellen
Renderings from Scratch. Erarbeitung neuer Benutzungskonzepte zum Streamlining der UX
und der Umsetzung mittels JavaFX. Entwicklung einer Importpipeline für CSV- oder
Exceldateien samt zugehöriger UI. Konzeption und Implementierung der gesamten
Anwendungsoberfläche, einschließlich einer Ribbon-Menü-Komponente.
Weiterhin Implementierung der Build-Pipeline der Anwendung für die Zielplatfformen
Windows, Linux, MacOS, Android(Tablet), iPadOS unter Verwendung von GraalVM Enterprise.
Erstellung einer hoch verfügbaren Infrastruktur auf Kafka-Basis zur Umsetzung des Event
Sourcing Patterns. Integration zahlreicher Einzelprozesse in Kundenverwaltung und
Datenanalyse unter Nutzung von Enterprise Integration Patterns mit Camel
KenntnisseJava, JavaFX, Kafka, Camel, GitLab, PostgreSQL, Spring Boot, Hibernate, H2,
ElasticSearch & ELK-Stack, Kubernetes, Gradle, Zookeeper, GraalVM Enterprise
2015 - 2022: Lösungsarchitektur und ImplementierungKunde: Tao Capital GmbH und n-markets GmbH, Frankfurt am Main/ Leipzig
AufgabenKonzeption der Lösungsarchitektur und Implementierung für ein Algotradingsystem im
Handel mit Aktien, Fonds und Anleihen für einen Wertpapierhändler. Zunächst wurde eine
Anforderungsanalyse hinsichtlich der essenziellen Performanceparameter erarbeitet, auf
deren Basis ein Hard- und Softwareprofil erstellt wurde. In Hinblick auf die
Ausführungsgeschwindigkeit des Systems waren engste Grenzwerte hinsichtlich Latenz und
Reaktionsgeschwindigkeit (Tick-2-Trade) einzuhalten, um mit Wettbewerbern Schritt halten
zu können. Die Integration von Marktdaten und Sentimenten, aber auch die Historisierung
operativer Daten erfolgt auf Basis von Kafka.
Im Schritt der Implementierung wurden Server mit Spezialhardware entsprechend dieser
Anforderungen zusammengestellt. Es wurde für diese Systeme ein Handelsserver
implementiert, der die gegebenen Strategien mit Anbindung an die Broker HSBC, Interactive
Brokers und ViTrade umsetzt und die eigentlichen Handelsentscheidungen aufgrund einer
Tickdatenanalyse trifft, sowie eingestellte Orders via Mass Order Management verwaltet.
Weiterhin wurde ein JavaFX-basierter, Multi-User-fähiger Client mit Dashboard für das
Ordermanagement und die Konfiguration der Tradingparameter entwickelt, über den Händler
das Geschehen beobachten und steuern können
KenntnisseJava, JavaFX, Kafka, Camel, QuickFIX/J, ViTrade HTX, CFD/CSP, SolarFlare
OpenOnload Engine, Groovy, Bash, PostgreSQL, Yourkit, TWS-API, Spring Boot,
Grafana, Prometheus
2019 - 2019: GitHub-Probot-ServiceKunde: Signal Iduna/ Allianz/ IBM, Hamburg
AufgabenZunächst habe ich im DevOps-Bereich einen GitHub-Probot-Service auf Basis des Node.jsStacks erstellt, dessen Aufgabe es ist, bei Veröffentlichung eines Releases der zahlreichen
hausinternen Projekte die jeweiligen Release Notes und sonstige Dokumentation in
Markdown für die Verwendung in Confluence aufzubereiten und automatisiert zu posten.
Weiterhin war ich als Lead Developer in einem Scrum-Team tätig und mit der Aufgabe
betraut, einige Legacy-Microservices, die zu reaktivieren waren, auf den aktuellen
technologischen Inhouse-Stack zu heben und in diesem Zuge an neue fachliche
Gegebenheiten anzupassen, sodass die Kommunikation mit Mobile Apps Dritter im Frontend
und verarbeitenden Systemen im Backend wiederhergestellt wird. Dazu gehörte auch die
Anpassung der Projekte an die aktuelle Jenkins-basierte Deployment-Pipeline nach GitOpsAnsatz
KenntnisseJava, Kubernetes, TypeScript, Node.js, Probot, GitHub, Kafka, Dropwizard,
Docker, Nginx, Java EE, JAX RS, Gradle, Spring Boot, PostgreSQL
2017 ? 2019: Ablösung eines internen SystemsKunde: Aareal Bank AG, Wiesbaden
AufgabenAblösung eines internen Systems und Anschluss dorthin transportierter Rohdaten an eine
Kafka-basierte Lieferstrecke. Es war zunächst meine Aufgabe, die Anforderungen in Absprache
mit den angeschlossenen Fachbereichen zu erarbeiten. Basierend darauf erfolgte die Planung
von externen und internen Ressourcen. Das Ziel des Projekts war die Versorgung der Risk
Management Engine ?Open Source Risk Engine (ORE)? mit Daten der Bereiche Meldewesen,
Deckungsregister, Risk Control und Treasury, wobei die FDÜ-Daten des SAP-CML-Systems von
mir unter Verwendung von ETL-Ansätzen in Java auf das Format der ORE gemappt wurden.
Ferner fand eine Marktdatenkonsolidierung statt, um die Voraussetzungen für den Betrieb der
ORE mit den effektiven Nutzdaten zu ermöglichen.
Im weiteren Verlauf wurde ein Teil der SAP-CML Rechenlogik in Abstimmung mit den
Fachbereichen nachgebaut, um Funktionen des Bestandssystems zu ersetzen. Weiterhin
bestand die Tätigkeit in der Analyse von Legacy-Skripts in R, um diese auf Java zu portieren.
Darüber hinaus habe ich Aufgaben im Coaching von Mitarbeitern, sowie regelmäßige Code
Reviews wahrgenommen, um diese einerseits im Betrieb der Lieferstrecke, andererseits in der
Entwicklung mit Java 8 und den verwendeten Frameworks zu schulen
KenntnisseJava, Kafka, ELK, Vagrant, Maven, ORE, R, Jenkins, Univocity, Spring Boot/Batch,
PostgreSQL, Git
2017 - 2017: Entwicklung eines HMI-FrontendKunde: thyssenkrupp AG, Andernach
AufgabenEntwicklung eines HMI-Frontend für Industrieanlagen in Java und JavaFX. Beratung auf eine
Architekturrevision hin, um durch Nutzung der Besonderheiten des Buildsystems Gradle
Codeduplikate drastisch zu reduzieren und Ähnlichkeiten bzw. Unterschieden bestimmter
Untergruppen der Anlagen Rechnung zu tragen. Einführung des Buildsystems und Coaching
beteiligter Mitarbeiter und Freelancer. Dadurch konnte außerdem eine Beschleunigung des
Setups weiterer Anlagen erreicht werden.
Implementierung von Kommunikationsroutinen auf Basis des IoT-Protokolls MQTT mit dem
Eclipse Paho Framework
KenntnisseJava 8, JavaFX, MQTT, Eclipse Paho, JSON, Gradle, SVN
2017 - 2017: Analyse eines PerformanceproblemsKunde: anonym, München
AufgabenAnalyse eines Performanceproblems der hauseigenen Software zur Übersetzung von Film und Videospielsynchronisationen. Es erfolgte eine umfassende
Quellcodeanalyse, wobei sich die besondere Schwierigkeit ergab, dass die gesamte große
Anwendung weitgehend in einer einzelnen Java-Klasse untergebracht worden war. Daher
wurde in einem umfassenden Refactoring zunächst eine den gängigen Standards
entsprechende Architektur hergestellt, in dessen Folge nun die Performanceanalyse erst
sinnvoll durchgeführt werden konnte. Das Profiling mittels YourKit zeigte, dass die Einführung
von Objektpooling-Strategien die Methode der Wahl zur Behebung der
Performanceproblematik ausreichend sein würde, um die massive Last auf der Garbage
Collection zu reduzieren und lange Stop-the-World-GC-Pausen zu vermeiden
KenntnisseJava 8, JavaFX, YourKit, Gradle, Java Media Framework, div. Java-Video-Wrapper
2016 - 2017: Lösungsarchitektur und ImplementierungKunde: sansad GmbH, Frankfurt am Main / Hannover
AufgabenErstellung der Lösungsarchitektur und Implementierung einer Webanwendung zur Anlageund Vorsorgeberatung basierend auf Wordpress als Frontend und einer Spring-Anwendung
im Backend. Frontend und Backend kommunizieren über eine REST-Schnittstelle. Kunden
wird eine Befragungsstrecke zur Verfügung gestellt, um Daten zu erfassen, auf deren Basis
weitreichende finanzielle Prognosen und Empfehlungen zur Ausgestaltung von Vorsorge- und
Investitionsvorhaben gegeben. Die dazu nötigen Business Rules sind in einer Datenbank
gespeichert und werden vom System zur Codegenerierung genutzt, sodass jeder vom Nutzer
eingegebene Fall über generierten Code performant abgewickelt wird. Danach wurde die
monolithische Anwendung in Microservices überführt.
In einem experimentellen Workstream erfolgte die Evaluierung von Tesseract für die
Erkennung und automatisierte Verarbeitung von Belegen, die im Rahmen einer
eigenständigen Softwarelösung KMUs zur Verfügung gestellt werden sollte.
Für automatisierte Tests des Anwendungsfrontends wurde die Kundin hinsichtlich des
Einsatzes der Selenium-Suite beraten und diese in der Folge eingeführt
KenntnisseJava, JAX-RS, REST, Spring Boot, Selenium, Tesseract, Dropwizard, Groovy,
JavaFX, JavaScript, WordPress, PostgreSQL, MySQL, JSON, JPA, Spring
2015 - 2015: technische Betreuung des ShopsystemsKunde: Nelsons Natural World, Hamburg/London
AufgabenGesamte technische Betreuung des Shopsystems. Erweiterung des Onlineshops durch eine
Anbindung an SAP zum Kundendatenabgleich. Anpassung der Protokolle der
Zahlungsanbieter Sofortüberweisung, Paypal und iPayment an die Anforderungen des
Unternehmens. Einführung des Systems beim Kunden. Führung eines sechsköpfigen Teams
KenntnissePHP, MySQL, Magento, Java EE, Oracle DB, Selenium
2015 - 2015: CRM-AnwendungKunde: anonym, Zürich
AufgabenModernisierung einer bestehenden CRM-Anwendung auf Basis von Delphi 7. Analyse des
Legacy-Codes der Anwendung. Implementierung der neuen Version mit Java und JavaFX
KenntnisseDelphi, Java SE, Java EE, JavaFX, Swing, H2, PostgreSQL, JMS, Spring
2015 - 2015: Performanceanalyse eines bestehenden ShopsystemsKunde: anonym, Frankfurt am Main
AufgabenIm Anschluss an die Performanceanalyse eines bestehenden Shopsystems erfolgte ein
erfolgreiches Deployment eines Shopsystems mit 3 Mio. Artikeln auf Basis von Shopware 4,
welches um ein NoSQL Backend erweitert wurde. Die Herausforderung bestand darin, enorm
lange Ladezeiten, die zu Ausfallszenarios führten, durch die Lösung zu verhindern. Das NoSQL
Backend wurde eingesetzt, um das vergleichsweise langsame Matching von Artikeln und
Kategorien um mehrere Größenordnungen zu beschleunigen. Die Lösungsarchitektur wurde
als resilientes, skalierbares System umgesetzt. Ich übernahm die Leitung des Projekts und
koordinierte die Arbeit von Inhouse-Entwicklern und angeschlossenen Agenturen. Die
Implementierung wurde mittels Selenium-getriebener Tests gegen die native ShopwareVariante geprüft.
KenntnisseShopware, PHP, Selenium, ElasticSearch, Java, Groovy, Hystrix, Bash
2015 - 2015: Technische BetreuungKunde: anonym, Frankfurt am Main
AufgabenTechnische Betreuung von Schlüsselkunden einer namhaften Shopware-Agentur. Beratung
der Kunden mit Schwerpunkt auf Performanceanalysen und -optimierungen der
bestehenden Systeme, ferner Plugin-Entwicklung
KenntnisseShopware, PHP, REST, Symfony, Smarty, MySQL, ElasticSearch, Java, Bash
weitere Projekte auf Anfrage