Skills
Ich bin ein hoch engagierter Experte für Lösungen im Java Umfeld.
Mit Leidenschaft unterwegs auch in komplexen Systemen, herausgefordert von anspruchsvollen Projekten. Als Entwickler oder Architekt arbeite ich lösungsorientiert und bin stets mit Spaß bei der Arbeit.
Derzeit arbeite ich als Technical Product Owner in einem Großprojekt.
Nach 13 Jahren immer unterwegs suche ich nun eine neue Herausforderung ... daheim ... in Berlin.
Ich bin ein echter Teamplayer und großer Fan der Agilität. Fordern Sie mich heraus!
Experte für Architektur und Entwicklung in diversen Java Technologien
Java, JEE
Spring
Spring Batch
JSF, Primefaces, JSP, HTML, CSS
SOAP und REST Services (SOAP, REST, JAX-WS, JAX-RS)
JPA (EclipseLink, Hibernate)
JSON
XML (XSD, XSLT)
JMS
...
Testen
Junit
Test Driven Development (TDD)
Build, Continuous Integration etc.
Maven
Jenkins bzw. Hudson
SonarQube
Application Server und Servlet Container
Tomcat
JBOSS
WebSphere
Datenbanken
Oracle
MySQL
Informix
DB2 LUW
DB2/z
Tools
DynaTrace
JProfiler
ESB
TIBCO ActiveMatrix BusinessWorks / Javabasierter ESB
TIBCO EMS Server / JMS Server des gleichen Herstellers
Sonstiges
JIRA, Bugzilla
Enterprise Architect
IDEs
Natürlich tippe auch ich meinen Code nicht im Texteditor ein. Darum der Vollständigkeit halber die Liste der bisher verwendeten Entwicklungsumgebungen
Eclipse / schon immer Fan
IDEA IntelliJ / tolle Umgebung, wenn die Lizenz ins Budget passt ;-)
Projektmethodiken
SCRUM
KANBAN
Projekthistorie
05/2015 bis heute, Branche: Bank, (Baufinanzierung)
Projektziel
Wechsel der Rolle im zuvor aufgeführten Projekt zur Erstellung einer Baufinanzierungslösung.
Aufgabenstellung
Im genannten Projekt habe ich die Rolle gewechselt vom Lead Developer eines Scrum Entwicklungsteams zum Technical Product Owner.
Projektgröße: 80 Projektmitarbeiter, davon ca. 35 Entwickler
Die bisherigen Aufgaben seit 2014 wurden erweitert. Neu dazugekommen sind die technische Betreuung der Scrum Teams und die Verantwortung der Projektarchitektur unter Einhaltung der technischen Vorgaben des Kunden (Enterprise Architektur).
Tätigkeiten
- Verantwortung der Gesamtarchitektur des Projekts
- Technische Unterstützung der fachlichen Product Owner
- Ansprechpartner für technische Fragestellungen aus den Teams
- Coaching von Entwicklern
- Abstimmung von Schnittstellen mit diversen Umsystemen und externen Dienstleistern
- Vorstellung von rein technischen Stories gegenüber Scrum Teams
- Durchführung von Code Reviews und Bewertung der Findings
- Koordinierung von Last- und Performancetests
- Bewertung und Koordinierung von Maßnahmen zur Performanceverbesserung und Reduktion von Last auf Backendsystemen
- Unterstützung des Betriebs beim Aufbau der späteren Laufzeitumgebung (Sizing, Mandantentrennung, Überwachung)
- Leitung von Communities of Practice zu verschiedenen Themen
- Weiterentwicklung des unternehmensweiten Datenmodells
- Pflege der Architekturdokumentation
- Unterstützung der Entwicklungsteams bei der Analyse von komplexen Fehlersituationen
- Technische Analyse der Altanwendung
- Reporting an das Projektmanagement
- Unterstützung bei der Definition von Migrationsregeln
- Aufwand-Nutzen Bewertung für die Migration auf einen JEE 7 Stack
- JEE 6 Stack (Java 7, JPA2, JSF2, Primefaces, JAX-WS, JAX-RS), Host, Junit, Selenium
- WebSphere Portal, später Migration auf WebSphere Liberty,
- DB2/z und DB2 LUW
- JBOSS AS 7.0, später Migration auf JBOSS Wildfly
- Build System: Maven, Jenkins, Nexus
- Enterprise Architect, Jira
- DynaTrace und JProfiler
01/2014 bis 04/2015 Branche: Bank (Baufinanzierung)
Projektziel
Die Bank möchte eine Baufinanzierungslösung zur Abdeckung des gesamten Lebenszyklus einer Baufinanzierung neu erstellen, eine Altapplikation wird abgelöst, Datenbestände werden vollständig migriert.
Aufgabenstellung
Es soll eine JEE basierte Webapplikation entwickelt werden. Die Applikation interagiert über diverse Schnittstellen mit Drittsystemen, sowohl kundeneigene als euch externe Systeme.
Die Entwicklung wurde durch mehrere crossfunktionale Scrum Teams durchgeführt. Die Teams waren jeweils für die Entwicklung aller notwendigen Schichten zuständig (Backend, Business Logik, Frontend).
Weitere technische Zulieferungen an das Projekt erfolgten durch nicht ins Projekt eingegliederte Abteilungen.
Es wurden diverse Umsysteme angebunden, z.B. das Kernbankensystem, Archive für Ein- und Ausgangsdokumente, Drucksysteme, Finanzrechner, externe Dienstleister.
Tätigkeiten
- Implementierung von Backend Funktionalität (Datenbankzugriffe, Web Services)
- Geschäftslogik
- Entwicklung der UI für eine Webapplikation mit JSF und Primefaces
- Lead Developer eines Scrum Teams
- Coaching und Unterstützung von weniger erfahrenen Entwicklern
- Teamübergreifende Vereinbarung und Pflege von Entwicklungsstandards und Konventionen
- JEE 6 Stack
- JPA2, JSF2, Primefaces, JAX-WS, JAX-RS, Junit, Selenium
- WebSphere Portal, später Migration auf Liberty
- DB2/z und DB2 LUW
- Host
- Build System: Maven, Jenkins, Nexus
05 / 2012 – 12 / 2013, Branche: Finanzdienstleistung/Leasing
Erkennung von Ereignissen im Vertragslebenszyklus und automatisierte Kundenansprache
Projektziel
Der Finanzdienstleister möchte seine Kunden proaktiv und automatisiert über eine Vielzahl von Ereignissen im Lebenszyklus von Verträgen informieren (per SMS und Email).
Aufgabenstellung
Im Zuge der Umsetzung wurde eine Ereigniserkennung und –verarbeitung implementiert.
Die Ereignisverarbeitung erfordert die Integration von Daten aus verschiedenen Systemen (Legacy Applikation des Kunden, CRM System, Portal). Zur Integration wird der TIBCO ESB verwendet.
Zum SMS Versand wurde eine Schnittstelle zu einem externen Dienstleister implementiert.
Tätigkeiten
Technische Analyse und Konzeption des Gesamtsystems
Erkennung von Ereignissen in mehreren beteiligten Verwaltungsapplikationen, Verbreitung über einen ESB
Implementierung einer Rules Engine auf Basis von Drools und zugehöriger Regeln
Anbindung an ein externes CRM System (Salesforce) über einen ESB
Implementierung einer Schnittstelle zum SMS Versand
Technologien
TIBCO Active Matrix Business Works (ESB), TIBCO EMS
Java (Spring, JPA2, EclipseLink, JAX-WS, JAXB, Apache CXF, Freemarker, Junit 4)
Drools (Rules Engine)
SOAP Web Services (Apache CXF), REST Web Services (RESTEasy)
Oracle, Informix
Apache Tomcat
Build System: Maven, Hudson, Sonatype Nexus
03 / 2013 - 04 / 2013, Branche: Finanzdienstleistung/Leasing
Migration von Datenbeständen und Schnittstellenanpassungen
Projektziel
Zusammenführung von Datenbeständen
Aufgabenstellung
Der Kunde hat eine umfangreiche Vertragsverwaltungssoftware in zwei Niederlassungen in jeweils eigener Instanz betrieben. Die Verwaltungssoftware hat Schnittstellen zu diversen Fremdsystemen, u.a. zu SAP R/3 als Finanzbuchhaltung und zu Salesforce als CRM System.
Im Zuge des Projekts werden die beiden Instanzen zu einer Instanz zusammen geführt und dabei auch die SAP- und CRM Daten integriert und migriert.
Tätigkeiten
Analyse der SAP Schnittstelle
Erweiterung der SAP Schnittstelle
Datenmigration der Verwaltungssoftware in das CRM System, automatisierte Erkennung und Zusammenführung von Dubletten
Datenvalidierung
Technologien
Java, Hibernate
Informix DB
01 / 2013 – 02 / 2013, Branche: Finanzdienstleistung/Leasing
Überarbeitung der monatlichen Rechnungsläufe einer Leasinggesellschaft
Projektziel
Die monatlichen Rechnungsläufe des Kunden sollen vereinfacht werden. Das Monitoring und die Fehlerbehandlung sind deutlich zu verbessern.
Aufgabenstellung
Die Leasinggesellschaft berechnet ihren Kunden in zwei monatlichen Rechnungsläufen vorschüssig bzw. nachschüssig die Gebühren für Dienstleistungen und Services.
Der bisherige Prozess war durch hohe manuelle Anteile sehr aufwändig und fehleranfällig.
Der gesamte Ablauf wurde überarbeitet, so dass keine manuellen Schritte und Konfigurationen mehr notwendig sind. Besonderer Wert wurde auf eine einfache Wiederholbarkeit von Rechnungsläufen und eine Zentralisierung des bisher stark verteilten Fehler Reportings gelegt. Die Steuerung der Rechnungsläufe ist nun ein über ein User Interface möglich. Die sehr umfangreiche fachliche Logik der Prozessschritte wurde im Zuge der Umsetzung so wenig wie möglich geändert, jedoch musste die Behandlung von Fehlern verbessert und zentralisiert werden.
Tätigkeiten
Analyse der Anforderungen
Konzeption
Entwicklung
Betriebseinführung
Technologien
Java (Spring Batch, Spring, JPA2, EclipseLink)
Spring Batch Admin Tool
Oracle, Informix DB, PL/SQL
11 – 2012 / 12 – 2012, Branche: Finanzdienstleistung/Leasing
Anbindung eines CRM Systems an ein Portal
Projektziel
Der Auftraggeber pflegt Kunden- und Kontaktdaten in einem CRM System. Die Daten müssen dem Online Portal des Kunden zur Verfügung gestellt werden.
Aufgabenstellung: Der Kunde verwendet ein CRM System (Salesforce) zur Pflege von Kontaktdaten. Die Daten werden im Online Portal des Kunden zur Interaktion mit den Benutzern benötigt.
Aus Performancegründen werden Basisinformationen von Kontakten in einem lokalen Cache des Portals vorgehalten. Die Synchronisierung der Daten im Cache erfolgt durch den ESB. Detailinformationen können vom Portal bei Bedarf über den ESB abgerufen werden.
Tätigkeiten
Erstellung eines Flows im ESB zur Synchronisation von Basisdaten mit dem Portal
Erstellung eines Services im ESB zum Abruf von Detailinformation zu Kontakten
Technologien
TIBCO ActiveMatrix BusinessWorks (TIBCO AMX BW), TIBCO EMS
Java, Spring, SOAP Web Services
LDAP
Oracle, Informix
03/2012, Branche: Finanzdienstleistung/Leasing
Erweiterung eines Online Fahrzeug Konfigurators
Projektziel
Ein Online Fahrzeug Konfigurator soll erweitert werden. Es sollen Angaben zum Energieverbrauch eines Fahrzeugs angezeigt werden.
Aufgabenstellung: Der Kunde betreibt einen Online Fahrzeug Konfigurator. Der Konfigurator soll zukünftig Daten zum Energieverbrauch eines Fahrzeugs anzeigen (als Text und als Grafik).
Die dazu notwendigen Daten werden von einem Dienstleister geliefert (EurotaxSchwacke GmbH).
Tätigkeiten
Einführung des Spring Batch Frameworks beim Kunden zur Abwicklung von Batch Jobs
Erstellung der Applikation für den Datenimport
Erweiterung des Online Konfigurators mit Grafiken und PDF Dateien zum Energieverbrauch
Technologien
Java (JPA 2, Spring, JSP)
Spring Batch
Apache FOP
Apache Tomcat
Informix DB
Build System: Maven, Hudson, Sonatype Nexus
2011, Branche: Finanzdienstleistung/Leasing
Einführung und Integration eines CRM Systems
Projektziel
Einführung eines CRM Systems (Salesforce) und Anbindung von vorhandenen Applikationen
Aufgabenstellung
Der Auftraggeber betreibt eine umfangreiche Legacy Applikation zur Verwaltung von Vertragsdaten. Über eine Schnittstelle ist ein SAP System an diese Applikation angebunden.
Die Daten aller Kunden, Vertragspartner und Kontakte wurden bisher in der Legacy Applikation gepflegt. Diese Daten sollen aus der Applikation herausgelöst und in ein modernes CRM System (Salesforce) überführt werden.
Zukünftig werden die Daten nur noch im CRM System gepflegt und mit der Legacy Applikation sowie dem SAP System synchronisiert.
Tätigkeiten
Technische Analyse und Konzeption des Gesamtsystems
Mediation und Orchestration von Flows im ESB
Erstellung einer Schnittstelle zur Legacy Applikation
Erweiterung der Schnittstelle zum SAP System
Erstellung einer Applikation zur Datenmigration und Dublettenbereinigung
Technologien
TIBCO ActiveMatrix BusinessWorks (AMX BW), TIBCO EMS
JAVA (Spring, JPA2, SOAP Web Services mit Apache CSF, Apache POI, Dozer)
Apache Tomcat
Oracle, Informix DB
Subversion, Maven, Hudson, Sonatype Nexus
2010 – 2012 mit Unterbrechungen, Branche: Finanzdienstleistung/Leasing
Wartung
Projektziel
Wartung bestehender Softwarekomponenten
Aufgabenstellung
An bestehenden Softwarekomponenten des Kunden wurden Erweiterungen vorgenommen.
Tätigkeiten
div. Erweiterungen an unterschiedlichen Softwarekomponenten im Umfeld Java und TIBCO ActiveMatrix BusinessWorks
Technologien
div. Techologien im JAVA Umfeld, z.B. Spring, JDBC, JPA2, Hibernate, JAX-WS, JAXB, SOAP Web Services, FOP, JSP
TIBCO ActiveMatrix BusinessWorks (TIBCO AMX BW)
Apache Tomcat, Apache
Oracle, Informix DB
Subversion, Maven, Hudson, Nexus
04 / 2009 – 11 / 2009, Branche: Finanzdienstleistung/Leasing
Applikationsanbindung an einen Web Service
Projektziel
Gemeinsame Funktionalität wurde aus zwei geschäftskritischen Applikationen in einen Web Service ausgelagert. Die Anbindung an den Web Service erfolgte über einen Enterprise Service Bus (ESB).
Aufgabenstellung
Der Kunde betreibt zwei geschäftskritische Applikationen; eine interne Software zur Leasingverwaltung und einen Online Fahrzeugkonfigurator. Beide Applikationen enthalten komplexe Bausteine zur Fahrzeugkonfiguration und Leasingkalkulation. Diese Bausteine waren in beiden Applikation ähnlich aber nicht identisch implementiert.
Die fachliche Funktionalität dieser Bausteine wurde extrahiert in ein neues Servicemodul und über einen Web Service zur Verfügung gestellt. Die beteiligten Applikationen wurden über einen ESB angebunden.
Beim Kunden wurde ein Continuous Integration System eingeführt.
Tätigkeiten
Analyse der Ist-Situation
Design einer service-orientierten Architektur, Erstellung eines technischen Konzeptes
Implementierung des Servicemoduls
Anbindung der vorhandenen Applikationen über einen ESB
Aufbau der Entwicklungs-Infrastruktur
Technologien
Java (Spring, JAX-WS, JPA2, EclipseLink, Apache CXF)
TIBCO ActiveMatrix BusinessWorks (TIBCO AMX BW), TIBCO EMS
Apache Tomcat
Powerbuilder
Oracle, Informix DB
Microsoft VSS, Subversion, Maven, Hudson, Sonatype Nexus