Schlagwörter
Skills
+ Hauptschwerpunkt: Serverseitige Java-Entwicklung
AUSBILDUNG
Diplom-Informatiker (RWTH Aachen)
Programmierung Java
C/C++
Javascript/CoffeeScript
Diverse Skriptsprachen z.B. Perl, Ruby
Unix-Shells
SQL
Methoden/Architekturen Objektorientierte Vorgehensweisen
Design Pattern (GoF, J2EE)
UML
JEE
SOA
REST
Clean Code
TDD
Microservices
Produkte/Frameworks (Java/JavaScript/Web Development)
Docker
Drools
EasyMock
Hibernate
Hybris
iText
JAXB
JAX-WS
JAX-RS
JBoss
JEE
JfreeChart
JMS
JMX
JQuery
JSF
JSP
Junit
Lucene
Mockito
RESTEasy
Servlets
Spring
Struts
Tomcat
WebLogic
Wicket
Produkte/Frameworks (C++) STL, Boost
Datenbanken Oracle
MySQL
Informix
Betriebssysteme Unix-Derivate (HP-UX, Solaris, Linux)
Windows (Win32 und DDK)
Entwicklungswerkzeuge
Eclipse
IntelliJ IDEA
Maven, Ant
Hudson, Jenkins (Continuous Integration)
Unix-Werkzeuge (Compiler, GNU-Toolchain, make, vi etc.)
MS Visual C++
Versionsverwaltungssysteme
(CVS, Subversion, Clearcase, Perforce, git)
Branchenkenntnisse Telekommunikation: hauptsächlich BSS, Grundkenntnisse OSS
Sonstiges HTML, CSS
XML/XSL inklusive APIs (DOM, SAX, JAXB)
Web Services / SOAP
TCP/IP Protokoll-Suite, Tibco Rendezvous
AUSBILDUNG
Diplom-Informatiker (RWTH Aachen)
Programmierung Java
C/C++
Javascript/CoffeeScript
Diverse Skriptsprachen z.B. Perl, Ruby
Unix-Shells
SQL
Methoden/Architekturen Objektorientierte Vorgehensweisen
Design Pattern (GoF, J2EE)
UML
JEE
SOA
REST
Clean Code
TDD
Microservices
Produkte/Frameworks (Java/JavaScript/Web Development)
Docker
Drools
EasyMock
Hibernate
Hybris
iText
JAXB
JAX-WS
JAX-RS
JBoss
JEE
JfreeChart
JMS
JMX
JQuery
JSF
JSP
Junit
Lucene
Mockito
RESTEasy
Servlets
Spring
Struts
Tomcat
WebLogic
Wicket
Produkte/Frameworks (C++) STL, Boost
Datenbanken Oracle
MySQL
Informix
Betriebssysteme Unix-Derivate (HP-UX, Solaris, Linux)
Windows (Win32 und DDK)
Entwicklungswerkzeuge
Eclipse
IntelliJ IDEA
Maven, Ant
Hudson, Jenkins (Continuous Integration)
Unix-Werkzeuge (Compiler, GNU-Toolchain, make, vi etc.)
MS Visual C++
Versionsverwaltungssysteme
(CVS, Subversion, Clearcase, Perforce, git)
Branchenkenntnisse Telekommunikation: hauptsächlich BSS, Grundkenntnisse OSS
Sonstiges HTML, CSS
XML/XSL inklusive APIs (DOM, SAX, JAXB)
Web Services / SOAP
TCP/IP Protokoll-Suite, Tibco Rendezvous
Projekthistorie
Erweiterung und Modernisierung einer Online-Banking Plattform
Projektbeschreibung
Der Kunde, ein Versicherungskonzern, betreibt bereits seit längerem eine Direktbank. Kürzlich
übernahm diese Bank eine Internet-Bank, die seitdem als weitere Marke geführt wird. Um beide
Banken auf derselben Plattform betreiben zu können, mussten umfangreiche Erweiterungen
implementiert werden um die benötigte Funktionalität bereitzustellen. Im wesentlichen konzentrierten
sich die Entwicklungsarbeiten auf die Bereiche Autorisierungsverfahren und Web-Frontend.
• Implementierung zweier weiterer Autorisierungsverfahren. Neben iTAN als bereits bestehendem
Verfahen wurden mTAN und ein Mobile-App basiertes weiteres Verfahren hinzugefügt. Neben
den eigentlichen Autorisierungsvorgängen mussten auch die erforderlichen Verwaltungs-
funktionen sowohl im Online-Banking Frontend als auch im CRM-System des Innendienstes
implementiert werden.
• Neuentwicklung der Web-Anwendung für das Online-Banking. Das bestehende Frontend wurde
durch eine moderne Neuimplementierung ersetzt, die zeitgemäße Prinzipien wie Responsive
Design beinhaltet und die neuen Autorisierungsverfahren, sowie weitere neue Funktionen
unterstützt.
Kunde
Versicherungskonzern, Eigentümer der beiden Banken.
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung der neuen Autorisierungsverfahren und Integration dieser Verfahren in das
neue Web-Frontend.
Zeitraum
1/2017 – 12/2017
Größe Gesamtprojekt
ca. 15 Entwickler
Eingesetzte Technologien
Java: SE 7, SE8, Spring-MVC
Frontend: Javascript, JQuery, Bootstrap
Sonstiges: Linux, Eclipse, git, DB2
-------------------------------------------------------------------------------------------------------------------------
Implementierung Interner Web-Anwendungen im Bankenumfeld
Projektbeschreibung
Mitarbeit in mehreren Teilprojekten der Bereiche KFZ-Finanzierung und Warenfinanzierung.
- Entwicklung einer Web-Frontents zur Verwaltung von PDF-Formularen. Das Frontend erlaubt
das Hochladen und Verwalten von PDF-Dokumenten, die von anderen Applikationen verwendet
werden.
- Erweiterung einer bestehenden Web-Anwendung zum Verkauf von Versicherungen. Integration
von Komponenten, die durch einen Versicherungsanbieter bereitgestellten werden.
Spezifikation und Implementierung von REST-Services.
Kunde
Zu einer europäischen Großbank gehörender Software-Hersteller
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung, Test, Abstimmung mit anderen Teams
Zeitraum
2/2016 – 12/2016
Größe Gesamtprojekt
je nach Teilprojekt ca. 3-5 Entwickler
Eingesetzte Technologien
Java: SE 8, Spring-MVC, JPA (Hibernate)
Frontend: Javascript, Jquery, DataTables, Bootstrap
Sonstiges: Windows, Linux, Oracle, Tomcat, Subversion, Maven, Eclipse, REST,
Swagger
Methodik
Diverse, unter anderem Scrum
-------------------------------------------------------------------------------------------------------------------------
Entwicklung Web-Shop
Projektbeschreibung
Entwicklung neuer Features und Komponenten für zwei Online-Shops mit gemeinsamer techno-
logischer Basis. Grundlage der Architektur bildete ein kundeneigenes Framework, welches auf Spring-
MVC und Hibernate/MySQL aufbaut. Darüberhinaus waren weitere externe Systeme angebunden.
Die Volltextsuche wurde mit Hilfe von Apache Solr realisiert.
Weitere Bestandteile der Shops waren ein in Ruby-on-Rails geschriebenes Konfigurationswerkzeug
sowie diverse bash-Skripte.
Kunde
Mittelständiger Software-Hersteller mit Schwerpunkt Web/eCommerce
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung von Shop-Funktionalität als Mitglied eines Scrum-Teams
Unterstützung des Betriebs bei Deployment und Fehleranalyse.
Teilnahme an Planungs-Meetings mit den Endkunden
Zeitraum
7/2014 – heute (Stand: September 2015)
Größe Gesamtprojekt
4 Entwickler
Eingesetzte Technologien
Java: SE 6, Spring-MVC, Hibernate, Solr, Mockito
Javascript: Jquery, CoffeeScript
Ruby: Rails
Sonstiges: Linux, MySQL, Tomcat, git, Maven, Eclipse, Jenkins
Methodik
Agiles Projektmanagement (Scrum)
Konsequente Umsetzung von TDD (Test-Driven Design)
-------------------------------------------------------------------------------------------------------------------------
Online-Shop für ein Handelsunternehmen
Projektbeschreibung
Erstellung eines Online-Shops für ein Schweizer Einzelhandelsunternehmen (Jahresumsatz ca. 800
Mio CHF) basierend auf dem eCommerce-Framework Hybris, Version 5.
Kunde
Internetagentur
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung von Shop-Funktionalität unter Verwendung diverser Hybris-Komponenten,
insbesondere Storefront und WCMS.
Zeitraum
3/2014 – 6/2014
Größe Gesamtprojekt
10 Entwickler
Eingesetzte Technologien
Java: SE 7
Sonstiges: Hybris 5, Tomcat 6, git, ant, Eclipse, Jira, Jenkins
-------------------------------------------------------------------------------------------------------------------------
Web-Applikation Bankenumfeld
Projektbeschreibung
Mitarbeit bei der Weiterentwicklung einer bestehenden Wicket-basierten Web-Anwendung für Bank-Mitarbeiter. Bei der Anwendung handelt es sich um ein umfangreiches bank-internes Web-Frontend, welches auf eine Service-orientierte Middleware-Schicht aufsetzt.
Mithilfe beim Design und bei der Realisierung eines Schulungs-Frameworks basierend auf der Web-Anwendung. Mit Hilfe dieses Frameworks lassen sich interaktive Schulungsfälle regelbasiert implementieren.
Kunde
Bank
Vertragsform
freiberuflich
Aufgaben im Projekt
Integration eines neuen Kassensystems sowie in der Mitarbeit bei der Implementierung einer speziellen Variante des Systems für interne Schulungen.
Zeitraum
3/2013 – heute (Stand: November/2013)
Größe Gesamtprojekt
7 Entwickler, technischer Projektleiter
Eingesetzte Technologien
Java: Wicket, Tomcat, Spring , Drools (Rule-Engine)
Sonstiges: IntelliJ IDEA, Subversion, Maven, HTML/CSS
-------------------------------------------------------------------------------------------------------------------------
Weiterentwicklung einer Software zur Planung und Durchführung von Bauprojekten
Projektbeschreibung
Bei der Applikation handelt es sich um eine komplexe Branchenlösung zur Planung und Durchführung großer Bauprojekte. Diese wird durch den Anbieter als Produkt ständig weiterentwickelt, auf eigenen Plattformen betrieben und den Endkunden als web-basierte SAAS-Anwendung (Software as a Service) zur Verfügung gestellt wird.
Kunde
SAAS-Anbieter Baubranche
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung neuer Features als Mitglied eines agilen Entwicklungsteams
Zeitraum
10/2012 – 02/2013
Größe Gesamtprojekt
5 Entwickler, Entwicklungsleiter, Produktmanagerin, Testmanager und Tester.
Eingesetzte Technologien
Java: JDK 6, JDO, JSP, JSF, Struts, Ant, Lucene
Sonstiges: IntelliJ IDEA, Subversion, Oracle, Scrum
-------------------------------------------------------------------------------------------------------------------------
Implementierung eines web-basierten, dynamischen Formular-Editors
Projektbeschreibung
Die Applikation besteht aus folgenden zwei Teilen. Teil 1 ist eine web-basierte Anwendung zur Erfassung von Aufträgen. Teil 2 ist eine ebenfalls web-basierte Anwendung zur Definition von Auftragsformularen für Teil 1. Beide Applikationen wurden mit Hilfe des Web-Applikationsframeworks Wicket realisiert.
Kunde
Bank
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung.
Zeitraum
05/2012 – 08/2012
Größe Gesamtprojekt
5 Personen
Eingesetzte Technologien
Java: JDK 6, Wicket, Hibernate
Sonstiges: Eclipse, Subversion, Maven, HQL, Oracle
-------------------------------------------------------------------------------------------------------------------------
Implementierung eines Trouble-Ticketing Gateways
Projektbeschreibung
Implementierung eines Web-Services zur Anbindung von Kundensystemen an das des Ticketing-Systems eines Dienstleisters im Bank-Bereich. Die mit Hilfe von Web-Services realisierte Schnittstelle bindet das Ticketing-System eines großen Kunden an das des Herstellers an, so dass bestimmte Geschäftsprozesse firmenübergreifend unterstützt werden (B2B).
Kunde
Anbieter von IT-Systemen und Dienstleistungen für Banken
Vertragsform
freiberuflich
Aufgaben im Projekt
Konzeptionierung (teilweise.), Implementierung.
Zeitraum
10/2011 – 04/2012
Größe Gesamtprojekt
ca. 5 Personen
Eingesetzte Technologien
Java: JMS, JAXB, JAX-WS, Hibernate, Junit
Sonstiges: JBoss 7, Eclipse, CVS, Maven, SOAP
-------------------------------------------------------------------------------------------------------------------------
Weiterentwicklung und Wartung interner Java-Applikationen
Projektbeschreibung
Übernahme der Verantwortung für mehrere interne Java-Applikationen. Dies umfasste deren Weiterentwickung, die Unterstützung beim Betrieb, Fehlerbehebung und Beratung bei Architekturentscheidungen.
Kunde
mittelständisches Handelsunternehmen, Branche: Kosmetik
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung, Unterstützung beim Betrieb, Beratung.
Zeitraum
5/2011 – 08/2011
Größe Gesamtprojekt
5 Personen
Eingesetzte Technologien
Java: Junit, JSP, JDBC, log4J
Sonstiges: Eclipse, Subversion, Maven, Tomcat, Lawson M3
-------------------------------------------------------------------------------------------------------------------------
Mobiles Web-Portal
Projektbeschreibung
Implementierung eines Web-Portals für mobile Endgeräte. Bei der Anwendung handelt es sich um das Buchungsportal einer Hotelkette. Die Aufgabenstellung beinhaltete sowohl die Web-Anwendung selbst als auch die Anbindung an ein Backend-System über eine vorhandene REST-Schnittstelle.
Kunde
Auf mobile Anwendungen spezialisierte Web-Agentur
Vertragsform
freiberuflich
Aufgaben im Projekt
Implementierung nach vorhandener Spezifikation.
Zeitraum
3/2011 – 05/2011
Größe Gesamtprojekt
3 Personen
Eingesetzte Technologien
Java: JSP, Struts, Apache HttpClient, Junit, HTML, CSS, jQuery
Sonstiges: Eclipse, CVS
-------------------------------------------------------------------------------------------------------------------------
Interne Web-Anwendung, Verkehrsunternehmen
Projektbeschreibung
Weiterentwicklung einer internen Web-Applikation zur Erzeugung von Fahrplänen und Ansagen. Die Anwendung erzeugt unter Zuhilfenahme weiterer Backend-Systeme Zugfahrpläne sowie Sprachansagen und Texte für die diversen Innen- und Außendisplays der Züge.
Kunde
Verkehrsunternehmen
Vertragsform
freiberuflich
Aufgaben im Projekt
Konzeption einzelner Komponenten, Implementierung, Test und Begleitung der Produktionseinführung.
Zeitraum
10/2010 – 01//2011 (laufend)
Größe Gesamtprojekt
5 Personen
Eingesetzte Technologien
Java: Wicket, Spring, Hibernate, Junit, Netbeans, Subversion,
Sonstiges: Linux, MySQL, Oracle
---------------------------------------------------------------------------------------------------------------------------------
Mailstore-Konsolidierung, E-Mail Provider
Projektbeschreibung
Ziel des Gesamtprojektes war die Zusammenführung der Infrastrukturen mehrerer ehemals unab-
hängiger E-Mail Provider. Dabei konzentrierten sich die Arbeiten auf die Integration des sogenannten
Mailstores, einer hochperformanten, hochverfügbaren Datenbank zur Persistierung der Mails.
Innerhalb des Gesamtprojektes habe ich verschiedene Arbeitspakete übernommen, wobei es sich
hauptsächlich um Konzeption und Implementierungsarbeiten in Java und C++ handelte:
• Erweiterung eines POP3- und eines IMAP4-Servers zur Anpassung an eine neue Architektur (C++).
• Schaffung einer einheitlichen Zugriffsschicht auf den Mailstore und auf weitere Storage-Systeme für
Java-Clients (Java).
• Erweiterung mehrerer REST-Services (Java)
Kunde
Mail-Provider
Aufgaben im Projekt
Planung, Implementierung, Test und Begleitung der Produktionseinführung.
Zeitraum
04/2009 – 07/2010 (laufend)
Größe Gesamtprojekt
ca. 15 Personen
Eingesetzte Technologien
Java: Spring, Hibernate, Easymock, Junit, Maven, Eclipse, Subversion,
C++: STL, Boost, Apache Portable Runtime
Sonstiges: Linux (Debian), MySQL, Memcached
---------------------------------------------------------------------------------------------------------------------------------
Web-Services, Telekommunikation
Projektbeschreibung
Entwicklung eines generischen Web-Service Servers als Testwerkzeug. Die Anwendung besteht aus einem
SOAP-Server und einem Web-Frontend, die beide im selben Web-Container laufen. Der SOAP-Server
bearbeitet und protokolliert eingehende SOAP/HTTP-Requests und implementiert hierzu rudimentär
Geschäftslogik. Das Web-Frontend dient zur Konfiguration der Anwendung und zur Anzeige von Trace-
Informationen über die eingegangenen Service-Aufrufe.
Kunde
Deutsche Telekom Produkt & Innovation, Darmstadt
Aufgaben im Projekt
Design und Implementierung der oben beschriebenen Funktionalität.
Zeitraum
11/2008 – 02/2009
Größe Gesamtprojekt
3 Personen
Eingesetzte Technologien
Java (J2EE)
Spring
Spring-MVC
Spring-WS
JAXB
JSP
Servlets
JMX
Eclipse
Subversion
Tomcat
---------------------------------------------------------------------------------------------------------------------------------
Web-Anwendung zur Visualisierung von Statistikdaten
Projektbeschreibung
Die Anwendung stellt über einen langen Zeitraum gesammelte Performance-Daten eines EAI-Frameworks
auf verschiedene Art und Weise graphisch dar. Die Diagramme werden Server-seitig mittels Jfree-
Cart erstellt anschließend als Grafiken zum Client übertragen. Als Plattform diente Tomcat unter Linux
und als Web-Framework kam Wicket zum Einsatz.
Aufgaben im Projekt
Design, Implementierung
Kunde
Deutsches Mobilfunk-Unternehmen (Netzbetreiber)
Zeitraum
06/2006 – 09/2006
Größe Gesamtprojekt
2 Personen
Eingesetzte Technologien
Java (SE und J2EE)
Javascript
JFreeChart (JChart Library)
Wicket (Web Application Framework)
Tomcat
Servlets
Oracle
Subversion
--------------------------------------------------------------------------------------------------------------------------------------------
Regelbasierte Prioritätssteuerung
Projektbeschreibung
Bei dem Gesamtprojekt handelte es sich um eine mit TIBCO BusinessWorks realisierte SOA-Plattform
deren Aufgabe darin bestand, Aufträge anzunehmen und diese asynchron zu bearbeiten. Dabei war die
Bearbeitungsreihenfolge der Aufträge von großer Bedeutung, da unterschiedliche Auftragstypen unterschiedliche
Anforderungen an die Antwortzeit stellten. Es wurde daher eine regelbasierte Prioritätssteuerung
aufbauend auf dem der Rule-Engine JRules von ILOG realisiert.
Zur Integration der Rule Engine wurde ein Wrapper in Java entwickelt. Dieser Wrapper war selbst eine
verhältnismäßig komplexe Komponente mit eigenem Thread-Management.
Aufgaben im Projekt
Einarbeitung in JRules. Design, Implementierung und Test des Wrappers.
Kunde
Deutsches Mobilfunk-Unternehmen (Netzbetreiber)
Zeitraum
04/2006 – 06/2006
Größe Gesamtprojekt
ca. 10 Personen
Eingesetzte Technologien
Java
TIBCO BusinessWorks
ILOG Jrules
--------------------------------------------------------------------------------------------------------------------------------------
Proof of Concept zur Einführung von Bea WebLogic und WLI
Projektbeschreibung
Im Zuge der Planungen für eine Neustrukturierung der Systemlandschaft eines Telekommunikationsunternehmens
wurde die Produkte WLI und WebLogic Server von Bea evaluiert. Im Rahmen des Projektes
wurden verschiedene Test-Szenarien implementiert und ausführlichen Performance-Tests unterzogen.
Aufgaben im Projekt
Beschäftigung mit allgemeine Fragestellungen zur Hardware-Auswahl, Planung der Szenarien für die
Performance-Tests und Implementierung von Test-Scripts in Java und Python u.a. mit Hilfe des Werkzeugs
The Grinder.
Kunde
Deutsches Mobilfunk-Unternehmen (Service-Provier)
Zeitraum
2005, mehrere Monate mit Unterbrechungen
Größe Gesamtprojekt
ca. 20 Personen
Eingesetzte Technologien
Java (J2EE)
Python,
Grinder,
Weblogic 8,
WLI,
WLShell,
SOAP,
WSDL,
Unix Shell-Scripting
-----------------------------------------------------------------------------------------------------------------------------
Einführung eines JMS-basierten Messaging-Frameworks
Projektbeschreibung
Der Kunde plante die Einführung eines Messaging-Frameworks basierend auf JMS (Java Messaging Services).
Hierzu wurde TIBCO EMS als Produkt ausgewählt, Richtlinien und Konventionen zu dessen Einsatz
erarbeitet und Hardware ausgewählt. Außdem wurden Prototypen entwickelt und eine erste kleinere
Anwendung zum Test der neuen Infrastruktur erstellt.
Aufgaben im Projekt
Beratung bei der Produktauswahl, Erarbeitung von Richtlinien und Sicherheitskonzept zusammen mit
dem Kunden, Implementierung von Prototypen, Design und Implementierung einer Beispielapplikation
zusammen mit Entwicklern des Kunden.
Zeitraum
2004, ca. 6 Monate
Größe Gesamtprojekt
ca 10 Personen (nicht gleichzeitig)
Eingesetzte Technologien
TIBCO EMS
Java (J2EE)
JMS
OpenSSL
----------------------------------------------------------------------------------------------------------------------------
Web-Applikation für den Hotline-Betrieb
Projektbeschreibung
Erstellung einer Web-Anwendung für die Hotline eines Mobilfunk-Serviceproviders. Der Benutzer sollte
in der Lage sein, Kunden, Karten- und Rechnungsdaten einzusehen sowie verschiedene Aktionen wie beispielsweise
Sperrungen und Freischaltungen durchzuführen. Es handelte sich um eine J2EE-Anwendung
bestehend aus Web-Tier, EJBs und einem über einen Adapter angebundenen Transaktionsmonitor (Tuxedo).
Neben den J2EE-Komponenten war ein Tuxedo-Adapter zu entwickeln, der wiederum auf eine Informix-
und eine Oracle-Datenbank zugriff.
Aufgaben im Projekt
Teilprojektleitung (5 Personen)
Analyse
Design
Implementierung (teilweise)
Kunde
Deutscher Mobilfunk-Netzbetreiber
Zeitraum
2000-2001
Größe Gesamtprojekt
5 Personen
Eingesetzte Technologien
WebLogic Server
Java (J2EE)
Javascript
C und C++,
Tuxedo,
Informix,
Oracle
Reisebereitschaft
Verfügbar in den Ländern
Deutschland
Vor-Ort-Einsätze: bevorzugt NRW, bei größerem Remote-Anteil auch bundesweit
Full-Time
Full-Time