IT Consultant, Lead, Software Development
Aktualisiert am 08.07.2020
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 08.07.2020
Verfügbar zu: 100%
davon vor Ort: 100%
Java
Cloud
Banking Software
Deutsch
Muttersprache
Englisch
fließend in Wort und Schrift

Einsatzorte

Einsatzorte

Heidelberg (+100km) Frankfurt am Main (+10km) Speyer (+100km) Karlruhe (+10km) Stuttgart (+10km)
nicht möglich

Projekte

Projekte

6 Jahre 9 Monate
2017-07 - heute

Plattform für den algorithmischen Handel

Business Analyst, Architekt, Entwickler
Business Analyst, Architekt, Entwickler

(Appname auf Anfrage) eine Plattform fü den algorithmischen Handel von Cryptowährungen auf verschiedenen Börsen.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Überwachung

Aktivitäten

(Appname auf Anfrage)
Architektur, Design und Implementierung einer Microservices Plattform für automatisierten, Hochfrequenz- und Niedriglatenzhandel von Cryptowährungen mit eigenen Handelsstrategien.
Die Implementierung der Plattform folgt komplett modernen Modellen und Mustern wie zum Beispiel: Microservices Architektur, asynchrone und reactive Programmierung, ereignisgetriebene Nachrichtenverarbeitung, verteiltes und zustandsloses Design und NO-SQL Datenhaltung um ein Maximum an horizontaler Skalierbarkeit zu gewährleisten.

Java 8 Vert.x JSON GSON Jackson Hocoon REST Websocket SignalR (eigener Client) HMAC Cryptocurrency Exchanges APIs MongoDB Redis Windows 7/10 Linux VirtualBox iptables NetBeans IntelliJ Idea Git Github Zube Kanban Maven JUnit 4
eigene Firma ( Name gerne auf Anfrage )
1 Jahr 3 Monate
2018-10 - 2019-12

SAP Cloud Platform Core SLES 12 HA Migration

Business Analyst, Entwickler
Business Analyst, Entwickler

SAP Cloud Platform Core SLES 12 HA Migration (systemd)

Analyse, Design, Entwicklung und Migration des bestehenden Betriebssystems SUSE Linux Enterprise Server 11 auf die Version 12 welches die Basis der SAP Cloud Persistence Services (SAP ASE 15.7 / 16.0) für Standalone und High-Availability Setups ist und damit einhergehend die Ablösung von Chef Cookbooks basierter Provisionierung durch die Migration auf Bash Shell Scripte.

Aufgrund des auslaufenden Supports des Betriebssystems SLES 11 musste dies auf die aktuellere Version SLES 12 migriert werden. Um einen sanften Übergang zu garantieren analysierte und validierte ich die genutzten SAP ASE Syste und ihre Komponenten auf ihre Kompatibilität mit dem neuen Betriebssystem, sowie dessen Kernel und der vorhandenen Xen Virtualisierung. Dabei löste ich Abhängigkeiten und Versionskonflikte auf.

Die existierende DevOps automatisierung durch Chef war zu komplex, fehleranfällig und imkompatibel mit künftigen Szenarien der Cloudplattform, so dass ich diese in einfache Shell Scripts migrierte. Dabei wurden auch existierende Shell Scripts angepasst oder erweitert, und volle Unterstützung für den veralteteen System Service Manager SysV init.d, sowie den neuen systemd zu gewährleisten.

Als Ergebnis erhält SAP SE künftig weiterhin vollen Support für das der SAP Cloud zugrundeliegende Betriebssystem SLES und kann selbst seinen Kunden vollen Support für seine cloudbasierte SAP ASE System auf tausenden von Persistenzservern bieten.

Darüber hinaus ist die DevOps automation und die Provisionierung neuer SAP ASE Instanzennun deutlich simpler und robuster.

Sobald alle SLES 11 basierten Virtuellen Maschinen auf SLES 12 migriert sind kann SAP den Support für das veraltete SLES 11 und dessen SysV init.d reibungsfrei einstellen.

Shell Script Bash Script Python Chef Cookbooks JSON REST SAP ASE Windows 10 Linux Eclipse JetBrains IntelliJ Idea JetBrains PyCharm Visual Studio Code Git Gerrit Jira Maven Jenkins SAP Cloud Platform SAP BackupServer SAP FaultManager Scrum DevOps Skype Business Microsoft Teams
SAP SE
Walldorf (Baden)
1 Jahr 2 Monate
2017-11 - 2018-12

Landschaft bestehend aus mehreren Enterprise-Systemen,

Business Analyst, Entwickler, Architekt
Business Analyst, Entwickler, Architekt

(Name auf Anfrage) ist eine Landschaft bestehend aus mehreren Enterprise-Systemen, die alle Kreditmeldungen deutschland- und EU-weit entgegen nimmt und Kreditrisiken verwaltet. Diese Systeme bilden die Grundlage für das gesamte Berichtswesen der Bankenaufseher.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Spezifikation von Softwarefunktionalitäten
  • Implementierung von Prototypen
  • Design von Softwaremodulen
  • Hilfestellung für die Fachabteilung

Abteilung:
(Name auf Anfrage)  umfasst über mehrere Standorte verteilt mehr als 100 Personen.

Aktivitäten:
WebFOCUS Business Adapter für (Name auf Anfrage)
Architektur, Design, Spezifikation und Prototypimplementierung einer geschäftsnahen Abstraktionsebene für Ad-hoc-Auswertungen.
(Name auf Anfrage) ist das Nachfolgesystem für (Name auf Anfrage) und basiert auf einem technisch sehr anspruchsvollen Datenmodell. Bankenaufseher nutzen die Drittanbieterplattform WebFOCUS Business Intelligence. Aufgrund der technischen Komplexität des (Name auf Anfrage) Datenmodells war es den Bankenaufsehern bisher nicht möglich dieses für ihr Berichtswesen zu nutzen.
In meiner Rolle als Business Analyst sammelte ich alle Informationen über die Geschäftsabläufe und Berichtsanforderungen der Bankenaufsicht und spezifizierte und modellierte eine geschäftsnahe Zwischenschicht zwischen den WebFOCUS-Benutzern und dem Datenmodell. Die Implementierung dieser Schicht wurde durch Experten von WebFOCUS implementiert.
Als Ergebnis kann die Bankenaufsucht nun Daten aus (Name auf Anfrage) in ihre Berichte mit aufnehmen. Entsprechende Abstraktionsschichten werden nun analog zu der geschaffenen auch für andere noch nicht in WebFOCUS eingebundene Systeme eingeführt.

Interfaces
Analyse aller eingehenden, ausgehenden und internen Schnittstellen aller (Name auf Anfrage) Applikationen.
Aufrund der ähnlichen Geschäftsnatur der Deutsche Bundesbank und der Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) existieren in beiden Instituten ähnliche Daten. Um der BaFin weitere ausgehende Schnittstellen bereitzustellen werden alle Schnittstellen aller ( Name auf Anfrage)-Systeme analysiert.
Das Ziel ist es der BaFin weitere Schnittstellen ohne signifikante Entwicklungsaufwände bereitstellen zu können.
Technologies

Tool Stack:

Enterprise Architect

WebFOCUS Oracle SQL Oracle Database 12c WebFOCUS PL/SQL Developer Enterprise Architect Java 8 Struts
Deutsche Bundesbank
5 Monate
2017-07 - 2017-11

ETL System

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

(Name auf Anfrage) ist ein ETL System dass Klickstatistiken zu Analystenpublikationen von verschiedenen Lieferanten zu Abrechnungszwecken sammelt, normalisiert und speichert.
Es ist eine Business-Managed Applikation, deren Entwicklung ich derzeit parallel zu meinem Hauptprojekt “FastBase” betreibe.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für die Fachabteilung

Abteilung:
(Name auf Anfrage) umfasst 1 Entwickler und 2 Fachkoordinatoren.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung der (Name auf Anfrage) Applikation.
Analysten der Commerzbank erstellen Marktforschungs- und Analysepublikationen und stellen diese für Kunden über die Kanäle verschiedener Anbieter wie Reuters, Bloomberg, Standard & Poors oder FactSet zur Verfügung. Die Aufgabe des (Name auf Anfrage) ist die sich daraus ergebenden “Welcher Kunde klickte wann auf welche Publikation”-Informationen zu sammeln und intern vorzuhalten.
Das System setzt sich zusammen aus anbieterspezifischen Imports und zeitgesteuerten Prozessen welche die Daten sammeln, validieren, normalisieren und in eine gemeinsame Datenbank laden.
Durch die Benutzung dieses Systems ist die Commerzbank nun in der Lage Abrechnungen auf Ebene einzelner Benutzerkonten zu erstellen. Zusätzlich wird es verwendet um eine Vielzahl an Berichten zu erstellen die zum Beispiel als Basis für Neuverhandlungen von Verträgen oder für die Preisbildung von Publikationen dienen.
Zusätzlich wird mit der Inbetriebnahme des Systems eine regulatorische MiFiD2 Vorgabe erfüllt die vorgibt dass alle Klickstatistiken von internen und externen Portalen nachverfolgbar sein müssen.

Java 8 UC4 Scheduling UC4 One Automation Linux MS TFS NetBeans Microsoft SQL Server 2008; 2012
Commerzbank AG
2 Jahre 9 Monate
2015-03 - 2017-11

System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

(Name auf Anfrage) ist ein System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt um Marktanalysten, sowie internen und externen Kunden verschiedene Arten von Daten für den täglichen Gebrauch bereitzustellen. Dabei handelt es sich hauptsächlich um Instrument- und Marktdaten, Zinskurven und Prognosen,
Das System bedient mehr als 250 Kunden und Abnehmersysteme.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für die Fachabteilung
  • Hilfestellung für Kunden

Abteilung:
(Name auf Anfrage) umfasst 6 bis 8 Personen inklusive Entwicklungs- und Fachabteilung.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung des RESTful Service “(Name auf Anfrage)” sowie des dazugehörigen Clients als flexibles Excel Addin.
Da in der Vergangenheit alle Prognosedaten über hunderte Excel Dateien verteilt waren die sich gegenseitig referenzierten, war die Änderung von Prognosedaten nicht nur mit hohen Aufwänden verbunden, sondern auch sehr fehleranfällig.
Durch den neuen Forecast Service können Benutzer nun ohne technische Kommunikation zwischen den involvierten Abteilungen Prognosedaten parallel lesen und schreiben. Alle technischen Fehler der Excel Dateien wurden eliminiert und der Prozess fehlerhafte Daten zu finden und zu korrigieren wurde maximal vereinfacht.
Zusätzlich wurde mit dem Dienst ein Team Excellence Audit-Befund behoben der vorgibt dass
Änderungen an Prognosedaten nachverfolgbar und versioniert sein müssen.

Technologien
Application Server: Tomcat 8, Java 7, Java 8, REST, CDI
Application Client: Visual Basic for Applications (MS Excel VBA)
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, Eclipse

(Name auf Anfrage) Service
Architektur, Design und Implementierung eines neuen JSF Dienstes “(Name auf Anfrage) Service” um die Weiterentwicklung der bankinternen Client Applikation zu ermöglichen. Der bisherige Client war in Visual Basic 6 entwickelt worden, welches stark veraltet und in der Bank auch nicht mehr verfügbar ist. Dadurch lag die Weiterentwicklung lange auf Eis. Alle Funktionalitäten des bisherigen Clients wurden in einen neuen Java Server Faces Dienst adaptiert und optimiert und sind nun durch den Webbrowser verfügbar.
Der neue Dienst eliminiert eine Reihe von Fehler des veralteten Clients und stellt die Möglichkeit zum Hinzufügen und Weiterentwickeln von Kerngeschäftsfunktionen wieder her.
Der Dienst erfüllt alle Standards und Richtlinien der Bank für moderne Softwarearchitektur und trennt zusätzlich alle Benutzer durch die Schnittstelleneigenschaft des Web-Frontend vom direkten Zugriff auf die Datenbankebene.

Technologien
Application Server: Tomcat 8, Java 8, Java Server Faces, PrimeFaces, jQuery, CDI
Application Client: XHTML, HTML4, XML, CSS3, JavaScript, ActiveX
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, NetBeans

Scheduler Re-Design und Referenzimplementierung eines Prototyps
Architektur, Design und Referenzimplementierung eines UC4-gesteuerten Scheduler-Prototyps, sowie Implementierung von beispielhaften (Name auf Anfrage) Prozessen.
Derzeit erfolgt die Steuerung aller ETL-Prozesse in (Name auf Anfrage) durch eine stark angepasste “Activity BPMN Engine”-Applikation. Diese ist nicht nur äußerst fehleranfällig, sondern gibt generell auch nur sehr wenig Rückmeldung. Sie verstößt auch gegen die bankinterne Scheduler-Richtlinie. Darüber hinaus erfordert sie ein solch beträchtliches Maß an Wissen um ihre Eigentümlichkeiten, dass zwei Entwickler nahezu komplett an die Entwicklung und Fehlerbehebung von absoluten Basisfunktionalitäten gebunden sind.
Die Implementierung einer neuen Scheduling-Plattform auf der Basis von UC4 wird zu einer wesentlich saubereren und leichter zu verstehenden Architektur führen und somit zwei Entwicklerressourcen freisetzen.
Zusätzlich wird die Scheduler-Richtlinie eingehalten da die gemanagte UC4 Plattform verwendet wird. Das neue Design kann leicht von der “SPManager”-Referenzimplementierung für weitere Prozesse adaptiert werden.

Technologien:
Prototype Applications: Java 8, Shell Script
Datenbank: Microsoft SQL Server 2008, 2012
Scheduler: UC4 One Automation, Activity BPMN Engine, Tomcat 8
Tool Stack: Linux, MS TFS, Eclipse

SPManager
Architektur, Design und Implementierung einer Applikation zur Verwaltung von Stored SQL Procedures. (Name auf Anfrage)  beinhaltet mehr als 2500 Stored Procedures welche direkt durch die Fachabteilung auf dem produktiven System geändert werden.
Bisher war es aufgrund von Zugriffsbeschränkungen und mangelnder Kommunikation sehr schwierig die produktiven Stored Procedures synchron zu denen in der Entwicklungsumgebung zu halten. Das führte bei Liefereinsätzen in der Produktionsumgebung oft zu Fehlern wenn solche geänderten Stored Procedures durch neue Softwarepakete adressiert wurden. Darüber hinaus gab es keine Revisionskontrolle oder Änderungsverfolgung der Stored Procedures.
Der SPManager findet auf täglicher Basis neue und geänderte Stored Procedures in der Produktionsumgebung und meldet diese samt Quellcode an die Entwicklungsabteilung zur Einpflege in die Revisionskontrolle. Dadurch sind alle Stored Procedures in TFS versioniert, was zu wesentlich unaufgeregteren Liefereinsätzen führt. Zusätzlich werden auf wöchentlicher Basis Nutzungsstatistiken gemeldet um unbenutzte Stored Procedures aufzuspüren.
Der SPManager ist die Prototyp- und Referenzimplementierung der neuen UC4-basierten Scheduling-Plattform.

Technologien:
Application: Java 8, Shell Script
Datenbank: Microsoft SQL Server 2008, 2012
Scheduler: UC4 One Automation
Tool Stack: Linux, MS TFS, Eclipse

Generelle Aktivitäten:

  • Entwicklung von neuen Lieferprozessen.
  • Refactoring von existierenden Applikationen in eine neue und leichter verständliche Struktur.
  • Beratung von Empfehlung von Lösungen zu komplexen technischen Problemen.
  • Kommunikation und Abstimmung mit anderen Abteilungen.
  • Überwachung von übergeordneten Zielen.
  • Verbesserung der Gesamtarchitektur.
  • Außerdienststellung von unbenutzten Diensten.

Technologien:
Application Server: Tomcat 7 + 8, Java 7 + 8
Application Client: Visual Basic for Applications (MS Excel VBA)
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, Eclipse

Commerzbank AG
1 Jahr 8 Monate
2015-04 - 2016-11

Mehrbenutzerapplikation

Business Analyst ,Architekt, Entwickler
Business Analyst ,Architekt, Entwickler

(Name auf Anfrage) ist ein Unternehmen und eine Plattform zum Handeln und Verwalten von elektronischen Waren. Zur Plattform gehört auch ein Onlineshop.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten im Team
  • Koordination der Aktivitäten im Team
  • Hilfestellung für Händler

Abteilung:
(Name auf Anfrage) ist mein privates Unternehmen mit einem Entwickler und einem Händler.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung der Mehrbenutzerapplikation “(Name auf Anfrage)”. (Name auf Anfrage) ermöglicht es Händlern international mit Waren zu handeln.
Es verfügt über verschiedene Module wie Kunden- und Geschäftspartnerverwaltung,- internationaler Versand, internationale Steuer- und Gebührenverwaltung und mehr.
Die Applikation erlaubt die Handhabung eines kompletten Geschäftslebenszyklus von Angebot, Auftrag, Ausführung über Rechnungsstellung und mehr.
(Name auf Anfrage) beinhaltet automatisierte Schnittstellen-ETL-Prozesse um Lagerbestände und Preise von Waren von verschiedenen Geschäftspartnerunternehmen zu beziehen um daraus Verkaufspreise und Warenbestände zu ermitteln. Es verfügt zudem über ein Modul zur Verwaltung der Inhalte auf den Webseiten des Onlineshops und eine Modul zur Verwaltung von Dokumenten. Darüber hinaus beinhaltet (Name auf Anfrage) ein Modul um Waren über einen Onlineshop zu verkaufen.
Das (Name auf Anfrage)-System sowie der Onlineshop nutzen beide Responsive Design um den Zugriff gleichermaßen über mobile Endgeräte und Desktopgeräte mit einer einzigen Implementierung zu gewährleisten.

WebSphere Glassfish 4.1 JEE 8 EJB PrimeFaces jQuery OSGI CDI XHTML HTML4 XML JavaScript Responsive Design MySQL Linux VirtualBox iptables Subversion NetBeans Adobe Dreamweaver Adobe Photoshop
eigene Firma (Name auf Anfrage )
3 Jahre 7 Monate
2011-09 - 2015-03

verschiedene Applikationen um Synergieeffekte zu erzeugen

Rolle: Chef-Entwickler, Architekt, Business Analyst, Onsite Koordinator

Beschreibung
Das Projekt hatte keinen konkreten Namen. Es war ein übergreifendes Projekt und umfasste mehrere Handelsabteilungen und beinhaltete verschiedene Applikationen um Synergieeffekte zu erzeugen.

Die hauptsächlichen Interessensgruppen waren:

  • Cash Equities: Eine Handelsabteilung für institutionelle und spezielle Kunden um hochvolumige Transaktionen von einzelnen Instrumenten oder Instrumentenlisten auszuführen. Die zentrale Handelsapplikation ist Bloomberg SSEOMS.
  • Flow Trading: Eine Handelsabteilung für gewöhnliche und nicht-spezielle Kunden um klein- und mittelvolumige Transaktionen von einzelnen Instrumenten oder. Instrumentenlisten auszuführen. Die zentrale Handelsapplikation war Realtime Trading Desktop und DeltaAgent.
  • ETF Borrowing & Lending: Eine Handelsabteilung für Leihgeschäfte mit Exchange Traded Funds (ETF). Die vorherige zentrale Handelsapplikation war Pirate.
    „Pirate Ersetzen” war eines von drei COIN Projekten in der Bank das Investitionsbudget akquirieren konnte, während in der Bank aufgrund der Finanzkrise generell alle Investitionen gestoppt wurden. Einzig Projekte, die einen Gewinn oder eine Einsparung von mehreren Millionen Euros garantierten konnten wurden als COIN Projekte akzeptiert.
    Während des Projekts wurden eine Vielzahl an existierenden Applikationen oder auch komplette Handelsplattformen in den einzelnen Handelsabteilung ausgetauscht.

Ich begleitete das Projekt in verschiedenen Rollen:

  • Als Chef-Entwickler verteilte und verfolgte ich alle Entwicklungsaktivitäten der Abteilung und entwickelte selbst.
  • Als Architekt entwarf ich Teile oder komplette Softwareinfrastrukturen für jede der Handelsabteilungen und definierte komplette Handelsdatenflüsse von der Eingabe über Routing und Ausführung bis hin zur und Abrechnung.
  • Als Business Analyst arbeitete ich eng mit den Händlern zusammen um das Geschäftsmodell zu verstehen und optimale abteilungsübergreifende Lösungen zu finden.
  • Als Onsite Koordinator war ich verantwortlich für Remote-Entwickler in Indien. Dies umfasste die Kommunikation, Koordination, den Wissenstransfer sowie die Zuweisung und Verfolgung von Aufgaben.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für die Fachabteilung
  • Hilfestellung für Kunden

Abteilung:
Das Projekt umfasste 3 bis 8 Entwickler. Inklusive Fachabteilunskoordinatoren, Management, Administration und Referenzkunden umfasste das Projekt bis zu 30 Personen. Die Handelsabteilungen, das Management und die Entwickler waren über Frankfurt, London, New York und Indien verteilt.
Aktivitäten

Austausch der Handelsplattform der ETF Borrowing & Lending-Abteilung
Beratung, Leitung und mehrphasiges Architekturdesign über den Austausch der kompletten Handelsplattform der New York ETF Borrowing & Lending-Abteilung von Pirate und FlexTrade hin zu Bloomberg SSEOMS, BasketTrader, CGI und MUREX.

Die übergeordneten Ziele waren die komplette Handelsplattform auszutauschen um Lizenzkosten durch die Benutzung von Bloomberg SSEOMS zu sparen, einen transparenteren Fluss von Handelsdaten durch die Nutzung des hauseigenen FIX Message Backbones zu erreichen und die Commerzbank Richtlinie zu erfüllen die vorgibt, dass alle Positionen der Bank in MUREX gehalten werden müssen. Des Weiteren wurde erwartet dass die neue Plattform eine höhere Gesamtgeschwindigkeit aufweisen wird.

Da das Projekt das Sparen von mehreren Millionen Euros garantierte, wurde es als ein COIN Projekt akzeptiert.

In meiner Rolle als Business Analyst arbeitete ich eng mit der Fachabteilung zusammen um optimale Lösungen für konkrete Probleme zu finden und alle potentiellen Probleme und Schwachstellen aufzuzeigen.

In meiner Rolle als Softwareinfrastrukturarchitekt erarbeitete ich optimale Datenflüsse um sicherzustellen, dass alle existierenden Schnittstellen und regulatorischen Berichte weiterhin versorgt werden. Ich beriet die Fachabteilung welche Teile der Plattform durch welche Alternativen ausgetauscht werden können und welche zwingende Erweiterungen benötigen. Ich erstellte Aufwandsschätzungen für verschiedene Architekturvorschläge und mehrphasige Migrationen.

In meiner Rolle als Chef-Entwickler erweiterte oder entwarf ich Applikationen und Prototypen die existierende Teile von Pirate und FlexTrade ersetzten. Ebenso spezifizierte ich die Anforderungen für einen neuen Dienst „MUREX Position Service“ welcher auf Anfrage aktuelle Positionen aus MUREX bereitstellte. Dieser Dienst wurde von der MUREX-Abteilung implementiert und in Betrieb genommen und später auch von verschiedenen anderen Abteilungen genutzt. Zusätzlich plante, verteilte und verfolgte ich alle Aktivitäten der Entwickler und berat diese bei komplexen Problemen.

In meiner Rolle als Onsite Koordinator koordinierte ich alle Kommunikation, Wissenstransfers und Aktivitäten unserer Entwicklerkollegen in Indien.

Seit der Inbetriebnahme der neuen Handelsplattform wurden durch das bessere Lizenzmodell von Bloomberg SSEOSM eine Menge an Kosten eingespart. Als weiteres Ergebnis sind nun alle Positionen in MUREX in Echtzeit vorhanden und damit die Richtlinie erfüllt dass alle Positionen in MUREX verfügbar sein müssen. Auch war es der Bank nun möglich eine Übersicht über alle bankweiten Positionen in einem System zu haben, was täglich vom Management und Direktorium zur Entscheidungsfindung genutzt wird.
Die neuen Handelsdatenflüsse durch den bankeigenen FIX Message Backbone befolgten alle Standards und Regeln was einerseits zu einem leichter verständlichen Routing und andererseits zu einer wesentlich transparenteren Nachverfolgung von Handelsaufträgen führte. Administratoren konnten nun durch die Benutzung von Standard-Tools einen besseren Support für problematische Aufträge bieten.
Durch die Nutzung von neu entwickelter oder existierender Hochgeschwindigkeitsapplikationen konnte die Gesamtgeschwindigkeit stark gesteigert werden. Täglich wiederkehrende Prozesse wie zum Beispiel das Rebalancing des Hauptkontos konnten so stark optimiert werden dass sie nun nur Minuten anstelle von Stunden benötigen.
Mit dem Einführen von Expertensystemen (Rule Engines) im Handelsdatenfluss konnten das Management, die Händler, Administratoren und Entwickler eine Menge an Zeit sparen da die Kommunikation zwischen den Personen nun auf einer standardisierten Regelsprache basiert.

Technologien:
Applikation: Java 6, Drools, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, Eclipse, NetBeans

BasketTrader
Architektur, Design und Weiterentwicklung der existierenden Applikation “BasketTrader” zum Etablieren einer abteilungsübergreifenden Lösung für Investment-Banking und Handel. BasketTrader ist eine Frontendapplikation zur Eingabe und Überwachung von Handelsaufträgen in Echtzeit.
Die Applikation bezieht in Echtzeit Preise von verschiedenen Anbietern und zeigt diese dem Benutzer zur Finden einer Handelsentscheidung an. Des Weiteren können Handelsaufträge mit den Marktpreisen generiert werden. Für den Bezug dieser Preisdaten wurden verschiedene steckbare Module (Plug-Ins) für die Preislieferanten Bloomberg und Reuters realisiert
Es wurde auch ein Modul hinzugefügt dass die Benutzerkonfiguration aus einer Datenbank lädt.
BasketTrader wurde für die New Yorker ETF Borrowing & Lending-Handelsabteilung dahingehend erweitert, dass auch ETFs, Swaps, Cash-Amounts und andere Typen von Instrumenten gehandelt und verwaltet werden konnten. Um geliehene und verliehene Positionen der Handelsabteilung in Balance zu halten wurde ein präziser Algorithmus implementiert der das Rebalancing eines Kontos mit mehreren Unterkonten und einer Vielzahl von Instrumententypen im Wert von mehr als 4 Milliarden US Dollar auf Abruf vornahm.
Als Ergebnis dieses Algorithmus wurde dem Rebalancing-Händler ein fertig zu handelndes Portfolio mit Kauf- und Verkaufsaufträgen angeboten um das Konto täglich ein- oder mehrmals in Balance zu bringen. Um die Balance des Kontos zu ermitteln wurden alle Positionen der Abteilung von dem bankinternen WebService MUREX Position Service abgerufen.
Ebenso wurden alle Geschäftsprozesse wie das Erzeugen oder die Rückgabe von ETFs, außerbörslicher Handel oder der Kontotransfer von Positionen implementiert
BasketTrader wurde von bis zu 3 Entwicklern parallel entwickelt und von bis zu 30 Händlern genutzt. Weitere Informationen über den BasketTrader und seine Geschichte sind in diesem Dokument in der Zeitspanne von 09.2008 bis 03.2011 verfügbar.

Technologien:
Applikation: Java 6, C++, Shell Script,
Frameworks: Swing, Web Service Client, Google Guice, JPA, Hibernate, MyBatis, Jenny, Disruptor, Bloomberg Open Market Data, Reuters RFA
Protokolle: FIX Protocol 4.2, WSDL
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS, Reuters 3000 XTRA, MUREX
Tool Stack: Linux, Subversion, Jira, NetBeans, MS Visual Studio 2010

CGI
Architektur, Design und Implementierung des Kerns und Prototyps des regelbasierten Expertensystems (Rules Engine) “CGI” als handelsabteilungsübergreifende Lösung zum Buchen von ausgeführten Handelsaufträgen in MUREX für die Verwaltung von Positionen und spätere Rechnungsstellung. CGI ist eine ETL-Prozessapplikation für Handelsnachrichten. Es extrahiert und transformiert eingehende FIX Protocol-Nachrichten über Handelsausführungen in MUREX-spezifische Stored SQL Procedure Aufrufe und führt diese aus.
Bisher nutzte die Cash Equities Handelsabteilung die hauseigene Applikation “SSEOMS-MF”. Diese war sehr intransparent und verkompliziert entwickelt worden und hatte einige ernsthafte Geschwindigkeitsprobleme bei Buchungen von hochvolumigen Transaktionen in MUREX.
Hinzu kam eine Anforderung für die New York ETF Borrowing & Lending Handelsabteilung alle Transaktionen ebenfalls in MUREX zu buchen, da die Applikation Pirate durch ihre interne Positionsverwaltung gegen eine bankinterne Richtlinie verstieß.
Eine weiterte Anforderung der Administration und des Supports war es die Regeln, zu Beispiel Mappings, die während der Transformation zur Anwendung kamen im laufenden Betrieb ändern zu können ohne auf einen neuen Liefereinsatz angewiesen sein zu müssen.
CGI wurde als hochflexible, multi-threaded und Regelsätze-basierte Pipeline entworfen mit multiplen und steckbaren Handlern für maßgeschneiderte Nachrichtenverarbeitung in jeder der Input-, Transformations-, und Output-Stufen.
Der Kern wurde um das Business-Rules-Managementsystem Drools konzipiert. CGI konnte mit generellen Transformationsregeln gefüttert werden welche allen Handelsabteilungen gemein waren. Diese konnten für jede Abteilung mit spezifischen Regelsätzen überschrieben oder mit Neuen erweitert werden. Auf diese Weise konnten verschiedene Nachrichten von multiplen Abteilungen mit gemeinsamen und spezifischen Regelsätzen in einer einzigen Instanz verarbeitet werden. Die Regeln wurden in einer Java-basierten domänenspezifischen Sprache (DSL) verfasst.
Die Applikation wurde an die New Yorker ETF Borrowing & Lending Handelsabteilung ausgeliefert während die Handelsplattform Pirate ausgetauscht wurde. Zur Anwendung kamen allgemeine Nachrichtenhandler, sowie allgemeine und abteilungsspezifische Regeln.
Später wurde CGI an die Cash Equities Handelsabteilung mit allgemeinem und abteilungsspezifischen Regelsätzen und einigen spezifischen Nachrichtenhandlern ausgeliefert.
Die Diskussionen um CGI auch an die Flow Trading Handelsabteilung auszuliefern dauern aktuell noch an. Aktuell gibt es auch eine Diskussion ob CGI für den Londoner Index Arbitrage-Handel eingesetzt werden kann.
Des Weiteren wird diskutiert ob CGI künftig als System für das Routing von Handelsaufträgen fungieren kann, da die Natur des Systems dies zulässt. Somit kann der existierende ESA-Router ersetzt werden und eine gemeinsame Codebasis und DSL geschaffen werden wodurch Kosten eingespart werden können.

Durch die Verwendung von CGI als geschäftsregelbasierte Transformations-Engine zum Generieren von MUREX Positionen aus FIX Protocol-Nachrichten heraus erhielt die Bank eine abteilungsübergreifende Lösung, die auf alle Eigenheiten der jeweiligen Abteilung eingehen kann, Die Lösung kann auch für komplett andere, ebenfalls in der regelbasierten Domäne angesiedelten Probleme, wie zum Beispiel Routing wiederverwendet werden.
Im Ergebnis konnte die ETF Borrowing & Lending Handelsabteilung durch den Einsatz vn CGI erfolgreich von Pirate weg migriert werden und die bankinterne Richtlinie zum Halten von Positionen in MUREX implementieren.
Die Cash Equities Abteilung konnte erfolgreich von der undurchsichtigen SSEOMS-MF Schnittstellenapplikation weg migriert werden. Administratoren und Supporter konnten nun Regeln im laufen Betrieb in einer einfachen Sprache anpassen. Zusätzlich wurden alle Geschwindigkeitsprobleme gelöst. Eine Messung ergab dass eine Stunde Verarbeitung in SSEOMS-MF auf eine Minute Verarbeitung in CGI beschleunigt werden konnte. Hochvolumige Transaktionen sind nun nahezu in Echtzeit in MUREX verfügbar.
Neben den technischen Vorteilen profitierten beide Handelsabteilungen von der strikten Trennung der Geschäftsregeln von der technischen Implementierung. Die Kommunikation der Entwickler, Administratoren, Supporter, Händler und des Management konnte stark verbessert werden, da alle Regeln in einer gemeinsam verständlichen Sprache formuliert waren. Dadurch wurden das Hinzufügen oder Ändern von Regeln, sowie das Finden von Problemen für alle involvierten Personen wesentlich einfacher.
CGI wurde von bis zu 2 Entwicklern parallel entwickelt. Meine Aufgabe war es eine Lösung für die ursprünglichen Probleme und Anforderungen zu erarbeiten, den Kern und Prototyp zu implementieren, der allgemeine und abteilungsspezifische Regelsätze verarbeiten kann.
Sobald CGI ein startklares System war, dass die Erfüllung aller funktionalen Anforderungen beweisen konnte, übergab ich die weitere Evolution an einen Mitarbeiter der die konkreten Geschäftsregeln und spezifischen Nachrichtenhandler in Zusammenarbeit mit den Fachabteilungen und Händlern implementierte.
Ich entwickelte CGI parallel zum BasketTrader und konzentrierte mich wieder auf die Entwicklung des BasketTrader nachdem die Entwicklung von CGI von meiner Seite soweit fortgeschritten war dass ich es übergeben konnte.

Technologien:
Applikation: Java 6, Drools, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, Eclipse

Nebensächliche Aktivitäten

  • Erweiterung der existierenden hauseigenen Applikation ESA Router und Fehlerbehebung in Regelfiltern, sowie Hinzufügen von neuen Verbindungen. ESA-Router ist ein Routingsystem für FIX Protocol Nachrichten. Diese Nachrichten werden zu Beispiel zu Brokern, Börsen oder bankinternen Darkrooms geleitet.
  • Entwicklung eines FIX Protocol Logdatei-Inspektors der unter anderem auch FIX Protocol Nachrichten aus Logdateien oder Replay-Dateien für CGI erzeugen kann.
  • Aufnahme von Anforderungen und Erarbeitung einer Lösung um die Handelsplattform der Londoner Index Arbitrage Handelsabteilung mit BasketTrader und CGI zu ersetzen.

Technologien:
Applikation: Java 6, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, NetBeans, Eclipse

Commerzbank AG
7 Monate
2011-03 - 2011-09

System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt

Entwickler, Reverse-Ingenieur
Entwickler, Reverse-Ingenieur

(Name auf Anfrage) ist ein System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt um Marktanalysten, sowie internen und externen Kunden verschiedene Arten von Daten für den täglichen Gebrauch bereitzustellen. Dabei handelt es sich hauptsächlich um Instrument- und Marktdaten, Zinskurven und Prognosen,
Das System bedient mehr als 250 Kunden und Abnehmersysteme.

Verantwortlichkeiten:

  • Unterbreiten von Lösungen an die Fachabteilung
  • Design von Softwaremodulen
  • Implementierung

Abteilung:
(Name auf Anfrage) umfasste 6 Personen inklusive Fachkoordinatoren, Administratoren und Entwicklern.

Aktivitäten:
Reverse Engineering, Migration, DownloadService
Reverse-Engineering des gesamten (Name auf Anfrage) Systems in Zusammenarbeit mit der Fachabteilung und einem Software Architekten nachdem alle FastBase Entwickler im Zuge der Übernahme der Dresdner Bank diese über Nacht verließen.
Migration und Integration des gesamten Systems aus der alten Welt der Dresdner Bank in die neue Welt der Commerzbank.
Architektur, Design, Implementierung und Integration eines neuen DownloadService für die (Name auf Anfrage)  ETL-Prozesse mit Unterstützung für HTTP, HTTPS, FTP, SFTP, LOCAL und SMB Protokolle und optionaler Proxy Authentifizierung.
Ich wechselte als Interim-Entwickler und Reverse-Ingenieur in das (Name auf Anfrage) Projekt als sich dieses in einer kritischen Phase befand um dem Projekt zu helfen am Leben zu bleiben bis ein neuer langfristiger Entwickler gefunden wurde.
Nach dem Reverse-Engineering des Kerns wurden alle Ergebnisse und Diagramme der Fachabteilung und dem neuen Entwickler übergeben.

Als Ergebnis der Migration überlebte das (Name auf Anfrage) System in der neuen Welt der Commerzbank und existiert dort auch heute noch.
Die Benutzung des neuen DownloadService erlaubt es der Fachabteilung und den Entwicklern neue Download-Prozesse als Teil von ETL-Prozessen durch einfache Konfiguration aufzusetzen.
Die gemeinsame Codebasis spart Kosten indem Codeduplikate vermieden werden und reduziert das Risiko neue Fehler zu implementieren.

Tomcat 6 Java 6 Activity BPMN Engine Microsoft SQL Server 2008 2012 Linux MS TFS Eclipse
Commerzbank AG
1 Jahr 7 Monate
2009-09 - 2011-03

verschiedene Applikationen um Synergieeffekte zu erzeugen

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

Das Projekt hatte keinen konkreten Namen. Es war ein übergreifendes Projekt und umfasste mehrere Handelsabteilungen und beinhaltete verschiedene Applikationen um Synergieeffekte zu erzeugen.

Die hauptsächlichen Interessensgruppen waren:

  • Cash Equities: Eine Handelsabteilung für institutionelle und spezielle Kunden um hochvolumige Transaktionen von einzelnen Instrumenten oder Instrumentenlisten auszuführen. Die zentrale Handelsapplikation ist Bloomberg SSEOMS.
  • Flow Trading: Eine Handelsabteilung für gewöhnliche und nicht-spezielle Kunden um klein- und mittelvolumige Transaktionen von einzelnen Instrumenten oder. Instrumentenlisten auszuführen. Die zentrale Handelsapplikation war Realtime Trading Desktop und DeltaAgent.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten im Team
  • Koordination der Aktivitäten im Team
  • Hilfestellung für Administratoren und Supporter
  • Hilfestellung für Kunden
  • Hilfestellung für Händler

Abteilung:
Das Projekt umfasste bis zu 3 Entwickler.

BasketTrader
Architektur, Design und Implementierung einer abteilungsübergreifenden Lösung für Investment-Banking und Handel. BasketTrader ist eine Frontendapplikation zur Eingabe und Überwachung von Handelsaufträgen in Echtzeit.
BasketTrader is eine FIX Protocol-konforme, modulare, hochperformante Java Swing GUI, die von Händlern für hochvolumige Transaktionen von Einzelinstrumenten oder Instrumentenlisten mit einer niedrigen Latenz eingesetzt wird.
Er unterstützt alle Arten von Instrumenten aus multiplen Instrumentenuniversen. Das Instrumentenuniversum ist als modulare Implementierung realisiert (Plug-In). Dadurch können abteilungsspezifische Instrumentendatenbank, Instrumente von anderen Anbietern oder andere bankinterne Instrumentenuniversen kaskadiert genutzt werden. Die Applikation verwaltet und visualisiert komplette Lebenszyklen wie Eingabe, Ausführung und Überwachung von Handelsaktivitäten.
Während einer Handelsaktivität wird eine Reihe von Informationen angezeigt wie zum Beispiel der Zustand des Geschäfts und entsprechende Fehler, der Fortschritt des Geschäfts, die Anzahl der ausgeführten Einheiten, durchschnittliche Ausführungspreise und mehr.
Für jedes Instrument in einem Warenkorb sind Echtzeitpreise (BID und ASK) sichtbar. Die Preislieferung ist eine Implementierung eines Reuters RFA Clients. Sie unterstützt verschiedene Markttiefen die optional auch angezeigt werden können.
BasketTrader bietet ein frei konfigurierbares Modul um Handelsnachrichten mit spezifischen Informationen anzureichern, die von Händlern im Frontend eingegeben werden können oder fix sind.
Die Flow Trading Abteilung nutzt dieses Modul um den Händlern die Eingabeparameter einer algorithmischen Handels-Engine zu offerieren. Dadurch können die Händler die Handels-Engine instruieren wie ein Handel getätigt werden soll. Beispiele sind das defensive Handeln entsprechend des volumen- oder zeitgewichteten Durchschnittspreises (VWAP / TWAP).
Die Cash Equities Abteilung nutzt dieses Modul um den Nachrichtenrouter ESA Router zu instruieren wohin ein Handelsauftrag geleitet werden soll.

BasketTrader wurde von bis zu 3 Entwicklern parallel entwickelt und von bis zu 15 Händlern im Flow Trading und 2 Händlern in Cash Equities genutzt. Aufgrund seiner Möglichkeiten FIX Protocol-Nachrichtenkommunikationen sehr tief inspizieren zu können wird es auch von einer unbekannten Anzahl an Entwicklern in der Bank als Diagnosetool genutzt.

Technologien
Applikation: Java 6, C++, Shell Script,
Frameworks: Swing, Google Guice, Disruptor, Reuters RFA
Protokolle: FIX Protocol 4.2
Software: Reuters 3000 XTRA
Tool Stack: Linux, Subversion, NetBeans

Nebensächliche Aktivitäten

  • Erweiterung und Fehlerbehebung der existierenden Applikation SSEOMS-MF und ihrer Regelfilter, sowie Hinzufügen von Verbindungen zu dieser.
  • SSEOMS-MF war ein ETL-Prozessor um FIX Protocol Nachrichten in MUREX Stored SQL Procedure-Aufrufe zu transformieren. SSEOMS-MF wurde später durch CGI ersetzt.
  • Entwicklung von Excel-basierten Berichten um tägliche
  • Transaktionen zu inspizieren und zu filtern.
  • Entwicklung eines detaillierten FIX Protocol Logdateien-Betrachters, basierend auf dem BasketTrader.
  • Entwicklung verschiedener Testtools.

Technologien:
Applikation: Java 6, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, NetBeans, Eclipse

Commerzbank AG
7 Monate
2008-09 - 2009-03

komponentenbasiertes FIX Protocol Nachrichtenverarbeitungssystem

Entwickler
Entwickler

Object+ ist ein in Amsterdam ansässiges Softwarehaus dass die Applikation (Name auf Anfrage) entwickelt und verkauft.
(Name auf Anfrage) ist ein komponentenbasiertes FIX Protocol Nachrichtenverarbeitungssystem dass FIX Nachrichten enkodieren, dekodieren, routen und auf verschiedene Arten verarbeiten kann.
Das Ziel war es einen (Name auf Anfrage) für die Fortis Bank zu entwickeln um Aktienangebote von der schwedischen OMX Börse zu empfangen und in einer Datenbank zu speichern.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung

Abteilung:
Das Projekt umfasste 2 Entwickler.

(Name auf Anfrage)
Design und Implementierung eines Fix Message Übersetzers und eines Fix Quotation Datenbankmoduls für den(Name auf Anfrage) sowie Inbetriebnahme der Lösung in der Umgebung des Kunden.
Als Ergebnis der Installation des kundenspezifischen (Name auf Anfrage) konnte die Fortis Bank neue Prozesse für schwedische OMX Handelsgeschäfte in ihrer Clearance- und Settlement Abteilung aufsetzen,

C++ Shell Script Berkeley DB FIX Protocol 4.2 Solaris Visual Source Safe Visual Studio 6 (Name auf Anfrage)
Object+ Fortis Bank
3 Monate
2008-07 - 2008-09

System dass alle Handelsgeschäfte der Commerzbank auf Legalität und Marktkonformität prüft.

Entwickler, Architekt
Entwickler, Architekt
  • Analyse der Geschäftsanforderungen
  • Design des Scheduling-Plans
  • Implementierung

Abteilung:
Das Projekt umfasste 3 Personen inklusive Fachkoordinatoren und Entwickler.

Aktivitäten:
UC4 Migration
Design, Implementierung und Migration aller existierenden Crontab- und manuellen Prozesse auf die UC4 Scheduling-Plattform.
Bisher wurden alle Prozesse entweder manuell oder durch Crontab gestartet. Crontab verletzte die Scheduling-Richtlinie.
Als Lösung wurden alle Prozesse auf die UC4 Scheduling-Plattform migriert und im Ergebnis die Aufwände der Administration durch automatisierte anstelle von manuellen Prozessen
minimiert. Zusätzlich wurde die Scheduling-Richtlinie durch den Wegfall von Crontab implementiert

UC4 UC4 Script Shell Script Solaris
Commerzbank AG
1 Jahr
2007-08 - 2008-07

MDDS

Entwickler, Architekt
Entwickler, Architekt

MDDS ist das zentrale System in der Bank um statische und Marktdaten von verschiedenen Lieferanden zu sammeln und intern anzubieten.
Die Daten werden normalisiert und in einer SQL Datenbank, sowie einem Flatfile-System gespeichert. MDDS verteilt die Daten an mehr als 200 Kunden und Abnehmersysteme. Kern des MDDS Systems ist eine riesige Erweiterung des Assetmanagementsystems Asset Control.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Softwaremodulen
  • Implementierung

Abteilung:
Das Projekt umfasste bis zu 30 Personen inklusive Fachkoordinatoren und Entwickler.

Aktivitäten
MDDS
Design und Implementierung verschiedener Modules und ETL-Prozesse für MDDS unter Beachtung der gegebenen Architektur.
Periodische Migrationen von MDDS auf neue Versionen des Kernsystems Asset Control.

C++ Perl Shell Script Solaris ClearCase Sun Studio Asset Control UC4
Commerzbank AG
1 Jahr
2006-09 - 2007-08

MDDS

Entwickler, Architekt
Entwickler, Architekt

MDDS ist das zentrale System in der Bank um statische und Marktdaten von verschiedenen Lieferanden zu sammeln und intern anzubieten.
Das Einsammeln der Data ist in mehr als 350 ETL-Prozessen implementiert, die alle innerhalb eines komplexen Scheduling-Plans getriggert werden.
Das Ziel des Projektes war die Migration des kompletten Scheduling-Plans von der vorherigen Scheduling-Plattform Autosys auf die neue UC4 Plattform.
MDDS wurde als erstes Pilotprojekt ausgewählt um die Migration auf UC4 durchzuführen und UC4 als eine stabile Plattform zu evaluieren.
UC4 was war im Begriff die neue bankweite Standardplattform für das Scheduling zu werden.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von UC4 Objekten
  • Design einer API um UC4 programmatisch steuern zu können
  • Implementierung
  • Migration
  • Inbetriebnahme
  • Hilfestellung für Administratoren und Supporter

Abteilung:
Das Migrationsprojekt umfasste 2 Entwickler.

Aktivitäten:
UC4 Migration
Design, Implementierung, Migration und Inbetriebnahme aller Prozesse auf die neue UC4 Plattform und Entwicklung einer API für die programmatische Kontrolle von UC4 aus MDDS Prozessen heraus.
Im Ergebnis der Pilotmigration erwies sich UC4 als robuste und stabile, flexible und komfortable Scheduling-Plattform. Später wurde UC4 der neue Standard in der Bank und andere Abteilungen nutzten die entwickelte API um UC4 von ihren Applikationen heraus zu steuern.

Für MDDS war die Migration ein voller Erfolg, da die Flexibilität und Visualisierungsmöglichkeiten jene von Autosys bei weitem übertrafen.

Java 1.4 Perl Shell Script UC4 UC4 Script Shell Script Solaris
Commerzbank AG
2 Jahre 4 Monate
2005-04 - 2007-07

Webentwicklung

Architekt, Entwickler, Designer
Architekt, Entwickler, Designer

Freiberufliche Tätigkeit als Webentwickler

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Webseiten
  • Implementierung
  • Inbetriebnahme

Aktivitäten
Website Development
Design und Entwicklung verschiedener Webseiten für verschiedene Kunden.

HTML 4 JavaScript Adobe Dreamweaver Adobe Photoshop
Verschiedene
7 Monate
2004-10 - 2005-04

Reverse-Engineering der Infotainment Software

Consultec AG war ein Unternehmen dass die Applikation Infotainment entwickelte und verkaufte.
Infotainment, als verteiltes Multimedia-, Präsentations- und Content-Managementsystem, konnte multiple zeitgesteuerte Werbespots verschiedener Formate auf einem einzigen Bildschirm anzeigen. Es war zusammen mit einer Content-Managementapplikation paketiert.
Das Ziel war ein Reverse-Engineering der Infotainment Software und das Training künftiger Entwickler und Content-Schöpfer.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Analyse der Architektur
  • Design von Websites
  • Implementierung
  • Inbetriebnahme

Abteilung:
Ich war der einzige Entwickler.

Aktivitäten:
Infotainment
Reverse-Engineering der Infotainment Software, Erweiterung kleinerer Features und Behebung von Fehlern.
Entwicklung einer Webapplikation für ein Partnerunternehmen die Händlerprovisionen anzeigt.

Visual C++ 6 Java 1.4 Swing PHP SMIL Visual Source Safe Visual Studio 6 JBuilder Apache Webserver
4 Jahre 2 Monate
2000-08 - 2004-09

Entwicklung von Schnittstellen und ETL-Prozessen

Rolle: Chef-Entwickler, Architekt, Business Analyst, Netzwerkadministrator

Beschreibung:

FBP Business Consulting GmbH und Südwest AG waren eng verbundene Unternehmen in der Geschäftsberatungsindustrie. Sie boten eine Reihe von industriespezifischen Diensten für Kunden an.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für Kunden

Abteilung:

  • The IT Abteilung umfasste 4 Personen.

Aktivitäten:
Generelle Aktivitäten
Entwicklung von Schnittstellen und ETL-Prozessen für verschiedene Datenlieferanten und Kundensysteme.
Entwicklung von kundenspezifischen Softwarelösungen.
Administration eines Netzwerkes mit bis zu 150 PCs und Servern.

Java 1.4 J++ Visual C++ 6 Visual Basic 6 VBA FoxPro Tomcat MySQL FoxPro DATEV SAP JBuilder Visual Studio 6
FBP Business Consulting GmbH Südwest AG

Position

Position

  • Senior Softwareentwickler
  • Architekt
  • Business Analyst

Kompetenzen

Kompetenzen

Top-Skills

Java Cloud Banking Software

Schwerpunkte

Chief Architect
Chief Developer
DevOps
Senior Architect
Senior Developer

Aufgabenbereiche

Banking
Investment Banking
Market Data
Market Research
Team Leadership
Trading

Produkte / Standards / Erfahrungen / Methoden

Chef Cookbooks
Cryptocurrency Exchanges APIs
Eclipse
Enterprise Architect
Gerrit
Git
Github
IntelliJ Idea
Jenkins
JetBrains IntelliJ Idea
JetBrains PyCharm
Jira
Maven
Microsoft SQL Server 2008; 2012
Microsoft Teams
MS TFS
NetBeans
PL/SQL Developer
REST
SAP ASE
SAP BackupServer
SAP Cloud Platform
SAP FaultManager
Scrum
Skype Business
Struts
UC4 One Automation
UC4 Scheduling
VirtualBox
Visual Studio Code
WebFOCUS
Zube Kanban

Technologien

  • Core Java
  • JEE
  • EJB
  • IoC (CDI, Google Guice)
  • MVC
  • Sockets
  • Raw Sockets
  • Multithreading
  • RPC
  • JDBC
  • Rules Engine
  • Vert.x
  • Asynchronous
  • Reactive
  • Distributed

Protokolle

  • FIX Protocol
  • SOAP
  • REST
  • Websocket
  • SignalR
  • HTTP(s)
  • FTP
  • SFTP
  • SMB
  • CIFS
  • XML/RPC
  • RMI
  • IP
  • TCP
  • UDP
  • ARP
  • Raw Sockets

Frameworks

  • Bloomberg Open Market Data API
  • Reuters RFA
  • Cryptocurrency Exchange APIs
  • JAX-WS
  • JAX-RS
  • Log4j
  • JPA
  • Hibernate
  • MyBatis
  • Jenny
  • Primefaces
  • Java Server Faces
  • Swing
  • jQuery (+Mobile)
  • Disruptor
  • Drools
  • OSGI (Apache Felix)
  • Vert.x
  • UC4 One Automation

Applikationsserver

  • Glassfish
  • Tomcat
  • Websphere
  • Apache HTTP Server

IDEs

  • NetBeans
  • IntelliJ Idea
  • Eclipse
  • JBuilder
  • Visual Studio
  • Oracle Studio

Revisionskontrollsysteme

  • Git + Github
  • Subversion
  • ClearCase
  • Team Foundation Server
  • Visual Source Safe

Tools

  • Maven
  • Ant
  • JUnit
  • GSON
  • Jackson
  • Unix standard tools
  • Visio
  • Wiki
  • Sharepoint
  • Bloomberg Terminal
  • Reuters 3000 Xtra

Architektur

  • Softwarearchitektur
  • Softwareinfrastrukturarchitektur
  • Objektorientierung
  • Design Patterns
  • Model-View-Controller (MVC)
  • Microservices
  • Asynchrone Nachrichtenvcerarbeitung
  • Verteilte Transaktionen

Technische Kompetenzen

  • FIX Protocol-konforme Systeme
  • Finanzinstrumente
  • Kryptowährungen
  • Markdaten
  • Algorithmischer Handel
  • Hochfrequenzhandel
  • Hochvolumenhandel
  • Niedriglatenzhandel
  • Nachrichtenstromverarbeitung
  • ETL-Prozesse (Extract, Transform, Load)
  • Netzwerksystem
  • Asynchronität
  • Echtzeit
  • Routing
  • Rules Engineering
  • Reverse Engineering
  • Scheduling

Entwicklung

  • Agile / Scrum
  • Prototyping
  • Extreme Programmierung (XP)

Soziale Kompetenzen

  • Eigeninitiative
  • Kommunikation
  • Lernbereitschaft
  • Teammanagement und ?Koordination
  • Unternehmerisches Denken
  • Verantwortungsbewusstsein

Betriebssysteme

Free BSD
iptables
Linux
Mac OS
Microsoft Windows
Sun Solaris
Unix
Windows 10
Windows 7/10

Programmiersprachen

Assembler
Bash Script
C/C++
Groovy
GSON
Hocoon
Jackson
Java
Java 8
JavaScript
JSON
JUnit 4
Oracle SQL
Perl, PHP
Python
Shell Script
SQL
(Oracle, Microsoft, Sybase, MySQL)
UC4 Script
Vert.x
Visual Basic
Visual Basic Script
Visual C++

Deklarative Sprachen
HTML 4
HTML 5
XHTML
XML
FIXML
SMIL
JSON
HOCON

Datenbanken

Berkeley DB
Fox Pro
MongoDB
MS SQL / MS Access
MySQL
Oracle 12c
Oracle Database 12c
Redis
Sybase ASE

Datenkommunikation

POSIX Socket
Raw Socket
TCP/IP
UDP
Websocket
Windows Socket

Design / Entwicklung / Konstruktion

OOA
OOD
OOP
SignalR (eigener Client) HMAC

Personalverantwortung

Langzeitig Chef-Softwareentwickler und Architekt von bis zu 10 Mitarbeitern

Branchen

Branchen

  • Bankwesen
  • Investment Banking
  • Handel mit Finanzinstrumenten
  • Warenhandel
  • Marktanalyse
  • Kreditwesen
  • Bankenaufsicht

Einsatzorte

Einsatzorte

Heidelberg (+100km) Frankfurt am Main (+10km) Speyer (+100km) Karlruhe (+10km) Stuttgart (+10km)
nicht möglich

Projekte

Projekte

6 Jahre 9 Monate
2017-07 - heute

Plattform für den algorithmischen Handel

Business Analyst, Architekt, Entwickler
Business Analyst, Architekt, Entwickler

(Appname auf Anfrage) eine Plattform fü den algorithmischen Handel von Cryptowährungen auf verschiedenen Börsen.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Überwachung

Aktivitäten

(Appname auf Anfrage)
Architektur, Design und Implementierung einer Microservices Plattform für automatisierten, Hochfrequenz- und Niedriglatenzhandel von Cryptowährungen mit eigenen Handelsstrategien.
Die Implementierung der Plattform folgt komplett modernen Modellen und Mustern wie zum Beispiel: Microservices Architektur, asynchrone und reactive Programmierung, ereignisgetriebene Nachrichtenverarbeitung, verteiltes und zustandsloses Design und NO-SQL Datenhaltung um ein Maximum an horizontaler Skalierbarkeit zu gewährleisten.

Java 8 Vert.x JSON GSON Jackson Hocoon REST Websocket SignalR (eigener Client) HMAC Cryptocurrency Exchanges APIs MongoDB Redis Windows 7/10 Linux VirtualBox iptables NetBeans IntelliJ Idea Git Github Zube Kanban Maven JUnit 4
eigene Firma ( Name gerne auf Anfrage )
1 Jahr 3 Monate
2018-10 - 2019-12

SAP Cloud Platform Core SLES 12 HA Migration

Business Analyst, Entwickler
Business Analyst, Entwickler

SAP Cloud Platform Core SLES 12 HA Migration (systemd)

Analyse, Design, Entwicklung und Migration des bestehenden Betriebssystems SUSE Linux Enterprise Server 11 auf die Version 12 welches die Basis der SAP Cloud Persistence Services (SAP ASE 15.7 / 16.0) für Standalone und High-Availability Setups ist und damit einhergehend die Ablösung von Chef Cookbooks basierter Provisionierung durch die Migration auf Bash Shell Scripte.

Aufgrund des auslaufenden Supports des Betriebssystems SLES 11 musste dies auf die aktuellere Version SLES 12 migriert werden. Um einen sanften Übergang zu garantieren analysierte und validierte ich die genutzten SAP ASE Syste und ihre Komponenten auf ihre Kompatibilität mit dem neuen Betriebssystem, sowie dessen Kernel und der vorhandenen Xen Virtualisierung. Dabei löste ich Abhängigkeiten und Versionskonflikte auf.

Die existierende DevOps automatisierung durch Chef war zu komplex, fehleranfällig und imkompatibel mit künftigen Szenarien der Cloudplattform, so dass ich diese in einfache Shell Scripts migrierte. Dabei wurden auch existierende Shell Scripts angepasst oder erweitert, und volle Unterstützung für den veralteteen System Service Manager SysV init.d, sowie den neuen systemd zu gewährleisten.

Als Ergebnis erhält SAP SE künftig weiterhin vollen Support für das der SAP Cloud zugrundeliegende Betriebssystem SLES und kann selbst seinen Kunden vollen Support für seine cloudbasierte SAP ASE System auf tausenden von Persistenzservern bieten.

Darüber hinaus ist die DevOps automation und die Provisionierung neuer SAP ASE Instanzennun deutlich simpler und robuster.

Sobald alle SLES 11 basierten Virtuellen Maschinen auf SLES 12 migriert sind kann SAP den Support für das veraltete SLES 11 und dessen SysV init.d reibungsfrei einstellen.

Shell Script Bash Script Python Chef Cookbooks JSON REST SAP ASE Windows 10 Linux Eclipse JetBrains IntelliJ Idea JetBrains PyCharm Visual Studio Code Git Gerrit Jira Maven Jenkins SAP Cloud Platform SAP BackupServer SAP FaultManager Scrum DevOps Skype Business Microsoft Teams
SAP SE
Walldorf (Baden)
1 Jahr 2 Monate
2017-11 - 2018-12

Landschaft bestehend aus mehreren Enterprise-Systemen,

Business Analyst, Entwickler, Architekt
Business Analyst, Entwickler, Architekt

(Name auf Anfrage) ist eine Landschaft bestehend aus mehreren Enterprise-Systemen, die alle Kreditmeldungen deutschland- und EU-weit entgegen nimmt und Kreditrisiken verwaltet. Diese Systeme bilden die Grundlage für das gesamte Berichtswesen der Bankenaufseher.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Spezifikation von Softwarefunktionalitäten
  • Implementierung von Prototypen
  • Design von Softwaremodulen
  • Hilfestellung für die Fachabteilung

Abteilung:
(Name auf Anfrage)  umfasst über mehrere Standorte verteilt mehr als 100 Personen.

Aktivitäten:
WebFOCUS Business Adapter für (Name auf Anfrage)
Architektur, Design, Spezifikation und Prototypimplementierung einer geschäftsnahen Abstraktionsebene für Ad-hoc-Auswertungen.
(Name auf Anfrage) ist das Nachfolgesystem für (Name auf Anfrage) und basiert auf einem technisch sehr anspruchsvollen Datenmodell. Bankenaufseher nutzen die Drittanbieterplattform WebFOCUS Business Intelligence. Aufgrund der technischen Komplexität des (Name auf Anfrage) Datenmodells war es den Bankenaufsehern bisher nicht möglich dieses für ihr Berichtswesen zu nutzen.
In meiner Rolle als Business Analyst sammelte ich alle Informationen über die Geschäftsabläufe und Berichtsanforderungen der Bankenaufsicht und spezifizierte und modellierte eine geschäftsnahe Zwischenschicht zwischen den WebFOCUS-Benutzern und dem Datenmodell. Die Implementierung dieser Schicht wurde durch Experten von WebFOCUS implementiert.
Als Ergebnis kann die Bankenaufsucht nun Daten aus (Name auf Anfrage) in ihre Berichte mit aufnehmen. Entsprechende Abstraktionsschichten werden nun analog zu der geschaffenen auch für andere noch nicht in WebFOCUS eingebundene Systeme eingeführt.

Interfaces
Analyse aller eingehenden, ausgehenden und internen Schnittstellen aller (Name auf Anfrage) Applikationen.
Aufrund der ähnlichen Geschäftsnatur der Deutsche Bundesbank und der Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) existieren in beiden Instituten ähnliche Daten. Um der BaFin weitere ausgehende Schnittstellen bereitzustellen werden alle Schnittstellen aller ( Name auf Anfrage)-Systeme analysiert.
Das Ziel ist es der BaFin weitere Schnittstellen ohne signifikante Entwicklungsaufwände bereitstellen zu können.
Technologies

Tool Stack:

Enterprise Architect

WebFOCUS Oracle SQL Oracle Database 12c WebFOCUS PL/SQL Developer Enterprise Architect Java 8 Struts
Deutsche Bundesbank
5 Monate
2017-07 - 2017-11

ETL System

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

(Name auf Anfrage) ist ein ETL System dass Klickstatistiken zu Analystenpublikationen von verschiedenen Lieferanten zu Abrechnungszwecken sammelt, normalisiert und speichert.
Es ist eine Business-Managed Applikation, deren Entwicklung ich derzeit parallel zu meinem Hauptprojekt “FastBase” betreibe.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für die Fachabteilung

Abteilung:
(Name auf Anfrage) umfasst 1 Entwickler und 2 Fachkoordinatoren.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung der (Name auf Anfrage) Applikation.
Analysten der Commerzbank erstellen Marktforschungs- und Analysepublikationen und stellen diese für Kunden über die Kanäle verschiedener Anbieter wie Reuters, Bloomberg, Standard & Poors oder FactSet zur Verfügung. Die Aufgabe des (Name auf Anfrage) ist die sich daraus ergebenden “Welcher Kunde klickte wann auf welche Publikation”-Informationen zu sammeln und intern vorzuhalten.
Das System setzt sich zusammen aus anbieterspezifischen Imports und zeitgesteuerten Prozessen welche die Daten sammeln, validieren, normalisieren und in eine gemeinsame Datenbank laden.
Durch die Benutzung dieses Systems ist die Commerzbank nun in der Lage Abrechnungen auf Ebene einzelner Benutzerkonten zu erstellen. Zusätzlich wird es verwendet um eine Vielzahl an Berichten zu erstellen die zum Beispiel als Basis für Neuverhandlungen von Verträgen oder für die Preisbildung von Publikationen dienen.
Zusätzlich wird mit der Inbetriebnahme des Systems eine regulatorische MiFiD2 Vorgabe erfüllt die vorgibt dass alle Klickstatistiken von internen und externen Portalen nachverfolgbar sein müssen.

Java 8 UC4 Scheduling UC4 One Automation Linux MS TFS NetBeans Microsoft SQL Server 2008; 2012
Commerzbank AG
2 Jahre 9 Monate
2015-03 - 2017-11

System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

(Name auf Anfrage) ist ein System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt um Marktanalysten, sowie internen und externen Kunden verschiedene Arten von Daten für den täglichen Gebrauch bereitzustellen. Dabei handelt es sich hauptsächlich um Instrument- und Marktdaten, Zinskurven und Prognosen,
Das System bedient mehr als 250 Kunden und Abnehmersysteme.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für die Fachabteilung
  • Hilfestellung für Kunden

Abteilung:
(Name auf Anfrage) umfasst 6 bis 8 Personen inklusive Entwicklungs- und Fachabteilung.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung des RESTful Service “(Name auf Anfrage)” sowie des dazugehörigen Clients als flexibles Excel Addin.
Da in der Vergangenheit alle Prognosedaten über hunderte Excel Dateien verteilt waren die sich gegenseitig referenzierten, war die Änderung von Prognosedaten nicht nur mit hohen Aufwänden verbunden, sondern auch sehr fehleranfällig.
Durch den neuen Forecast Service können Benutzer nun ohne technische Kommunikation zwischen den involvierten Abteilungen Prognosedaten parallel lesen und schreiben. Alle technischen Fehler der Excel Dateien wurden eliminiert und der Prozess fehlerhafte Daten zu finden und zu korrigieren wurde maximal vereinfacht.
Zusätzlich wurde mit dem Dienst ein Team Excellence Audit-Befund behoben der vorgibt dass
Änderungen an Prognosedaten nachverfolgbar und versioniert sein müssen.

Technologien
Application Server: Tomcat 8, Java 7, Java 8, REST, CDI
Application Client: Visual Basic for Applications (MS Excel VBA)
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, Eclipse

(Name auf Anfrage) Service
Architektur, Design und Implementierung eines neuen JSF Dienstes “(Name auf Anfrage) Service” um die Weiterentwicklung der bankinternen Client Applikation zu ermöglichen. Der bisherige Client war in Visual Basic 6 entwickelt worden, welches stark veraltet und in der Bank auch nicht mehr verfügbar ist. Dadurch lag die Weiterentwicklung lange auf Eis. Alle Funktionalitäten des bisherigen Clients wurden in einen neuen Java Server Faces Dienst adaptiert und optimiert und sind nun durch den Webbrowser verfügbar.
Der neue Dienst eliminiert eine Reihe von Fehler des veralteten Clients und stellt die Möglichkeit zum Hinzufügen und Weiterentwickeln von Kerngeschäftsfunktionen wieder her.
Der Dienst erfüllt alle Standards und Richtlinien der Bank für moderne Softwarearchitektur und trennt zusätzlich alle Benutzer durch die Schnittstelleneigenschaft des Web-Frontend vom direkten Zugriff auf die Datenbankebene.

Technologien
Application Server: Tomcat 8, Java 8, Java Server Faces, PrimeFaces, jQuery, CDI
Application Client: XHTML, HTML4, XML, CSS3, JavaScript, ActiveX
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, NetBeans

Scheduler Re-Design und Referenzimplementierung eines Prototyps
Architektur, Design und Referenzimplementierung eines UC4-gesteuerten Scheduler-Prototyps, sowie Implementierung von beispielhaften (Name auf Anfrage) Prozessen.
Derzeit erfolgt die Steuerung aller ETL-Prozesse in (Name auf Anfrage) durch eine stark angepasste “Activity BPMN Engine”-Applikation. Diese ist nicht nur äußerst fehleranfällig, sondern gibt generell auch nur sehr wenig Rückmeldung. Sie verstößt auch gegen die bankinterne Scheduler-Richtlinie. Darüber hinaus erfordert sie ein solch beträchtliches Maß an Wissen um ihre Eigentümlichkeiten, dass zwei Entwickler nahezu komplett an die Entwicklung und Fehlerbehebung von absoluten Basisfunktionalitäten gebunden sind.
Die Implementierung einer neuen Scheduling-Plattform auf der Basis von UC4 wird zu einer wesentlich saubereren und leichter zu verstehenden Architektur führen und somit zwei Entwicklerressourcen freisetzen.
Zusätzlich wird die Scheduler-Richtlinie eingehalten da die gemanagte UC4 Plattform verwendet wird. Das neue Design kann leicht von der “SPManager”-Referenzimplementierung für weitere Prozesse adaptiert werden.

Technologien:
Prototype Applications: Java 8, Shell Script
Datenbank: Microsoft SQL Server 2008, 2012
Scheduler: UC4 One Automation, Activity BPMN Engine, Tomcat 8
Tool Stack: Linux, MS TFS, Eclipse

SPManager
Architektur, Design und Implementierung einer Applikation zur Verwaltung von Stored SQL Procedures. (Name auf Anfrage)  beinhaltet mehr als 2500 Stored Procedures welche direkt durch die Fachabteilung auf dem produktiven System geändert werden.
Bisher war es aufgrund von Zugriffsbeschränkungen und mangelnder Kommunikation sehr schwierig die produktiven Stored Procedures synchron zu denen in der Entwicklungsumgebung zu halten. Das führte bei Liefereinsätzen in der Produktionsumgebung oft zu Fehlern wenn solche geänderten Stored Procedures durch neue Softwarepakete adressiert wurden. Darüber hinaus gab es keine Revisionskontrolle oder Änderungsverfolgung der Stored Procedures.
Der SPManager findet auf täglicher Basis neue und geänderte Stored Procedures in der Produktionsumgebung und meldet diese samt Quellcode an die Entwicklungsabteilung zur Einpflege in die Revisionskontrolle. Dadurch sind alle Stored Procedures in TFS versioniert, was zu wesentlich unaufgeregteren Liefereinsätzen führt. Zusätzlich werden auf wöchentlicher Basis Nutzungsstatistiken gemeldet um unbenutzte Stored Procedures aufzuspüren.
Der SPManager ist die Prototyp- und Referenzimplementierung der neuen UC4-basierten Scheduling-Plattform.

Technologien:
Application: Java 8, Shell Script
Datenbank: Microsoft SQL Server 2008, 2012
Scheduler: UC4 One Automation
Tool Stack: Linux, MS TFS, Eclipse

Generelle Aktivitäten:

  • Entwicklung von neuen Lieferprozessen.
  • Refactoring von existierenden Applikationen in eine neue und leichter verständliche Struktur.
  • Beratung von Empfehlung von Lösungen zu komplexen technischen Problemen.
  • Kommunikation und Abstimmung mit anderen Abteilungen.
  • Überwachung von übergeordneten Zielen.
  • Verbesserung der Gesamtarchitektur.
  • Außerdienststellung von unbenutzten Diensten.

Technologien:
Application Server: Tomcat 7 + 8, Java 7 + 8
Application Client: Visual Basic for Applications (MS Excel VBA)
Datenbank: Microsoft SQL Server 2008, 2012
Tool Stack: Linux, MS TFS, Eclipse

Commerzbank AG
1 Jahr 8 Monate
2015-04 - 2016-11

Mehrbenutzerapplikation

Business Analyst ,Architekt, Entwickler
Business Analyst ,Architekt, Entwickler

(Name auf Anfrage) ist ein Unternehmen und eine Plattform zum Handeln und Verwalten von elektronischen Waren. Zur Plattform gehört auch ein Onlineshop.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten im Team
  • Koordination der Aktivitäten im Team
  • Hilfestellung für Händler

Abteilung:
(Name auf Anfrage) ist mein privates Unternehmen mit einem Entwickler und einem Händler.

Aktivitäten:
(Name auf Anfrage)
Architektur, Design und Implementierung der Mehrbenutzerapplikation “(Name auf Anfrage)”. (Name auf Anfrage) ermöglicht es Händlern international mit Waren zu handeln.
Es verfügt über verschiedene Module wie Kunden- und Geschäftspartnerverwaltung,- internationaler Versand, internationale Steuer- und Gebührenverwaltung und mehr.
Die Applikation erlaubt die Handhabung eines kompletten Geschäftslebenszyklus von Angebot, Auftrag, Ausführung über Rechnungsstellung und mehr.
(Name auf Anfrage) beinhaltet automatisierte Schnittstellen-ETL-Prozesse um Lagerbestände und Preise von Waren von verschiedenen Geschäftspartnerunternehmen zu beziehen um daraus Verkaufspreise und Warenbestände zu ermitteln. Es verfügt zudem über ein Modul zur Verwaltung der Inhalte auf den Webseiten des Onlineshops und eine Modul zur Verwaltung von Dokumenten. Darüber hinaus beinhaltet (Name auf Anfrage) ein Modul um Waren über einen Onlineshop zu verkaufen.
Das (Name auf Anfrage)-System sowie der Onlineshop nutzen beide Responsive Design um den Zugriff gleichermaßen über mobile Endgeräte und Desktopgeräte mit einer einzigen Implementierung zu gewährleisten.

WebSphere Glassfish 4.1 JEE 8 EJB PrimeFaces jQuery OSGI CDI XHTML HTML4 XML JavaScript Responsive Design MySQL Linux VirtualBox iptables Subversion NetBeans Adobe Dreamweaver Adobe Photoshop
eigene Firma (Name auf Anfrage )
3 Jahre 7 Monate
2011-09 - 2015-03

verschiedene Applikationen um Synergieeffekte zu erzeugen

Rolle: Chef-Entwickler, Architekt, Business Analyst, Onsite Koordinator

Beschreibung
Das Projekt hatte keinen konkreten Namen. Es war ein übergreifendes Projekt und umfasste mehrere Handelsabteilungen und beinhaltete verschiedene Applikationen um Synergieeffekte zu erzeugen.

Die hauptsächlichen Interessensgruppen waren:

  • Cash Equities: Eine Handelsabteilung für institutionelle und spezielle Kunden um hochvolumige Transaktionen von einzelnen Instrumenten oder Instrumentenlisten auszuführen. Die zentrale Handelsapplikation ist Bloomberg SSEOMS.
  • Flow Trading: Eine Handelsabteilung für gewöhnliche und nicht-spezielle Kunden um klein- und mittelvolumige Transaktionen von einzelnen Instrumenten oder. Instrumentenlisten auszuführen. Die zentrale Handelsapplikation war Realtime Trading Desktop und DeltaAgent.
  • ETF Borrowing & Lending: Eine Handelsabteilung für Leihgeschäfte mit Exchange Traded Funds (ETF). Die vorherige zentrale Handelsapplikation war Pirate.
    „Pirate Ersetzen” war eines von drei COIN Projekten in der Bank das Investitionsbudget akquirieren konnte, während in der Bank aufgrund der Finanzkrise generell alle Investitionen gestoppt wurden. Einzig Projekte, die einen Gewinn oder eine Einsparung von mehreren Millionen Euros garantierten konnten wurden als COIN Projekte akzeptiert.
    Während des Projekts wurden eine Vielzahl an existierenden Applikationen oder auch komplette Handelsplattformen in den einzelnen Handelsabteilung ausgetauscht.

Ich begleitete das Projekt in verschiedenen Rollen:

  • Als Chef-Entwickler verteilte und verfolgte ich alle Entwicklungsaktivitäten der Abteilung und entwickelte selbst.
  • Als Architekt entwarf ich Teile oder komplette Softwareinfrastrukturen für jede der Handelsabteilungen und definierte komplette Handelsdatenflüsse von der Eingabe über Routing und Ausführung bis hin zur und Abrechnung.
  • Als Business Analyst arbeitete ich eng mit den Händlern zusammen um das Geschäftsmodell zu verstehen und optimale abteilungsübergreifende Lösungen zu finden.
  • Als Onsite Koordinator war ich verantwortlich für Remote-Entwickler in Indien. Dies umfasste die Kommunikation, Koordination, den Wissenstransfer sowie die Zuweisung und Verfolgung von Aufgaben.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für die Fachabteilung
  • Hilfestellung für Kunden

Abteilung:
Das Projekt umfasste 3 bis 8 Entwickler. Inklusive Fachabteilunskoordinatoren, Management, Administration und Referenzkunden umfasste das Projekt bis zu 30 Personen. Die Handelsabteilungen, das Management und die Entwickler waren über Frankfurt, London, New York und Indien verteilt.
Aktivitäten

Austausch der Handelsplattform der ETF Borrowing & Lending-Abteilung
Beratung, Leitung und mehrphasiges Architekturdesign über den Austausch der kompletten Handelsplattform der New York ETF Borrowing & Lending-Abteilung von Pirate und FlexTrade hin zu Bloomberg SSEOMS, BasketTrader, CGI und MUREX.

Die übergeordneten Ziele waren die komplette Handelsplattform auszutauschen um Lizenzkosten durch die Benutzung von Bloomberg SSEOMS zu sparen, einen transparenteren Fluss von Handelsdaten durch die Nutzung des hauseigenen FIX Message Backbones zu erreichen und die Commerzbank Richtlinie zu erfüllen die vorgibt, dass alle Positionen der Bank in MUREX gehalten werden müssen. Des Weiteren wurde erwartet dass die neue Plattform eine höhere Gesamtgeschwindigkeit aufweisen wird.

Da das Projekt das Sparen von mehreren Millionen Euros garantierte, wurde es als ein COIN Projekt akzeptiert.

In meiner Rolle als Business Analyst arbeitete ich eng mit der Fachabteilung zusammen um optimale Lösungen für konkrete Probleme zu finden und alle potentiellen Probleme und Schwachstellen aufzuzeigen.

In meiner Rolle als Softwareinfrastrukturarchitekt erarbeitete ich optimale Datenflüsse um sicherzustellen, dass alle existierenden Schnittstellen und regulatorischen Berichte weiterhin versorgt werden. Ich beriet die Fachabteilung welche Teile der Plattform durch welche Alternativen ausgetauscht werden können und welche zwingende Erweiterungen benötigen. Ich erstellte Aufwandsschätzungen für verschiedene Architekturvorschläge und mehrphasige Migrationen.

In meiner Rolle als Chef-Entwickler erweiterte oder entwarf ich Applikationen und Prototypen die existierende Teile von Pirate und FlexTrade ersetzten. Ebenso spezifizierte ich die Anforderungen für einen neuen Dienst „MUREX Position Service“ welcher auf Anfrage aktuelle Positionen aus MUREX bereitstellte. Dieser Dienst wurde von der MUREX-Abteilung implementiert und in Betrieb genommen und später auch von verschiedenen anderen Abteilungen genutzt. Zusätzlich plante, verteilte und verfolgte ich alle Aktivitäten der Entwickler und berat diese bei komplexen Problemen.

In meiner Rolle als Onsite Koordinator koordinierte ich alle Kommunikation, Wissenstransfers und Aktivitäten unserer Entwicklerkollegen in Indien.

Seit der Inbetriebnahme der neuen Handelsplattform wurden durch das bessere Lizenzmodell von Bloomberg SSEOSM eine Menge an Kosten eingespart. Als weiteres Ergebnis sind nun alle Positionen in MUREX in Echtzeit vorhanden und damit die Richtlinie erfüllt dass alle Positionen in MUREX verfügbar sein müssen. Auch war es der Bank nun möglich eine Übersicht über alle bankweiten Positionen in einem System zu haben, was täglich vom Management und Direktorium zur Entscheidungsfindung genutzt wird.
Die neuen Handelsdatenflüsse durch den bankeigenen FIX Message Backbone befolgten alle Standards und Regeln was einerseits zu einem leichter verständlichen Routing und andererseits zu einer wesentlich transparenteren Nachverfolgung von Handelsaufträgen führte. Administratoren konnten nun durch die Benutzung von Standard-Tools einen besseren Support für problematische Aufträge bieten.
Durch die Nutzung von neu entwickelter oder existierender Hochgeschwindigkeitsapplikationen konnte die Gesamtgeschwindigkeit stark gesteigert werden. Täglich wiederkehrende Prozesse wie zum Beispiel das Rebalancing des Hauptkontos konnten so stark optimiert werden dass sie nun nur Minuten anstelle von Stunden benötigen.
Mit dem Einführen von Expertensystemen (Rule Engines) im Handelsdatenfluss konnten das Management, die Händler, Administratoren und Entwickler eine Menge an Zeit sparen da die Kommunikation zwischen den Personen nun auf einer standardisierten Regelsprache basiert.

Technologien:
Applikation: Java 6, Drools, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, Eclipse, NetBeans

BasketTrader
Architektur, Design und Weiterentwicklung der existierenden Applikation “BasketTrader” zum Etablieren einer abteilungsübergreifenden Lösung für Investment-Banking und Handel. BasketTrader ist eine Frontendapplikation zur Eingabe und Überwachung von Handelsaufträgen in Echtzeit.
Die Applikation bezieht in Echtzeit Preise von verschiedenen Anbietern und zeigt diese dem Benutzer zur Finden einer Handelsentscheidung an. Des Weiteren können Handelsaufträge mit den Marktpreisen generiert werden. Für den Bezug dieser Preisdaten wurden verschiedene steckbare Module (Plug-Ins) für die Preislieferanten Bloomberg und Reuters realisiert
Es wurde auch ein Modul hinzugefügt dass die Benutzerkonfiguration aus einer Datenbank lädt.
BasketTrader wurde für die New Yorker ETF Borrowing & Lending-Handelsabteilung dahingehend erweitert, dass auch ETFs, Swaps, Cash-Amounts und andere Typen von Instrumenten gehandelt und verwaltet werden konnten. Um geliehene und verliehene Positionen der Handelsabteilung in Balance zu halten wurde ein präziser Algorithmus implementiert der das Rebalancing eines Kontos mit mehreren Unterkonten und einer Vielzahl von Instrumententypen im Wert von mehr als 4 Milliarden US Dollar auf Abruf vornahm.
Als Ergebnis dieses Algorithmus wurde dem Rebalancing-Händler ein fertig zu handelndes Portfolio mit Kauf- und Verkaufsaufträgen angeboten um das Konto täglich ein- oder mehrmals in Balance zu bringen. Um die Balance des Kontos zu ermitteln wurden alle Positionen der Abteilung von dem bankinternen WebService MUREX Position Service abgerufen.
Ebenso wurden alle Geschäftsprozesse wie das Erzeugen oder die Rückgabe von ETFs, außerbörslicher Handel oder der Kontotransfer von Positionen implementiert
BasketTrader wurde von bis zu 3 Entwicklern parallel entwickelt und von bis zu 30 Händlern genutzt. Weitere Informationen über den BasketTrader und seine Geschichte sind in diesem Dokument in der Zeitspanne von 09.2008 bis 03.2011 verfügbar.

Technologien:
Applikation: Java 6, C++, Shell Script,
Frameworks: Swing, Web Service Client, Google Guice, JPA, Hibernate, MyBatis, Jenny, Disruptor, Bloomberg Open Market Data, Reuters RFA
Protokolle: FIX Protocol 4.2, WSDL
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS, Reuters 3000 XTRA, MUREX
Tool Stack: Linux, Subversion, Jira, NetBeans, MS Visual Studio 2010

CGI
Architektur, Design und Implementierung des Kerns und Prototyps des regelbasierten Expertensystems (Rules Engine) “CGI” als handelsabteilungsübergreifende Lösung zum Buchen von ausgeführten Handelsaufträgen in MUREX für die Verwaltung von Positionen und spätere Rechnungsstellung. CGI ist eine ETL-Prozessapplikation für Handelsnachrichten. Es extrahiert und transformiert eingehende FIX Protocol-Nachrichten über Handelsausführungen in MUREX-spezifische Stored SQL Procedure Aufrufe und führt diese aus.
Bisher nutzte die Cash Equities Handelsabteilung die hauseigene Applikation “SSEOMS-MF”. Diese war sehr intransparent und verkompliziert entwickelt worden und hatte einige ernsthafte Geschwindigkeitsprobleme bei Buchungen von hochvolumigen Transaktionen in MUREX.
Hinzu kam eine Anforderung für die New York ETF Borrowing & Lending Handelsabteilung alle Transaktionen ebenfalls in MUREX zu buchen, da die Applikation Pirate durch ihre interne Positionsverwaltung gegen eine bankinterne Richtlinie verstieß.
Eine weiterte Anforderung der Administration und des Supports war es die Regeln, zu Beispiel Mappings, die während der Transformation zur Anwendung kamen im laufenden Betrieb ändern zu können ohne auf einen neuen Liefereinsatz angewiesen sein zu müssen.
CGI wurde als hochflexible, multi-threaded und Regelsätze-basierte Pipeline entworfen mit multiplen und steckbaren Handlern für maßgeschneiderte Nachrichtenverarbeitung in jeder der Input-, Transformations-, und Output-Stufen.
Der Kern wurde um das Business-Rules-Managementsystem Drools konzipiert. CGI konnte mit generellen Transformationsregeln gefüttert werden welche allen Handelsabteilungen gemein waren. Diese konnten für jede Abteilung mit spezifischen Regelsätzen überschrieben oder mit Neuen erweitert werden. Auf diese Weise konnten verschiedene Nachrichten von multiplen Abteilungen mit gemeinsamen und spezifischen Regelsätzen in einer einzigen Instanz verarbeitet werden. Die Regeln wurden in einer Java-basierten domänenspezifischen Sprache (DSL) verfasst.
Die Applikation wurde an die New Yorker ETF Borrowing & Lending Handelsabteilung ausgeliefert während die Handelsplattform Pirate ausgetauscht wurde. Zur Anwendung kamen allgemeine Nachrichtenhandler, sowie allgemeine und abteilungsspezifische Regeln.
Später wurde CGI an die Cash Equities Handelsabteilung mit allgemeinem und abteilungsspezifischen Regelsätzen und einigen spezifischen Nachrichtenhandlern ausgeliefert.
Die Diskussionen um CGI auch an die Flow Trading Handelsabteilung auszuliefern dauern aktuell noch an. Aktuell gibt es auch eine Diskussion ob CGI für den Londoner Index Arbitrage-Handel eingesetzt werden kann.
Des Weiteren wird diskutiert ob CGI künftig als System für das Routing von Handelsaufträgen fungieren kann, da die Natur des Systems dies zulässt. Somit kann der existierende ESA-Router ersetzt werden und eine gemeinsame Codebasis und DSL geschaffen werden wodurch Kosten eingespart werden können.

Durch die Verwendung von CGI als geschäftsregelbasierte Transformations-Engine zum Generieren von MUREX Positionen aus FIX Protocol-Nachrichten heraus erhielt die Bank eine abteilungsübergreifende Lösung, die auf alle Eigenheiten der jeweiligen Abteilung eingehen kann, Die Lösung kann auch für komplett andere, ebenfalls in der regelbasierten Domäne angesiedelten Probleme, wie zum Beispiel Routing wiederverwendet werden.
Im Ergebnis konnte die ETF Borrowing & Lending Handelsabteilung durch den Einsatz vn CGI erfolgreich von Pirate weg migriert werden und die bankinterne Richtlinie zum Halten von Positionen in MUREX implementieren.
Die Cash Equities Abteilung konnte erfolgreich von der undurchsichtigen SSEOMS-MF Schnittstellenapplikation weg migriert werden. Administratoren und Supporter konnten nun Regeln im laufen Betrieb in einer einfachen Sprache anpassen. Zusätzlich wurden alle Geschwindigkeitsprobleme gelöst. Eine Messung ergab dass eine Stunde Verarbeitung in SSEOMS-MF auf eine Minute Verarbeitung in CGI beschleunigt werden konnte. Hochvolumige Transaktionen sind nun nahezu in Echtzeit in MUREX verfügbar.
Neben den technischen Vorteilen profitierten beide Handelsabteilungen von der strikten Trennung der Geschäftsregeln von der technischen Implementierung. Die Kommunikation der Entwickler, Administratoren, Supporter, Händler und des Management konnte stark verbessert werden, da alle Regeln in einer gemeinsam verständlichen Sprache formuliert waren. Dadurch wurden das Hinzufügen oder Ändern von Regeln, sowie das Finden von Problemen für alle involvierten Personen wesentlich einfacher.
CGI wurde von bis zu 2 Entwicklern parallel entwickelt. Meine Aufgabe war es eine Lösung für die ursprünglichen Probleme und Anforderungen zu erarbeiten, den Kern und Prototyp zu implementieren, der allgemeine und abteilungsspezifische Regelsätze verarbeiten kann.
Sobald CGI ein startklares System war, dass die Erfüllung aller funktionalen Anforderungen beweisen konnte, übergab ich die weitere Evolution an einen Mitarbeiter der die konkreten Geschäftsregeln und spezifischen Nachrichtenhandler in Zusammenarbeit mit den Fachabteilungen und Händlern implementierte.
Ich entwickelte CGI parallel zum BasketTrader und konzentrierte mich wieder auf die Entwicklung des BasketTrader nachdem die Entwicklung von CGI von meiner Seite soweit fortgeschritten war dass ich es übergeben konnte.

Technologien:
Applikation: Java 6, Drools, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, Eclipse

Nebensächliche Aktivitäten

  • Erweiterung der existierenden hauseigenen Applikation ESA Router und Fehlerbehebung in Regelfiltern, sowie Hinzufügen von neuen Verbindungen. ESA-Router ist ein Routingsystem für FIX Protocol Nachrichten. Diese Nachrichten werden zu Beispiel zu Brokern, Börsen oder bankinternen Darkrooms geleitet.
  • Entwicklung eines FIX Protocol Logdatei-Inspektors der unter anderem auch FIX Protocol Nachrichten aus Logdateien oder Replay-Dateien für CGI erzeugen kann.
  • Aufnahme von Anforderungen und Erarbeitung einer Lösung um die Handelsplattform der Londoner Index Arbitrage Handelsabteilung mit BasketTrader und CGI zu ersetzen.

Technologien:
Applikation: Java 6, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, NetBeans, Eclipse

Commerzbank AG
7 Monate
2011-03 - 2011-09

System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt

Entwickler, Reverse-Ingenieur
Entwickler, Reverse-Ingenieur

(Name auf Anfrage) ist ein System das eine Vielzahl an Diensten und Benutzeroberflächen zur Verfügung stellt um Marktanalysten, sowie internen und externen Kunden verschiedene Arten von Daten für den täglichen Gebrauch bereitzustellen. Dabei handelt es sich hauptsächlich um Instrument- und Marktdaten, Zinskurven und Prognosen,
Das System bedient mehr als 250 Kunden und Abnehmersysteme.

Verantwortlichkeiten:

  • Unterbreiten von Lösungen an die Fachabteilung
  • Design von Softwaremodulen
  • Implementierung

Abteilung:
(Name auf Anfrage) umfasste 6 Personen inklusive Fachkoordinatoren, Administratoren und Entwicklern.

Aktivitäten:
Reverse Engineering, Migration, DownloadService
Reverse-Engineering des gesamten (Name auf Anfrage) Systems in Zusammenarbeit mit der Fachabteilung und einem Software Architekten nachdem alle FastBase Entwickler im Zuge der Übernahme der Dresdner Bank diese über Nacht verließen.
Migration und Integration des gesamten Systems aus der alten Welt der Dresdner Bank in die neue Welt der Commerzbank.
Architektur, Design, Implementierung und Integration eines neuen DownloadService für die (Name auf Anfrage)  ETL-Prozesse mit Unterstützung für HTTP, HTTPS, FTP, SFTP, LOCAL und SMB Protokolle und optionaler Proxy Authentifizierung.
Ich wechselte als Interim-Entwickler und Reverse-Ingenieur in das (Name auf Anfrage) Projekt als sich dieses in einer kritischen Phase befand um dem Projekt zu helfen am Leben zu bleiben bis ein neuer langfristiger Entwickler gefunden wurde.
Nach dem Reverse-Engineering des Kerns wurden alle Ergebnisse und Diagramme der Fachabteilung und dem neuen Entwickler übergeben.

Als Ergebnis der Migration überlebte das (Name auf Anfrage) System in der neuen Welt der Commerzbank und existiert dort auch heute noch.
Die Benutzung des neuen DownloadService erlaubt es der Fachabteilung und den Entwicklern neue Download-Prozesse als Teil von ETL-Prozessen durch einfache Konfiguration aufzusetzen.
Die gemeinsame Codebasis spart Kosten indem Codeduplikate vermieden werden und reduziert das Risiko neue Fehler zu implementieren.

Tomcat 6 Java 6 Activity BPMN Engine Microsoft SQL Server 2008 2012 Linux MS TFS Eclipse
Commerzbank AG
1 Jahr 7 Monate
2009-09 - 2011-03

verschiedene Applikationen um Synergieeffekte zu erzeugen

Chef-Entwickler, Architekt, Business Analyst
Chef-Entwickler, Architekt, Business Analyst

Das Projekt hatte keinen konkreten Namen. Es war ein übergreifendes Projekt und umfasste mehrere Handelsabteilungen und beinhaltete verschiedene Applikationen um Synergieeffekte zu erzeugen.

Die hauptsächlichen Interessensgruppen waren:

  • Cash Equities: Eine Handelsabteilung für institutionelle und spezielle Kunden um hochvolumige Transaktionen von einzelnen Instrumenten oder Instrumentenlisten auszuführen. Die zentrale Handelsapplikation ist Bloomberg SSEOMS.
  • Flow Trading: Eine Handelsabteilung für gewöhnliche und nicht-spezielle Kunden um klein- und mittelvolumige Transaktionen von einzelnen Instrumenten oder. Instrumentenlisten auszuführen. Die zentrale Handelsapplikation war Realtime Trading Desktop und DeltaAgent.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur des Softwaregerüstes
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung
  • Koordination der Verantwortlichkeiten im Team
  • Koordination der Aktivitäten im Team
  • Hilfestellung für Administratoren und Supporter
  • Hilfestellung für Kunden
  • Hilfestellung für Händler

Abteilung:
Das Projekt umfasste bis zu 3 Entwickler.

BasketTrader
Architektur, Design und Implementierung einer abteilungsübergreifenden Lösung für Investment-Banking und Handel. BasketTrader ist eine Frontendapplikation zur Eingabe und Überwachung von Handelsaufträgen in Echtzeit.
BasketTrader is eine FIX Protocol-konforme, modulare, hochperformante Java Swing GUI, die von Händlern für hochvolumige Transaktionen von Einzelinstrumenten oder Instrumentenlisten mit einer niedrigen Latenz eingesetzt wird.
Er unterstützt alle Arten von Instrumenten aus multiplen Instrumentenuniversen. Das Instrumentenuniversum ist als modulare Implementierung realisiert (Plug-In). Dadurch können abteilungsspezifische Instrumentendatenbank, Instrumente von anderen Anbietern oder andere bankinterne Instrumentenuniversen kaskadiert genutzt werden. Die Applikation verwaltet und visualisiert komplette Lebenszyklen wie Eingabe, Ausführung und Überwachung von Handelsaktivitäten.
Während einer Handelsaktivität wird eine Reihe von Informationen angezeigt wie zum Beispiel der Zustand des Geschäfts und entsprechende Fehler, der Fortschritt des Geschäfts, die Anzahl der ausgeführten Einheiten, durchschnittliche Ausführungspreise und mehr.
Für jedes Instrument in einem Warenkorb sind Echtzeitpreise (BID und ASK) sichtbar. Die Preislieferung ist eine Implementierung eines Reuters RFA Clients. Sie unterstützt verschiedene Markttiefen die optional auch angezeigt werden können.
BasketTrader bietet ein frei konfigurierbares Modul um Handelsnachrichten mit spezifischen Informationen anzureichern, die von Händlern im Frontend eingegeben werden können oder fix sind.
Die Flow Trading Abteilung nutzt dieses Modul um den Händlern die Eingabeparameter einer algorithmischen Handels-Engine zu offerieren. Dadurch können die Händler die Handels-Engine instruieren wie ein Handel getätigt werden soll. Beispiele sind das defensive Handeln entsprechend des volumen- oder zeitgewichteten Durchschnittspreises (VWAP / TWAP).
Die Cash Equities Abteilung nutzt dieses Modul um den Nachrichtenrouter ESA Router zu instruieren wohin ein Handelsauftrag geleitet werden soll.

BasketTrader wurde von bis zu 3 Entwicklern parallel entwickelt und von bis zu 15 Händlern im Flow Trading und 2 Händlern in Cash Equities genutzt. Aufgrund seiner Möglichkeiten FIX Protocol-Nachrichtenkommunikationen sehr tief inspizieren zu können wird es auch von einer unbekannten Anzahl an Entwicklern in der Bank als Diagnosetool genutzt.

Technologien
Applikation: Java 6, C++, Shell Script,
Frameworks: Swing, Google Guice, Disruptor, Reuters RFA
Protokolle: FIX Protocol 4.2
Software: Reuters 3000 XTRA
Tool Stack: Linux, Subversion, NetBeans

Nebensächliche Aktivitäten

  • Erweiterung und Fehlerbehebung der existierenden Applikation SSEOMS-MF und ihrer Regelfilter, sowie Hinzufügen von Verbindungen zu dieser.
  • SSEOMS-MF war ein ETL-Prozessor um FIX Protocol Nachrichten in MUREX Stored SQL Procedure-Aufrufe zu transformieren. SSEOMS-MF wurde später durch CGI ersetzt.
  • Entwicklung von Excel-basierten Berichten um tägliche
  • Transaktionen zu inspizieren und zu filtern.
  • Entwicklung eines detaillierten FIX Protocol Logdateien-Betrachters, basierend auf dem BasketTrader.
  • Entwicklung verschiedener Testtools.

Technologien:
Applikation: Java 6, Shell Script
Frameworks: FIX Protocol
Datenbank: Sybase Adaptive Server Anywhere
Software: Bloomberg SSEOMS
Tool Stack: Linux, Subversion, Jira, NetBeans, Eclipse

Commerzbank AG
7 Monate
2008-09 - 2009-03

komponentenbasiertes FIX Protocol Nachrichtenverarbeitungssystem

Entwickler
Entwickler

Object+ ist ein in Amsterdam ansässiges Softwarehaus dass die Applikation (Name auf Anfrage) entwickelt und verkauft.
(Name auf Anfrage) ist ein komponentenbasiertes FIX Protocol Nachrichtenverarbeitungssystem dass FIX Nachrichten enkodieren, dekodieren, routen und auf verschiedene Arten verarbeiten kann.
Das Ziel war es einen (Name auf Anfrage) für die Fortis Bank zu entwickeln um Aktienangebote von der schwedischen OMX Börse zu empfangen und in einer Datenbank zu speichern.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung

Abteilung:
Das Projekt umfasste 2 Entwickler.

(Name auf Anfrage)
Design und Implementierung eines Fix Message Übersetzers und eines Fix Quotation Datenbankmoduls für den(Name auf Anfrage) sowie Inbetriebnahme der Lösung in der Umgebung des Kunden.
Als Ergebnis der Installation des kundenspezifischen (Name auf Anfrage) konnte die Fortis Bank neue Prozesse für schwedische OMX Handelsgeschäfte in ihrer Clearance- und Settlement Abteilung aufsetzen,

C++ Shell Script Berkeley DB FIX Protocol 4.2 Solaris Visual Source Safe Visual Studio 6 (Name auf Anfrage)
Object+ Fortis Bank
3 Monate
2008-07 - 2008-09

System dass alle Handelsgeschäfte der Commerzbank auf Legalität und Marktkonformität prüft.

Entwickler, Architekt
Entwickler, Architekt
  • Analyse der Geschäftsanforderungen
  • Design des Scheduling-Plans
  • Implementierung

Abteilung:
Das Projekt umfasste 3 Personen inklusive Fachkoordinatoren und Entwickler.

Aktivitäten:
UC4 Migration
Design, Implementierung und Migration aller existierenden Crontab- und manuellen Prozesse auf die UC4 Scheduling-Plattform.
Bisher wurden alle Prozesse entweder manuell oder durch Crontab gestartet. Crontab verletzte die Scheduling-Richtlinie.
Als Lösung wurden alle Prozesse auf die UC4 Scheduling-Plattform migriert und im Ergebnis die Aufwände der Administration durch automatisierte anstelle von manuellen Prozessen
minimiert. Zusätzlich wurde die Scheduling-Richtlinie durch den Wegfall von Crontab implementiert

UC4 UC4 Script Shell Script Solaris
Commerzbank AG
1 Jahr
2007-08 - 2008-07

MDDS

Entwickler, Architekt
Entwickler, Architekt

MDDS ist das zentrale System in der Bank um statische und Marktdaten von verschiedenen Lieferanden zu sammeln und intern anzubieten.
Die Daten werden normalisiert und in einer SQL Datenbank, sowie einem Flatfile-System gespeichert. MDDS verteilt die Daten an mehr als 200 Kunden und Abnehmersysteme. Kern des MDDS Systems ist eine riesige Erweiterung des Assetmanagementsystems Asset Control.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Softwaremodulen
  • Implementierung

Abteilung:
Das Projekt umfasste bis zu 30 Personen inklusive Fachkoordinatoren und Entwickler.

Aktivitäten
MDDS
Design und Implementierung verschiedener Modules und ETL-Prozesse für MDDS unter Beachtung der gegebenen Architektur.
Periodische Migrationen von MDDS auf neue Versionen des Kernsystems Asset Control.

C++ Perl Shell Script Solaris ClearCase Sun Studio Asset Control UC4
Commerzbank AG
1 Jahr
2006-09 - 2007-08

MDDS

Entwickler, Architekt
Entwickler, Architekt

MDDS ist das zentrale System in der Bank um statische und Marktdaten von verschiedenen Lieferanden zu sammeln und intern anzubieten.
Das Einsammeln der Data ist in mehr als 350 ETL-Prozessen implementiert, die alle innerhalb eines komplexen Scheduling-Plans getriggert werden.
Das Ziel des Projektes war die Migration des kompletten Scheduling-Plans von der vorherigen Scheduling-Plattform Autosys auf die neue UC4 Plattform.
MDDS wurde als erstes Pilotprojekt ausgewählt um die Migration auf UC4 durchzuführen und UC4 als eine stabile Plattform zu evaluieren.
UC4 was war im Begriff die neue bankweite Standardplattform für das Scheduling zu werden.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von UC4 Objekten
  • Design einer API um UC4 programmatisch steuern zu können
  • Implementierung
  • Migration
  • Inbetriebnahme
  • Hilfestellung für Administratoren und Supporter

Abteilung:
Das Migrationsprojekt umfasste 2 Entwickler.

Aktivitäten:
UC4 Migration
Design, Implementierung, Migration und Inbetriebnahme aller Prozesse auf die neue UC4 Plattform und Entwicklung einer API für die programmatische Kontrolle von UC4 aus MDDS Prozessen heraus.
Im Ergebnis der Pilotmigration erwies sich UC4 als robuste und stabile, flexible und komfortable Scheduling-Plattform. Später wurde UC4 der neue Standard in der Bank und andere Abteilungen nutzten die entwickelte API um UC4 von ihren Applikationen heraus zu steuern.

Für MDDS war die Migration ein voller Erfolg, da die Flexibilität und Visualisierungsmöglichkeiten jene von Autosys bei weitem übertrafen.

Java 1.4 Perl Shell Script UC4 UC4 Script Shell Script Solaris
Commerzbank AG
2 Jahre 4 Monate
2005-04 - 2007-07

Webentwicklung

Architekt, Entwickler, Designer
Architekt, Entwickler, Designer

Freiberufliche Tätigkeit als Webentwickler

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Design von Webseiten
  • Implementierung
  • Inbetriebnahme

Aktivitäten
Website Development
Design und Entwicklung verschiedener Webseiten für verschiedene Kunden.

HTML 4 JavaScript Adobe Dreamweaver Adobe Photoshop
Verschiedene
7 Monate
2004-10 - 2005-04

Reverse-Engineering der Infotainment Software

Consultec AG war ein Unternehmen dass die Applikation Infotainment entwickelte und verkaufte.
Infotainment, als verteiltes Multimedia-, Präsentations- und Content-Managementsystem, konnte multiple zeitgesteuerte Werbespots verschiedener Formate auf einem einzigen Bildschirm anzeigen. Es war zusammen mit einer Content-Managementapplikation paketiert.
Das Ziel war ein Reverse-Engineering der Infotainment Software und das Training künftiger Entwickler und Content-Schöpfer.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Analyse der Architektur
  • Design von Websites
  • Implementierung
  • Inbetriebnahme

Abteilung:
Ich war der einzige Entwickler.

Aktivitäten:
Infotainment
Reverse-Engineering der Infotainment Software, Erweiterung kleinerer Features und Behebung von Fehlern.
Entwicklung einer Webapplikation für ein Partnerunternehmen die Händlerprovisionen anzeigt.

Visual C++ 6 Java 1.4 Swing PHP SMIL Visual Source Safe Visual Studio 6 JBuilder Apache Webserver
4 Jahre 2 Monate
2000-08 - 2004-09

Entwicklung von Schnittstellen und ETL-Prozessen

Rolle: Chef-Entwickler, Architekt, Business Analyst, Netzwerkadministrator

Beschreibung:

FBP Business Consulting GmbH und Südwest AG waren eng verbundene Unternehmen in der Geschäftsberatungsindustrie. Sie boten eine Reihe von industriespezifischen Diensten für Kunden an.

Verantwortlichkeiten:

  • Analyse der Geschäftsanforderungen
  • Unterbreiten von Lösungen an die Fachabteilung
  • Architektur der Softwareinfrastruktur und -Kommunikation
  • Architektur von Softwaregerüsten
  • Design von Softwaremodulen
  • Design von Datenbankschemata
  • Implementierung von Prototypen
  • Implementierung
  • Koordination der Verantwortlichkeiten in der Abteilung
  • Koordination der Aktivitäten in der Abteilung
  • Hilfestellung für Administratoren
  • Hilfestellung für Kunden

Abteilung:

  • The IT Abteilung umfasste 4 Personen.

Aktivitäten:
Generelle Aktivitäten
Entwicklung von Schnittstellen und ETL-Prozessen für verschiedene Datenlieferanten und Kundensysteme.
Entwicklung von kundenspezifischen Softwarelösungen.
Administration eines Netzwerkes mit bis zu 150 PCs und Servern.

Java 1.4 J++ Visual C++ 6 Visual Basic 6 VBA FoxPro Tomcat MySQL FoxPro DATEV SAP JBuilder Visual Studio 6
FBP Business Consulting GmbH Südwest AG

Position

Position

  • Senior Softwareentwickler
  • Architekt
  • Business Analyst

Kompetenzen

Kompetenzen

Top-Skills

Java Cloud Banking Software

Schwerpunkte

Chief Architect
Chief Developer
DevOps
Senior Architect
Senior Developer

Aufgabenbereiche

Banking
Investment Banking
Market Data
Market Research
Team Leadership
Trading

Produkte / Standards / Erfahrungen / Methoden

Chef Cookbooks
Cryptocurrency Exchanges APIs
Eclipse
Enterprise Architect
Gerrit
Git
Github
IntelliJ Idea
Jenkins
JetBrains IntelliJ Idea
JetBrains PyCharm
Jira
Maven
Microsoft SQL Server 2008; 2012
Microsoft Teams
MS TFS
NetBeans
PL/SQL Developer
REST
SAP ASE
SAP BackupServer
SAP Cloud Platform
SAP FaultManager
Scrum
Skype Business
Struts
UC4 One Automation
UC4 Scheduling
VirtualBox
Visual Studio Code
WebFOCUS
Zube Kanban

Technologien

  • Core Java
  • JEE
  • EJB
  • IoC (CDI, Google Guice)
  • MVC
  • Sockets
  • Raw Sockets
  • Multithreading
  • RPC
  • JDBC
  • Rules Engine
  • Vert.x
  • Asynchronous
  • Reactive
  • Distributed

Protokolle

  • FIX Protocol
  • SOAP
  • REST
  • Websocket
  • SignalR
  • HTTP(s)
  • FTP
  • SFTP
  • SMB
  • CIFS
  • XML/RPC
  • RMI
  • IP
  • TCP
  • UDP
  • ARP
  • Raw Sockets

Frameworks

  • Bloomberg Open Market Data API
  • Reuters RFA
  • Cryptocurrency Exchange APIs
  • JAX-WS
  • JAX-RS
  • Log4j
  • JPA
  • Hibernate
  • MyBatis
  • Jenny
  • Primefaces
  • Java Server Faces
  • Swing
  • jQuery (+Mobile)
  • Disruptor
  • Drools
  • OSGI (Apache Felix)
  • Vert.x
  • UC4 One Automation

Applikationsserver

  • Glassfish
  • Tomcat
  • Websphere
  • Apache HTTP Server

IDEs

  • NetBeans
  • IntelliJ Idea
  • Eclipse
  • JBuilder
  • Visual Studio
  • Oracle Studio

Revisionskontrollsysteme

  • Git + Github
  • Subversion
  • ClearCase
  • Team Foundation Server
  • Visual Source Safe

Tools

  • Maven
  • Ant
  • JUnit
  • GSON
  • Jackson
  • Unix standard tools
  • Visio
  • Wiki
  • Sharepoint
  • Bloomberg Terminal
  • Reuters 3000 Xtra

Architektur

  • Softwarearchitektur
  • Softwareinfrastrukturarchitektur
  • Objektorientierung
  • Design Patterns
  • Model-View-Controller (MVC)
  • Microservices
  • Asynchrone Nachrichtenvcerarbeitung
  • Verteilte Transaktionen

Technische Kompetenzen

  • FIX Protocol-konforme Systeme
  • Finanzinstrumente
  • Kryptowährungen
  • Markdaten
  • Algorithmischer Handel
  • Hochfrequenzhandel
  • Hochvolumenhandel
  • Niedriglatenzhandel
  • Nachrichtenstromverarbeitung
  • ETL-Prozesse (Extract, Transform, Load)
  • Netzwerksystem
  • Asynchronität
  • Echtzeit
  • Routing
  • Rules Engineering
  • Reverse Engineering
  • Scheduling

Entwicklung

  • Agile / Scrum
  • Prototyping
  • Extreme Programmierung (XP)

Soziale Kompetenzen

  • Eigeninitiative
  • Kommunikation
  • Lernbereitschaft
  • Teammanagement und ?Koordination
  • Unternehmerisches Denken
  • Verantwortungsbewusstsein

Betriebssysteme

Free BSD
iptables
Linux
Mac OS
Microsoft Windows
Sun Solaris
Unix
Windows 10
Windows 7/10

Programmiersprachen

Assembler
Bash Script
C/C++
Groovy
GSON
Hocoon
Jackson
Java
Java 8
JavaScript
JSON
JUnit 4
Oracle SQL
Perl, PHP
Python
Shell Script
SQL
(Oracle, Microsoft, Sybase, MySQL)
UC4 Script
Vert.x
Visual Basic
Visual Basic Script
Visual C++

Deklarative Sprachen
HTML 4
HTML 5
XHTML
XML
FIXML
SMIL
JSON
HOCON

Datenbanken

Berkeley DB
Fox Pro
MongoDB
MS SQL / MS Access
MySQL
Oracle 12c
Oracle Database 12c
Redis
Sybase ASE

Datenkommunikation

POSIX Socket
Raw Socket
TCP/IP
UDP
Websocket
Windows Socket

Design / Entwicklung / Konstruktion

OOA
OOD
OOP
SignalR (eigener Client) HMAC

Personalverantwortung

Langzeitig Chef-Softwareentwickler und Architekt von bis zu 10 Mitarbeitern

Branchen

Branchen

  • Bankwesen
  • Investment Banking
  • Handel mit Finanzinstrumenten
  • Warenhandel
  • Marktanalyse
  • Kreditwesen
  • Bankenaufsicht

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.