"Smarte.Land.Regionen" - eine mandantenfähige Anwendungsplattform mit Identity Management, Medien-Verwaltung und App-Marktplatz
Meine Aufgaben:
Erstellung einer sogenannten IT-Basiskomponente im Rahmen des Onlinezugangsgesetzes (OZG), die den Zugriff auf verschiedene öffentliche Dienste und Standards ermöglicht bzw. vereinfacht.
Die Nutzung ist sowohl für Fachverfahren (Behörden) als auch für Bürger über Browser-basierte Portale möglich. Die Authentifizierung erfolgt deshalb entweder über Zertifikate oder mit Hilfe des Personalausweises über das "Nutzerkonto Bund".
---------------------------------------------------------------------------------------------------------
Zeitraum: 05/2020 ? 07/2020
Kunde: ETC Gauff Solutions
Rolle: Senior Developer / Business Analyst
Projekt: Streckenspezifische Verarbeitung von Daten sog. Langsamfahrstellen
Aufgaben:
Abstimmung mit DB Netze bzgl. der Schnittstellenspezifikation
Erstellung einer Anwendung zum Parsen von Langsamfahrstellen (XML) und Streckendaten (CSV) und Erzeugung streckenspezifischer PDF Dateien
Umfeld: Java 11, Spring Boot 2.3, StreamEx, Jackson, JAXB 2.3, iText, Gradle
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/2019 bis 02/2020
Kunde: ETC Gauff Solutions
Rolle: Senior Developer / Business Analyst
Projekt: Fahrplan-Service und Hochrechnung von Beförderungszahlen im SPNV
Aufgaben:
Beratung bzgl. Microservice-Architektur, insbesondere Security und Einsatz von Spring-Boot
Evaluierung mathematischer Methoden im Rahmen der Hochrechnung von Beförderungszahlen im SPNV (Einnahmeaufteilung, Statistik geschichteter Zufallsstichproben)
Implementierung eines Moduls zur Hochrechnung von Beförderungszahlen im SPNV
Evaluierung von Keycloak und Apereo CAS als zentrale Authentifizierungsinstanz (via OpenID Connect)
Entwicklung eines Microservice zur Fahrplanauskunft (Spring Boot)
Entwicklung eines Kommandozeilen-Tools, um aus XML Daten der DB-Netz PDF-Dokumente zu erzeugen
Umfeld: Java 8, Spring Boot 2.2, PostgreSQL 9.4, Apache Tomcat, Postman, Gradle, Gitlab-CI, Docker, Kubernetes, Prometheus, Grafana, Jackson, JAXB 2.2, PdfBox 2, iText, Keycloak, Apereo CAS, OIDC
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2018 bis 11/2018
Projekt: Migration des Content Management Systems der Deutschen Börse AGvon CoreMedia 7 auf CoreMedia 9
Rolle: Senior Developer & DevOps
Kunde: Init AG, Berlin
Aufgaben:
? Migration kundenspezifischer Anpassungen von CoreMedia 7 auf CoreMedia 9
(speziell Solr-basierte Such- und Feeder-Logik)
? Anpassung von JSP und Freemarker templates
? Erweiterung und Wartung der Ansible deployment Skripte
? Erstellung neuer Ansible Rollen
? Test der Ansible Skripte mit Hilfe von HyperV und Docker
? Migration einer Web Anwendung: Austausch der expliziten Start- und Ablaufkontrolle
durch das Spring Framework und des selbstgebauten O/R mapping codes durch JPA/Hibernate
? Erstellung einer Spring Boot Anwendung zur Datenmigration von Oracle auf MySQL
? Erstellung von Bamboo CI Plänen (Deployment via Ansible/Docker)
Umfeld: Java 8, CoreMedia, Spring 5, Spring Boot 1.5, Apache Tomcat 7, Ansible 2.6, Docker, HyperV, Percona 5.7, JSP 2.2, Freemarker, Solr 6, Bamboo, Jira, Gitlab, IntelliJ, Maven, Git, Windows, CentOS
---------------------------------------------------------------------------------------------------------
Zeitraum: 09/2017 bis 11/2017
Kunde: Nordeck IT
Rolle: Architekturberatung
Projekt: Beratung bzgl. Softwarearchitektur and Entwicklungsprozess eines indischen Startups (Plattform für Umsatzsteuer)
Aufgaben:
? Beratung bzgl. der Gesamtarchitektur
? Erstellung eines Prototyps zur Integration mit Camunda BPM und Talend (ETL tool)
Umfeld: Java 8, Spring Boot 1.5, Spring 4.3, Apache Tomcat 8.5, Amazon AWS, Camunda 7.7, Talend (ETL Tool) 6.4, PostgreSQL 9.6, Jenkins, Maven, Git
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2017 bis 08/2017
Elternzeit
---------------------------------------------------------------------------------------------------------
Zeitraum: 07/2014 bis 01/2017
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung und Wartung der Plattform
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Migration von Java 6 auf Java 8
? Migration auf Amazon AWS
? Anbindung an Amazon SES und Sendgrid für sämtliche E-Mails
? Realisierung der Verwaltung von Email-Adressen und der Rückmeldungen
seitens Amazon SES (bounce handling)
? Realisierung der Kontrolle und Abnahme von Mitglieder-Emails (z.B. Einladungen)
zur Verhinderung von Missbrauch
? Integration von SocialInviter für Adress-Import und Einladungen
? Entwicklung eines Rabatt-Systems (Begrenzung der Laufzeit und des Tarifs, Admin-UI
sowie Darstellung im frontend)
? Migration von Subversion auf Git
Umfeld: Java 8, Apache Tomcat 8.5, Spring 4.2, Amazon AWS, Amazon SES, Sendgrid, SocialInviter, JSP 2.3, Bootstrap, jQuery, JSF 2, PrimeFaces 5, JPA 2.1, Hibernate 5, PostgreSQL 8.4, Gradle, Git
---------------------------------------------------------------------------------------------------------
Zeitraum: 11/2012 bis 07/2014
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung der Plattform (u.a Umstellung auf responsive design,
Anbindung an diverse soziale Netzwerke)
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Anleitung externer Mitarbeiter
? Anbindung an LinkedIn, Twitter und Facebook für login, Einladungen
und (automatisches) cross posting
? Umstellung auf "responsive design" (HTML5, Bootstrap, Sass/Scss)
? Umsetzung der Layout-Neugestaltung der gesamten website
? Migration der bisher JSP-basierten Administrations-GUI auf JSF 2
? Realisierung eines automatischen Abgleichs von Mitglieder-Angeboten und Gesuchen
und Benachrichtigung bei passenden Kombinationen
? Migration des build Systems von Maven auf Gradle
Umfeld: Apache Tomcat 7, Spring 3.2, Spring-Social, Spring-Security, JSP 2.2, Bootstrap, Sass, jQuery, JSF 2, PrimeFaces, JPA 2.0, Hibernate 4, PostgreSQL 8.4, Gradle, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 10/2010 bis 10/2012
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung der Plattform (u.a. Einführung eines neuen Tarifsystems, Foren, Charts)
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Anleitung externer Mitarbeiter
? Implementierung von Gruppen und Diskussionsforen
? Implementierung eines Bewertungssystems für Musik und Ermittlung bewertungsbasierter Charts
? Realisierung des komplexen Tarifsystems, der Bezahlfunktionen und entsprechenden batch jobs
? Anbindung an Wirecard für die Abwicklung jeglicher Zahlungen (Abonnement und Vorauszahlung)
? Anbindung an Amazon SES für den Versand von Newslettern
Umfeld: Apache Tomcat 7, Spring 3.2, Spring-Security 3.0, JSP 2.2, Quartz, JPA 2.1, Hibernate 4, PostgreSQL 8.4, Maven, Subversion, Amazon SES
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2010 bis 09/2010
Kunde: Otto, Hamburg
Rolle: Software Developer
Projekt: Fertigstellung einer intern genutzten Web-Anwendung
Aufgaben:
? Fehlerbehebung und Verbesserung des O/R mappings
? Implementierung interner Nachrichten (mailing und news)
? Entwicklung von GUI-Komponenten
? Einbindung von Hibernate-Validator
Umfeld: Java 6, Tomcat 6, JSF 1.2, RichFaces 3.3, Facelets, JPA 2.0, Hibernate 3, Spring 3, PostgreSQL, Oracle, IntelliJ, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2009 bis 07/2010
Kunde: Music2Deal
Rolle: Architect & Developer
Projekt: Migration der Plattform von PHP auf Java
Aufgaben:
? Konzeption der grundlegenden Architektur
? Anpassung der Datenbank sowie Integration zukünftiger Änderungen in den build-Prozess
? Sicherheitskonzept basierend auf Spring-Security
? Konzeption und Realisierung komplexer Such-Funktionen
? Realisierung der GUI für Übersetzungen
? Implementierung des Uploads von Musik- und Bilddateien (thumbnails via ImageMagick)
? Implementierung eines Freundschaftssystems mit Benachrichtigungen über
bestimmte Aktionen (ähnlich der Facebook "wall")
? Anbindung an Email-Server via Java Mail
Umfeld: Java 6, Tomcat 6, Spring 3.0, Spring-Security 3.0, Spring-MVC, JSP 2.1, JPA 2.0, Hibernate 3, PostgreSQL 9.4, ehCache 1.6, Liquibase, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 04/2009 bis 12/2009
Kunde: Startup, Hamburg
Rolle: Architect & Developer
Projekt: Entwicklung des Prototyps einer Social-Community
Aufgaben:
? Konzeption der Anwendungsarchitektur
? Datenbank-Design
? Implementierung der Basis-Funktionen und GUI-Komponenten
Umfeld: Java 6, Glassfish 2, Apache Wicket 1.4, JPA 1.0, Toplink, ehCache 1.6, MySQL 5.1, OpenSolaris, SLF4J, Ant, Ivy, Eclipse, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2008 bis 03/2009
Kunde: ISEC7, Hamburg
Rolle: Software Developer & Architect
Projekt: Entwicklung einer Blackberry-Anwendung zur Remote-Administration
von Windows-Servern, -Diensten und -Benutzern
Aufgaben:
? Konzeption der Anwendungsarchitektur (Client-Server, Anbindung über Web-Services)
? Datenbank-Design
? Realisierung des Server-seitigen Teils
? Design und Implementierung der Web-Services (Java first)
? Erstellen der HTML-Oberfläche zur Administration der Anwendung
(Verwaltung der administrierbaren Server, Benutzer- und Rechte-Verwaltung)
? Implementierung des Aufrufs diverser WMI/Win32 Funktionen mit Hilfe von COM4J
? Realisierung eines JAAS-LoginModules zur Authentifizierung an einer Active Directory Domain
(automatisches Lookup der DCs mit Hilfe von DNS Service Records)
? Realisierung von Active Directory Administrationsfunktionen über LDAP
(Benutzer- und Gruppen-Verwaltung)
Umfeld: Java 6, Tomcat 6, Java Persistence API, Hibernate 3.3, MySQL, Spring 2.5, Spring-MVC, AspectJ, LDAP, Windows, Active Directory, WMI, JAX-WS 2.1, JAXB 2, Apache-CXF 2.1, Eclipse, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 04/2007 bis 05/2008
Kunde: Otto, Hamburg
Rolle: Senior Software Developer
Projekt: NOA (Backend des Online-Shops)
Aufgaben:
? Design und Implementierung neuer Web-Services (contract first)
? Beratung bzgl. XML-Schema Design (speziell Einsatz von Vererbung
und Verwendung von Namensräumen)
? Unterstützung beim Redesign sämtlicher XML-Schemas im Bereich Customer
? Unterstützung bei der Migration von BEA Web-Service-Binding auf XMLBeans
? Design und Implementierung eines Generators zur Erzeugung von Regeln und HTML-Übersichten
aus einem zentralem XML-Format, da die verwendete rule engine (JESS) keine
Entscheidungsmatrizen unterstützt. (mit XMLBeans und Freemarker-Templates)
? Implementierung neuer batch jobs im Bereich File-Import/Export (XML-Format)
? Performance-Tests und Optimierung vorhandener batch jobs
? Tuning von SQL-Statements
? Evaluierung der Fähigkeiten von BEA Weblogic bezüglich des Verhaltens
persistenter (DB store) JMS-Queues bei Ausfall eines Cluster-Knotens
Umfeld: Java EE, Java 5, BEA Weblogic 9, Oracle 9/10, SOA, Windows XP, HP-UX, Linux, Eclipse, XML-Schema, XMLBeans, JESS (rule engine), Freemarker, Synergy
---------------------------------------------------------------------------------------------------------
Zeitraum: 09/2006 bis 03/2007
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Weiterentwicklung und Wartung einer Bilanzierungssoftware auf Basis von JBoss
Aufgaben:
? Implementierung neuer Formulare und Berichte innerhalb des bestehenden Frameworks
(im Wesentlichen Java + JSP + CSS + Javascript)
? Realisierung neuer Bilanzierungsregeln (in Java und Javascript)
? Anpassung und Optimierung der Datenstrukturen und deren Abbildung auf Java-Objekte
(OR-Mapping per Hibernate)
? Implementierung eines Caches für SAP-Daten über SAP Java Connector (JCO)
Umfeld: Java EE, JBoss 3.2, Oracle 9, Windows XP, Sun Solaris, Eclipse, JSP, Struts, CSS, JavaScript, Hibernate 2.1, JCO, Ant, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/2006 bis 08/2006
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Backend-System für Online-Shop auf Basis von IBM Websphere
Aufgaben:
? Entwicklung einer Web-Anwendungen zur Überwachung und Test des Backend-Systems
(Struts, JSP, Web-Security, Web-Services)
? Migration diverser Anwendungen von WSAD 5.1 auf RAD 6.0
? Wartungsarbeiten (Fehlerdiagnose und -Behebung)
? Re-Implementierung des Logging-Frameworks als Erweiterung von Log4J
(JDBC- und JMSAppender sowie eigene Event- und Layout-Typen)
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, AIX, IBM Websphere 5.1, Struts, JAXB, Log4J, JUnit, JUnitEE, Ant, Web-Services, WSAD, RAD
---------------------------------------------------------------------------------------------------------
Zeitraum: 11/2005 bis 02/2006
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Backend-System für Online-Shop auf Basis von IBM Websphere
Aufgaben:
? Konzeption einer Import-Schnittstelle für grosse XML-Dateien (remote EJB und Web-Service)
? Direktes Parsen der Daten mit SAX aufgrund der Dateigröße
? Import in Oracle-Datenbank mit JDBC prepared statements im batch-mode
? Implementierung mit Hilfe des Spring Frameworks, vor allem aufgrund der Möglichkeit,
ohne Container testen zu können.
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, AIX, IBM Websphere 5.1, Spring, JUnit, Web-Services, WSAD
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2005 bis 09/2005
Kunde: Deutsche Post, Bonn
Rolle: Software Developer
Projekt: Anbindung verschiedener Backend-Systeme an eine CRM-Software ("Epiphany") auf Basis eines Weblogic Clusters
Aufgaben:
? Entwicklung der grundlegenden Architektur in Team-Arbeit
? Anbindung verschiedener Systeme über den Service Backbone der Deutschen Post
(eine proprietäre SOA-Lösung)
? Analyse der (sehr komplexen) XML-Schemas
? Abnahme der Analysedokumente von der Business-Analyse
? Entwicklung eines Generators, der aus XmlBeans die Sourcen für einfache JavaBeans generiert
? Entwicklung eines Transformators, der XmlBeans zur Laufzeit in JavaBeans kopiert,
da ansonsten XMLBeans wieder als XML serialisiert würden
? Transformation von XML Daten in JavaBeans mit Hilfe von XMLBean sowie des oben
beschriebenen Generators/Transformators.
? Migration von XMLBeans 1.0.4 auf Version 2.0
? Erstellung von Tests
? Dokumentation unter Nutzung von XDocs (Maven XML-Format) und UML-Diagrammen
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, Sun Solaris, BEA Weblogic 8.1, Spring, XMLBeans 1.0/2.0, XStream, JUnit, Web-Services, Eclipse 3.1, Maven, PowerDesigner
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2004 bis 10/2004
Kunde: Startup, Hamburg
Rolle: Software Architect and Developer
Projekt: Prototyp für die Verarbeitung von SMS für den Einsatz in TV-Shows
Aufgaben:
? Konzeption der gesamten Anwendung im Hinblick auf möglichst hohen Durchsatz
? Implementierung in Java 1.4 (non-blocking IO, direkte Socket Programmierung)
? Implementierung der Protokolle UCP und SMPP
Umfeld: Linux, Java 1.4, UCP, SMPP, SMSC, MySQL
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2004 bis 07/2004
Kunde: Comdirect Bank, Quickborn
Rolle: Software Developer
Projekt: Migration des Web-Frontend von Websphere auf Tomcat und von Java 1.2 auf Java 1.4
Aufgaben:
? Analyse und Anpassung des Installationsprozesses und der Installationsskripte
? Anpassung der Tomcat-Konfiguration und -Installation in Absprache mit dem Administrator
? Anpassung der Ant build-scripts
? Anpassung von Servlets und JSPs
Umfeld: Java EE, IBM AIX, Windows NT, Cygwin, IBM Websphere 3, Tomcat 4.1, Apache, Ant, Java, Servlets, JSP, Eclipse
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2003 bis 02/2004
Kunde: Finix AG, Hamburg / Comdirect Bank, Quickborn
Rolle: Build Manager (Festanstellung)
Projekt: Optimierung des Entwicklungs- und build-Prozesses
Aufgaben:
? Analyse der bestehenden Strukturen und Erarbeitung von Alternativen
? Anpassung der Ant build-scripts
? Einsatz von tools zur Überprüfung des Quellcodes
? Durchführung von Code-Reviews
? Administration von CA Harvest (Konfigurationsmanagement)
? Automatisierung von Tests
Umfeld: IBM AIX, Windows NT, CA Harvest, Ant, Shellscripts, Java, Eclipse, Jalopy, Checkstyle
---------------------------------------------------------------------------------------------------------
Zeitraum: 01/2003 bis 07/2003
Kunde: Finix AG, Hamburg / Comdirect Bank, Quickborn
Rolle: Senior Software Developer (Festanstellung)
Projekt: Erweiterung eines Content Management Systems für den Internet-Auftritt einer Bank
Aufgaben:
? Anpassung des Content Management Systems für den Einsatz im Cluster
? Implementierung eines verteilten caches, Kommunikation wahlweise über
multicast sockets (UDP) oder TCP-sockets
? Durchführung von Performancetests zwecks Abschätzung der benötigten Hardware
Umfeld: Linux, Java, Orion, Apache, Oracle, Contelligent
---------------------------------------------------------------------------------------------------------
Zeitraum: 01/2001 bis 01/2003
Kunde: Finix AG, Hamburg
Rolle: Senior Software Developer, Team lead of backend development (Festanstellung)
Projekt: Entwicklung eines Content Management Systems auf Basis von Java EE ("Contelligent")
Hauptverantwortlich für Architektur und Entwicklung des Content Management Servers.
Realisierte Produkteigenschaften:
? Speicherung sämtlicher Inhalte in relationalen Datenbanken
? Versionierung jeder Änderung
? Paralleles Arbeiten in beliebig vielen Edit-Servern
? Preview pro Edit-Server möglich (ähnlich einem branch in Versionsverwaltungen)
? Typisierte Komponenten: Änderungen am Typ wirken sich automatisch auf die
Komponenten-Instanzen aus
? Rollenbasiertes Sicherheitskonzept auf Komponenten-Ebene
? Editieren der Komponenten über Web-Browser oder Swing-GUI (über Java Webstart)
? Import/Export sämtlicher Inhalte über XML-Dateien
? Template-Mechanismus mittels JSP-taglib
? Integrierte Workflow-Engine
? Integrierte Suche über Lucene bzw. Datenbank-Abfragen
Umfeld: Java EE, XML, Sybase, Oracle, DB2, Hypersonic, Weblogic Server 5/6, IBM WebSphere 4, JBoss 2/3, Orion 2, Linux, Lucene
---------------------------------------------------------------------------------------------------------
Zeitraum: 07/2000 bis 12/2000
Kunde: Netlife, Hamburg / Hamburgische Landesbank
Rolle: Software Developer (Festanstellung)
Projekt: Integration eine Online-Banking Anwendung mit dem bankinternen HBCI-System
Aufgaben:
? Implementierung sämtlicher business cases als EJBs (stateless session beans)
? Anbindung an das bankinterne HBCI-System via Java Native Interface (JNI),
da hier nur eine C-Schnittstelle zur Verfügung steht
? Implementierung eines Generators, der aus C-Strukturen entsprechende Java-Klassen
zur Verwendung als Data-Objects generiert
? Implementierung von C-Code zur Abbildung von Fehlercodes und Datenstrukturen
auf Java-Exceptions und Objekte
? Konfiguration und Installation von BEA Weblogic
Umfeld: BEA Weblogic Server 5.1, Linux, Java EE, JNI, C, Oracle, HBCI
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/1999 bis 06/2000
Kunde: Siemens Business Services, München
Rolle: Software Developer (Festanstellung)
Projekt: GINA - ein C++-Framework für OLTP Anwendungen
Das Produkt GINA bietet automatisiertes O/R-mapping für Anwendungsklassen durch (Mehrfach-) Vererbung sowie Transaktionssteuerung durch Verwendung eines Standard-Transaktionsmonitors.
Aufgaben:
? Qualitätssicherung und Code-Reviews
? Automatisierung der Testdurchführung und -auswertung (per cronjob + Shellskript)
? Realisierung von Tests in C++
? Kommunikation mit Kunden im Supportfall
Umfeld: C++, make, OLTP, BEA Tuxedo, OpenUTM, Solaris, AIX, HP-UX, Windows NT, SINIX, Oracle, Informix
---------------------------------------------------------------------------------------------------------
Zeitraum: 10/1992 bis 02/1999
Georg-August-Universität Göttingen
Physikstudium, Abschluss mit Diplom (Nebenfach Informatik)
Diplomarbeit am Institut für Theoretische Physik im Bereich Statistischer Mechanik.
Im Rahmen der Diplomarbeit wurde eine Simulationssoftware entwickelt, die mit Hilfe
der C-Bibliothek PVM (Parallel Virtual Machine) in heterogen Rechner-Clustern lauffähig ist.
Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.
Die Ausführung der Simulation erfolgte sowohl in einem x86-Cluster als auch auf Grossrechnern.
Das Sammeln und die Auswertung der Rohdaten erfolgte mittels freier Software unter Linux.
Umfeld: C, C++, PVM, make, bash, Linux, gnuplot
---------------------------------------------------------------------------------------------------------
Schwerpunkt: Theoretische Physik (computational physics), Nebenfach: Informatik
Im Rahmen der Diplomarbeit wurde eine massiv parallel arbeitende Simulation physikalischer Vorgänge entwickelt. Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.
Parallelisierung der Simulation mit Hilfe der freien C-Bibliothek PVM (Parallel Virtual Machine), wodurch die Simulation auch in heterogen Rechner-Clustern lauffähig war.
Professionelle IT-Erfahrung seit 1999, seit 2004 freiberuflich (u.a. bei Otto, Deutsche Post, Comdirect, T-Systems, Hamburgische Landesbank, Siemens)
Berufserfahrung
? Cloud-basierte Architekturen (Microservices, Kubernetes / Docker)
? Design und Entwicklung von Systemen im Java Enterprise Umfeld (Spring / Spring Boot, Java EE)
? Verteilte transaktionale Systeme, hochverfügbare Lösungen/Cluster
? Developer Coaching & Teamleitung
? Build- und Test-Management / Continues Integration & Deployment
? Objektpersistenz (O/R-Mapping, XML-Serialisierung)
? Datenbank-Design
? Erstellung von XML Schemas und DTDs
? Full stack development
Architektur & Design
Microservices, Service-oriented architecture (SOA)
Multi-Tier-Architekturen
MVC-Systeme und -Frameworks (Model-View-Controller)
Web Services / REST
Verteilte transaktionale Systeme
Objektorientierte Analyse & Design: UML, Design Patterns
Client/Server-Systeme: sowohl synchron als auch asynchron bzw. event-gesteuert
Standards
Java EE (J2EE): insbesondere EJB, Servlets, JTA/JTS, JMS, JMX
Java Persistence API (JPA)
Java API for XML Web Services (JAX-WS)
Java Architecture for XML Binding (JAXB)
Java Server Faces (JSF)
Remote Method Invocation (RMI)
Java Native Interface (JNI)
Agile Softwareentwicklung (Scrum)
XInclude, XPath, XQuery, SAX, DOM, StAX, XSLT
JSON, JSONPath
LDAP
Frameworks / Produkte
Spring / Spring Boot
Kubernetes, Minikube
Docker, Docker-Compose
Glassfish / Payara, WildFly
Tomcat, Jetty
Keycloak
Hibernate, EclipseLink (JPA)
Amazon AWS
CoreMedia (CMS)
Camunda (BPMS)
Solr, Lucene, ElasticSearch
Apache HTTP, nginx, Traefik
Freemarker, JSP
Thymeleaf
JSF, PrimeFaces
Sass / SCSS
Gitlab-CI, Bamboo, Jenkins
Tools
Gradle, Maven, Ant, Ivy
Git, Subversion
Helm
IntelliJ IDEA
Asciidoc
Liquibase, Flyway
Ansible
"Smarte.Land.Regionen" - eine mandantenfähige Anwendungsplattform mit Identity Management, Medien-Verwaltung und App-Marktplatz
Meine Aufgaben:
Erstellung einer sogenannten IT-Basiskomponente im Rahmen des Onlinezugangsgesetzes (OZG), die den Zugriff auf verschiedene öffentliche Dienste und Standards ermöglicht bzw. vereinfacht.
Die Nutzung ist sowohl für Fachverfahren (Behörden) als auch für Bürger über Browser-basierte Portale möglich. Die Authentifizierung erfolgt deshalb entweder über Zertifikate oder mit Hilfe des Personalausweises über das "Nutzerkonto Bund".
---------------------------------------------------------------------------------------------------------
Zeitraum: 05/2020 ? 07/2020
Kunde: ETC Gauff Solutions
Rolle: Senior Developer / Business Analyst
Projekt: Streckenspezifische Verarbeitung von Daten sog. Langsamfahrstellen
Aufgaben:
Abstimmung mit DB Netze bzgl. der Schnittstellenspezifikation
Erstellung einer Anwendung zum Parsen von Langsamfahrstellen (XML) und Streckendaten (CSV) und Erzeugung streckenspezifischer PDF Dateien
Umfeld: Java 11, Spring Boot 2.3, StreamEx, Jackson, JAXB 2.3, iText, Gradle
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/2019 bis 02/2020
Kunde: ETC Gauff Solutions
Rolle: Senior Developer / Business Analyst
Projekt: Fahrplan-Service und Hochrechnung von Beförderungszahlen im SPNV
Aufgaben:
Beratung bzgl. Microservice-Architektur, insbesondere Security und Einsatz von Spring-Boot
Evaluierung mathematischer Methoden im Rahmen der Hochrechnung von Beförderungszahlen im SPNV (Einnahmeaufteilung, Statistik geschichteter Zufallsstichproben)
Implementierung eines Moduls zur Hochrechnung von Beförderungszahlen im SPNV
Evaluierung von Keycloak und Apereo CAS als zentrale Authentifizierungsinstanz (via OpenID Connect)
Entwicklung eines Microservice zur Fahrplanauskunft (Spring Boot)
Entwicklung eines Kommandozeilen-Tools, um aus XML Daten der DB-Netz PDF-Dokumente zu erzeugen
Umfeld: Java 8, Spring Boot 2.2, PostgreSQL 9.4, Apache Tomcat, Postman, Gradle, Gitlab-CI, Docker, Kubernetes, Prometheus, Grafana, Jackson, JAXB 2.2, PdfBox 2, iText, Keycloak, Apereo CAS, OIDC
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2018 bis 11/2018
Projekt: Migration des Content Management Systems der Deutschen Börse AGvon CoreMedia 7 auf CoreMedia 9
Rolle: Senior Developer & DevOps
Kunde: Init AG, Berlin
Aufgaben:
? Migration kundenspezifischer Anpassungen von CoreMedia 7 auf CoreMedia 9
(speziell Solr-basierte Such- und Feeder-Logik)
? Anpassung von JSP und Freemarker templates
? Erweiterung und Wartung der Ansible deployment Skripte
? Erstellung neuer Ansible Rollen
? Test der Ansible Skripte mit Hilfe von HyperV und Docker
? Migration einer Web Anwendung: Austausch der expliziten Start- und Ablaufkontrolle
durch das Spring Framework und des selbstgebauten O/R mapping codes durch JPA/Hibernate
? Erstellung einer Spring Boot Anwendung zur Datenmigration von Oracle auf MySQL
? Erstellung von Bamboo CI Plänen (Deployment via Ansible/Docker)
Umfeld: Java 8, CoreMedia, Spring 5, Spring Boot 1.5, Apache Tomcat 7, Ansible 2.6, Docker, HyperV, Percona 5.7, JSP 2.2, Freemarker, Solr 6, Bamboo, Jira, Gitlab, IntelliJ, Maven, Git, Windows, CentOS
---------------------------------------------------------------------------------------------------------
Zeitraum: 09/2017 bis 11/2017
Kunde: Nordeck IT
Rolle: Architekturberatung
Projekt: Beratung bzgl. Softwarearchitektur and Entwicklungsprozess eines indischen Startups (Plattform für Umsatzsteuer)
Aufgaben:
? Beratung bzgl. der Gesamtarchitektur
? Erstellung eines Prototyps zur Integration mit Camunda BPM und Talend (ETL tool)
Umfeld: Java 8, Spring Boot 1.5, Spring 4.3, Apache Tomcat 8.5, Amazon AWS, Camunda 7.7, Talend (ETL Tool) 6.4, PostgreSQL 9.6, Jenkins, Maven, Git
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2017 bis 08/2017
Elternzeit
---------------------------------------------------------------------------------------------------------
Zeitraum: 07/2014 bis 01/2017
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung und Wartung der Plattform
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Migration von Java 6 auf Java 8
? Migration auf Amazon AWS
? Anbindung an Amazon SES und Sendgrid für sämtliche E-Mails
? Realisierung der Verwaltung von Email-Adressen und der Rückmeldungen
seitens Amazon SES (bounce handling)
? Realisierung der Kontrolle und Abnahme von Mitglieder-Emails (z.B. Einladungen)
zur Verhinderung von Missbrauch
? Integration von SocialInviter für Adress-Import und Einladungen
? Entwicklung eines Rabatt-Systems (Begrenzung der Laufzeit und des Tarifs, Admin-UI
sowie Darstellung im frontend)
? Migration von Subversion auf Git
Umfeld: Java 8, Apache Tomcat 8.5, Spring 4.2, Amazon AWS, Amazon SES, Sendgrid, SocialInviter, JSP 2.3, Bootstrap, jQuery, JSF 2, PrimeFaces 5, JPA 2.1, Hibernate 5, PostgreSQL 8.4, Gradle, Git
---------------------------------------------------------------------------------------------------------
Zeitraum: 11/2012 bis 07/2014
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung der Plattform (u.a Umstellung auf responsive design,
Anbindung an diverse soziale Netzwerke)
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Anleitung externer Mitarbeiter
? Anbindung an LinkedIn, Twitter und Facebook für login, Einladungen
und (automatisches) cross posting
? Umstellung auf "responsive design" (HTML5, Bootstrap, Sass/Scss)
? Umsetzung der Layout-Neugestaltung der gesamten website
? Migration der bisher JSP-basierten Administrations-GUI auf JSF 2
? Realisierung eines automatischen Abgleichs von Mitglieder-Angeboten und Gesuchen
und Benachrichtigung bei passenden Kombinationen
? Migration des build Systems von Maven auf Gradle
Umfeld: Apache Tomcat 7, Spring 3.2, Spring-Social, Spring-Security, JSP 2.2, Bootstrap, Sass, jQuery, JSF 2, PrimeFaces, JPA 2.0, Hibernate 4, PostgreSQL 8.4, Gradle, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 10/2010 bis 10/2012
Kunde: Music2Deal
Rolle: Architect & Lead Developer
Projekt: Erweiterung der Plattform (u.a. Einführung eines neuen Tarifsystems, Foren, Charts)
Aufgaben:
? Hauptverantwortlich für Architektur und Realisierung
? Anleitung externer Mitarbeiter
? Implementierung von Gruppen und Diskussionsforen
? Implementierung eines Bewertungssystems für Musik und Ermittlung bewertungsbasierter Charts
? Realisierung des komplexen Tarifsystems, der Bezahlfunktionen und entsprechenden batch jobs
? Anbindung an Wirecard für die Abwicklung jeglicher Zahlungen (Abonnement und Vorauszahlung)
? Anbindung an Amazon SES für den Versand von Newslettern
Umfeld: Apache Tomcat 7, Spring 3.2, Spring-Security 3.0, JSP 2.2, Quartz, JPA 2.1, Hibernate 4, PostgreSQL 8.4, Maven, Subversion, Amazon SES
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2010 bis 09/2010
Kunde: Otto, Hamburg
Rolle: Software Developer
Projekt: Fertigstellung einer intern genutzten Web-Anwendung
Aufgaben:
? Fehlerbehebung und Verbesserung des O/R mappings
? Implementierung interner Nachrichten (mailing und news)
? Entwicklung von GUI-Komponenten
? Einbindung von Hibernate-Validator
Umfeld: Java 6, Tomcat 6, JSF 1.2, RichFaces 3.3, Facelets, JPA 2.0, Hibernate 3, Spring 3, PostgreSQL, Oracle, IntelliJ, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2009 bis 07/2010
Kunde: Music2Deal
Rolle: Architect & Developer
Projekt: Migration der Plattform von PHP auf Java
Aufgaben:
? Konzeption der grundlegenden Architektur
? Anpassung der Datenbank sowie Integration zukünftiger Änderungen in den build-Prozess
? Sicherheitskonzept basierend auf Spring-Security
? Konzeption und Realisierung komplexer Such-Funktionen
? Realisierung der GUI für Übersetzungen
? Implementierung des Uploads von Musik- und Bilddateien (thumbnails via ImageMagick)
? Implementierung eines Freundschaftssystems mit Benachrichtigungen über
bestimmte Aktionen (ähnlich der Facebook "wall")
? Anbindung an Email-Server via Java Mail
Umfeld: Java 6, Tomcat 6, Spring 3.0, Spring-Security 3.0, Spring-MVC, JSP 2.1, JPA 2.0, Hibernate 3, PostgreSQL 9.4, ehCache 1.6, Liquibase, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 04/2009 bis 12/2009
Kunde: Startup, Hamburg
Rolle: Architect & Developer
Projekt: Entwicklung des Prototyps einer Social-Community
Aufgaben:
? Konzeption der Anwendungsarchitektur
? Datenbank-Design
? Implementierung der Basis-Funktionen und GUI-Komponenten
Umfeld: Java 6, Glassfish 2, Apache Wicket 1.4, JPA 1.0, Toplink, ehCache 1.6, MySQL 5.1, OpenSolaris, SLF4J, Ant, Ivy, Eclipse, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2008 bis 03/2009
Kunde: ISEC7, Hamburg
Rolle: Software Developer & Architect
Projekt: Entwicklung einer Blackberry-Anwendung zur Remote-Administration
von Windows-Servern, -Diensten und -Benutzern
Aufgaben:
? Konzeption der Anwendungsarchitektur (Client-Server, Anbindung über Web-Services)
? Datenbank-Design
? Realisierung des Server-seitigen Teils
? Design und Implementierung der Web-Services (Java first)
? Erstellen der HTML-Oberfläche zur Administration der Anwendung
(Verwaltung der administrierbaren Server, Benutzer- und Rechte-Verwaltung)
? Implementierung des Aufrufs diverser WMI/Win32 Funktionen mit Hilfe von COM4J
? Realisierung eines JAAS-LoginModules zur Authentifizierung an einer Active Directory Domain
(automatisches Lookup der DCs mit Hilfe von DNS Service Records)
? Realisierung von Active Directory Administrationsfunktionen über LDAP
(Benutzer- und Gruppen-Verwaltung)
Umfeld: Java 6, Tomcat 6, Java Persistence API, Hibernate 3.3, MySQL, Spring 2.5, Spring-MVC, AspectJ, LDAP, Windows, Active Directory, WMI, JAX-WS 2.1, JAXB 2, Apache-CXF 2.1, Eclipse, Maven, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 04/2007 bis 05/2008
Kunde: Otto, Hamburg
Rolle: Senior Software Developer
Projekt: NOA (Backend des Online-Shops)
Aufgaben:
? Design und Implementierung neuer Web-Services (contract first)
? Beratung bzgl. XML-Schema Design (speziell Einsatz von Vererbung
und Verwendung von Namensräumen)
? Unterstützung beim Redesign sämtlicher XML-Schemas im Bereich Customer
? Unterstützung bei der Migration von BEA Web-Service-Binding auf XMLBeans
? Design und Implementierung eines Generators zur Erzeugung von Regeln und HTML-Übersichten
aus einem zentralem XML-Format, da die verwendete rule engine (JESS) keine
Entscheidungsmatrizen unterstützt. (mit XMLBeans und Freemarker-Templates)
? Implementierung neuer batch jobs im Bereich File-Import/Export (XML-Format)
? Performance-Tests und Optimierung vorhandener batch jobs
? Tuning von SQL-Statements
? Evaluierung der Fähigkeiten von BEA Weblogic bezüglich des Verhaltens
persistenter (DB store) JMS-Queues bei Ausfall eines Cluster-Knotens
Umfeld: Java EE, Java 5, BEA Weblogic 9, Oracle 9/10, SOA, Windows XP, HP-UX, Linux, Eclipse, XML-Schema, XMLBeans, JESS (rule engine), Freemarker, Synergy
---------------------------------------------------------------------------------------------------------
Zeitraum: 09/2006 bis 03/2007
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Weiterentwicklung und Wartung einer Bilanzierungssoftware auf Basis von JBoss
Aufgaben:
? Implementierung neuer Formulare und Berichte innerhalb des bestehenden Frameworks
(im Wesentlichen Java + JSP + CSS + Javascript)
? Realisierung neuer Bilanzierungsregeln (in Java und Javascript)
? Anpassung und Optimierung der Datenstrukturen und deren Abbildung auf Java-Objekte
(OR-Mapping per Hibernate)
? Implementierung eines Caches für SAP-Daten über SAP Java Connector (JCO)
Umfeld: Java EE, JBoss 3.2, Oracle 9, Windows XP, Sun Solaris, Eclipse, JSP, Struts, CSS, JavaScript, Hibernate 2.1, JCO, Ant, Subversion
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/2006 bis 08/2006
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Backend-System für Online-Shop auf Basis von IBM Websphere
Aufgaben:
? Entwicklung einer Web-Anwendungen zur Überwachung und Test des Backend-Systems
(Struts, JSP, Web-Security, Web-Services)
? Migration diverser Anwendungen von WSAD 5.1 auf RAD 6.0
? Wartungsarbeiten (Fehlerdiagnose und -Behebung)
? Re-Implementierung des Logging-Frameworks als Erweiterung von Log4J
(JDBC- und JMSAppender sowie eigene Event- und Layout-Typen)
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, AIX, IBM Websphere 5.1, Struts, JAXB, Log4J, JUnit, JUnitEE, Ant, Web-Services, WSAD, RAD
---------------------------------------------------------------------------------------------------------
Zeitraum: 11/2005 bis 02/2006
Kunde: T-Systems, Hamburg
Rolle: Software Developer
Projekt: Backend-System für Online-Shop auf Basis von IBM Websphere
Aufgaben:
? Konzeption einer Import-Schnittstelle für grosse XML-Dateien (remote EJB und Web-Service)
? Direktes Parsen der Daten mit SAX aufgrund der Dateigröße
? Import in Oracle-Datenbank mit JDBC prepared statements im batch-mode
? Implementierung mit Hilfe des Spring Frameworks, vor allem aufgrund der Möglichkeit,
ohne Container testen zu können.
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, AIX, IBM Websphere 5.1, Spring, JUnit, Web-Services, WSAD
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2005 bis 09/2005
Kunde: Deutsche Post, Bonn
Rolle: Software Developer
Projekt: Anbindung verschiedener Backend-Systeme an eine CRM-Software ("Epiphany") auf Basis eines Weblogic Clusters
Aufgaben:
? Entwicklung der grundlegenden Architektur in Team-Arbeit
? Anbindung verschiedener Systeme über den Service Backbone der Deutschen Post
(eine proprietäre SOA-Lösung)
? Analyse der (sehr komplexen) XML-Schemas
? Abnahme der Analysedokumente von der Business-Analyse
? Entwicklung eines Generators, der aus XmlBeans die Sourcen für einfache JavaBeans generiert
? Entwicklung eines Transformators, der XmlBeans zur Laufzeit in JavaBeans kopiert,
da ansonsten XMLBeans wieder als XML serialisiert würden
? Transformation von XML Daten in JavaBeans mit Hilfe von XMLBean sowie des oben
beschriebenen Generators/Transformators.
? Migration von XMLBeans 1.0.4 auf Version 2.0
? Erstellung von Tests
? Dokumentation unter Nutzung von XDocs (Maven XML-Format) und UML-Diagrammen
Umfeld: Java EE, XML, XML-Schema, EJB, Windows XP, Sun Solaris, BEA Weblogic 8.1, Spring, XMLBeans 1.0/2.0, XStream, JUnit, Web-Services, Eclipse 3.1, Maven, PowerDesigner
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2004 bis 10/2004
Kunde: Startup, Hamburg
Rolle: Software Architect and Developer
Projekt: Prototyp für die Verarbeitung von SMS für den Einsatz in TV-Shows
Aufgaben:
? Konzeption der gesamten Anwendung im Hinblick auf möglichst hohen Durchsatz
? Implementierung in Java 1.4 (non-blocking IO, direkte Socket Programmierung)
? Implementierung der Protokolle UCP und SMPP
Umfeld: Linux, Java 1.4, UCP, SMPP, SMSC, MySQL
---------------------------------------------------------------------------------------------------------
Zeitraum: 02/2004 bis 07/2004
Kunde: Comdirect Bank, Quickborn
Rolle: Software Developer
Projekt: Migration des Web-Frontend von Websphere auf Tomcat und von Java 1.2 auf Java 1.4
Aufgaben:
? Analyse und Anpassung des Installationsprozesses und der Installationsskripte
? Anpassung der Tomcat-Konfiguration und -Installation in Absprache mit dem Administrator
? Anpassung der Ant build-scripts
? Anpassung von Servlets und JSPs
Umfeld: Java EE, IBM AIX, Windows NT, Cygwin, IBM Websphere 3, Tomcat 4.1, Apache, Ant, Java, Servlets, JSP, Eclipse
---------------------------------------------------------------------------------------------------------
Zeitraum: 08/2003 bis 02/2004
Kunde: Finix AG, Hamburg / Comdirect Bank, Quickborn
Rolle: Build Manager (Festanstellung)
Projekt: Optimierung des Entwicklungs- und build-Prozesses
Aufgaben:
? Analyse der bestehenden Strukturen und Erarbeitung von Alternativen
? Anpassung der Ant build-scripts
? Einsatz von tools zur Überprüfung des Quellcodes
? Durchführung von Code-Reviews
? Administration von CA Harvest (Konfigurationsmanagement)
? Automatisierung von Tests
Umfeld: IBM AIX, Windows NT, CA Harvest, Ant, Shellscripts, Java, Eclipse, Jalopy, Checkstyle
---------------------------------------------------------------------------------------------------------
Zeitraum: 01/2003 bis 07/2003
Kunde: Finix AG, Hamburg / Comdirect Bank, Quickborn
Rolle: Senior Software Developer (Festanstellung)
Projekt: Erweiterung eines Content Management Systems für den Internet-Auftritt einer Bank
Aufgaben:
? Anpassung des Content Management Systems für den Einsatz im Cluster
? Implementierung eines verteilten caches, Kommunikation wahlweise über
multicast sockets (UDP) oder TCP-sockets
? Durchführung von Performancetests zwecks Abschätzung der benötigten Hardware
Umfeld: Linux, Java, Orion, Apache, Oracle, Contelligent
---------------------------------------------------------------------------------------------------------
Zeitraum: 01/2001 bis 01/2003
Kunde: Finix AG, Hamburg
Rolle: Senior Software Developer, Team lead of backend development (Festanstellung)
Projekt: Entwicklung eines Content Management Systems auf Basis von Java EE ("Contelligent")
Hauptverantwortlich für Architektur und Entwicklung des Content Management Servers.
Realisierte Produkteigenschaften:
? Speicherung sämtlicher Inhalte in relationalen Datenbanken
? Versionierung jeder Änderung
? Paralleles Arbeiten in beliebig vielen Edit-Servern
? Preview pro Edit-Server möglich (ähnlich einem branch in Versionsverwaltungen)
? Typisierte Komponenten: Änderungen am Typ wirken sich automatisch auf die
Komponenten-Instanzen aus
? Rollenbasiertes Sicherheitskonzept auf Komponenten-Ebene
? Editieren der Komponenten über Web-Browser oder Swing-GUI (über Java Webstart)
? Import/Export sämtlicher Inhalte über XML-Dateien
? Template-Mechanismus mittels JSP-taglib
? Integrierte Workflow-Engine
? Integrierte Suche über Lucene bzw. Datenbank-Abfragen
Umfeld: Java EE, XML, Sybase, Oracle, DB2, Hypersonic, Weblogic Server 5/6, IBM WebSphere 4, JBoss 2/3, Orion 2, Linux, Lucene
---------------------------------------------------------------------------------------------------------
Zeitraum: 07/2000 bis 12/2000
Kunde: Netlife, Hamburg / Hamburgische Landesbank
Rolle: Software Developer (Festanstellung)
Projekt: Integration eine Online-Banking Anwendung mit dem bankinternen HBCI-System
Aufgaben:
? Implementierung sämtlicher business cases als EJBs (stateless session beans)
? Anbindung an das bankinterne HBCI-System via Java Native Interface (JNI),
da hier nur eine C-Schnittstelle zur Verfügung steht
? Implementierung eines Generators, der aus C-Strukturen entsprechende Java-Klassen
zur Verwendung als Data-Objects generiert
? Implementierung von C-Code zur Abbildung von Fehlercodes und Datenstrukturen
auf Java-Exceptions und Objekte
? Konfiguration und Installation von BEA Weblogic
Umfeld: BEA Weblogic Server 5.1, Linux, Java EE, JNI, C, Oracle, HBCI
---------------------------------------------------------------------------------------------------------
Zeitraum: 03/1999 bis 06/2000
Kunde: Siemens Business Services, München
Rolle: Software Developer (Festanstellung)
Projekt: GINA - ein C++-Framework für OLTP Anwendungen
Das Produkt GINA bietet automatisiertes O/R-mapping für Anwendungsklassen durch (Mehrfach-) Vererbung sowie Transaktionssteuerung durch Verwendung eines Standard-Transaktionsmonitors.
Aufgaben:
? Qualitätssicherung und Code-Reviews
? Automatisierung der Testdurchführung und -auswertung (per cronjob + Shellskript)
? Realisierung von Tests in C++
? Kommunikation mit Kunden im Supportfall
Umfeld: C++, make, OLTP, BEA Tuxedo, OpenUTM, Solaris, AIX, HP-UX, Windows NT, SINIX, Oracle, Informix
---------------------------------------------------------------------------------------------------------
Zeitraum: 10/1992 bis 02/1999
Georg-August-Universität Göttingen
Physikstudium, Abschluss mit Diplom (Nebenfach Informatik)
Diplomarbeit am Institut für Theoretische Physik im Bereich Statistischer Mechanik.
Im Rahmen der Diplomarbeit wurde eine Simulationssoftware entwickelt, die mit Hilfe
der C-Bibliothek PVM (Parallel Virtual Machine) in heterogen Rechner-Clustern lauffähig ist.
Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.
Die Ausführung der Simulation erfolgte sowohl in einem x86-Cluster als auch auf Grossrechnern.
Das Sammeln und die Auswertung der Rohdaten erfolgte mittels freier Software unter Linux.
Umfeld: C, C++, PVM, make, bash, Linux, gnuplot
---------------------------------------------------------------------------------------------------------
Schwerpunkt: Theoretische Physik (computational physics), Nebenfach: Informatik
Im Rahmen der Diplomarbeit wurde eine massiv parallel arbeitende Simulation physikalischer Vorgänge entwickelt. Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.
Parallelisierung der Simulation mit Hilfe der freien C-Bibliothek PVM (Parallel Virtual Machine), wodurch die Simulation auch in heterogen Rechner-Clustern lauffähig war.
Professionelle IT-Erfahrung seit 1999, seit 2004 freiberuflich (u.a. bei Otto, Deutsche Post, Comdirect, T-Systems, Hamburgische Landesbank, Siemens)
Berufserfahrung
? Cloud-basierte Architekturen (Microservices, Kubernetes / Docker)
? Design und Entwicklung von Systemen im Java Enterprise Umfeld (Spring / Spring Boot, Java EE)
? Verteilte transaktionale Systeme, hochverfügbare Lösungen/Cluster
? Developer Coaching & Teamleitung
? Build- und Test-Management / Continues Integration & Deployment
? Objektpersistenz (O/R-Mapping, XML-Serialisierung)
? Datenbank-Design
? Erstellung von XML Schemas und DTDs
? Full stack development
Architektur & Design
Microservices, Service-oriented architecture (SOA)
Multi-Tier-Architekturen
MVC-Systeme und -Frameworks (Model-View-Controller)
Web Services / REST
Verteilte transaktionale Systeme
Objektorientierte Analyse & Design: UML, Design Patterns
Client/Server-Systeme: sowohl synchron als auch asynchron bzw. event-gesteuert
Standards
Java EE (J2EE): insbesondere EJB, Servlets, JTA/JTS, JMS, JMX
Java Persistence API (JPA)
Java API for XML Web Services (JAX-WS)
Java Architecture for XML Binding (JAXB)
Java Server Faces (JSF)
Remote Method Invocation (RMI)
Java Native Interface (JNI)
Agile Softwareentwicklung (Scrum)
XInclude, XPath, XQuery, SAX, DOM, StAX, XSLT
JSON, JSONPath
LDAP
Frameworks / Produkte
Spring / Spring Boot
Kubernetes, Minikube
Docker, Docker-Compose
Glassfish / Payara, WildFly
Tomcat, Jetty
Keycloak
Hibernate, EclipseLink (JPA)
Amazon AWS
CoreMedia (CMS)
Camunda (BPMS)
Solr, Lucene, ElasticSearch
Apache HTTP, nginx, Traefik
Freemarker, JSP
Thymeleaf
JSF, PrimeFaces
Sass / SCSS
Gitlab-CI, Bamboo, Jenkins
Tools
Gradle, Maven, Ant, Ivy
Git, Subversion
Helm
IntelliJ IDEA
Asciidoc
Liquibase, Flyway
Ansible