Projekte als Freiberufler
Hier finden Sie eine Beschreibung aller Projekte, in denen ich bisher gearbeitet habe. In meinem Profil finden Sie eine Übersicht über meine Erfahrungen mit Technologien und Produkten. Die Referenzen meiner Kunden sind ebenfalls auf einer eigenen Seite zu finden.
Abrechnungsserver (XPay, 2023)
In diesem Projekt hatte der Kunde angefangen, eine Server-Anwendung zu entwickeln, um Geldbeträge von Bankkonten einzuziehen. Ich bin kurzfristig eingesprungen, um das Projekt als Architekt und Entwickler zu unterstützen. Nach einem vollständigen Review des bestehenden Codes habe ich ihn strukturell und inhaltlich an vielen Stellen verbessert. Kurz nachdem ich angefangen habe, neue Funktionalität umzusetzen, wurde das Projekt leider eingestellt.
Technologien und Produkte: Java, Spring, Spring Boot, Spring Data, Postgresql, SQS, LocalStack, Testcontainers, Datadog, Docker
Plattform zum Deployment von Anwendungen (Datasophie/Pergola, 2021-2023)
Ein Start-Up entwickelte eine neue Plattform zum einfachen Deployment von Anwendungen, zunächst zum Einsatz innerhalb von Großunternehmen. In enger Abstimmung mit dem Gründer habe ich große Teile des Backends des Systems entwickelt. Der Schwerpunkt meiner Arbeit lag in der Steuerung und Kontrolle von Kubernetes-Clustern.
Technologien und Produkte: Java, Spring, Spring Boot, OAuth 2.0, REST, Postgresql, Elastic, Redis, Artemis, Kubernetes, Stomp, Websockets
Neu-Entwicklung einer Anwendung für direkte Projektvermittlung (Gulp, 2019-2023)
Eine bestehende Anwendung sollte durch eine vollständige Neuentwicklung abgelöst werden. Zusammen mit einem kleinen Team traf ich zunächst grundsätzliche technische Entscheidungen zur Technologie und der Architektur. Parallel zur Migration der bestehenden Daten in eine neue Datenbank entwickelten wir die neue Anwendung, die während eines Parallelbetriebs schrittweise in Betrieb genommen wurde. Besondere Merkmale dieser Anwendung sind eine REST-Schnittstelle nach dem HATEOAS-Ansatz (Hypermedia As The Engine Of Application State) sowie eine vollständig neue Volltextsuche auf Basis von Solr. Das neue System ließ sich über Jahre hinweg problemlos und weitgehend bugfrei weiterentwickeln.
Technologien und Produkte: Angular, Typescript, Karma, Cypress, Java, Spring, Spring Boot, Spring Session, Thymeleaf, OAUth 2.0, REST, HATEOAS, SCSS, Bootstrap, MongoDB, Solr, Redis, Docker
Wartung einer Leasingsoftware (HLA Fleet Services/TraXall, 2019-2023)
Das vom Kunden verwendete System wurde schon langjährig entwickelt. Nach einem Wechsel des Wartungsteam habe ich die Weiterentwicklung durch die Umsetzung verschiedener Anforderungen unterstützt.
Technologien und Produkte: Java, Spring, PostgreSQL
Bezahlsystem (The Paymail, 2018)
Ein prototypisch entwickeltes Bezahlsystem war erfolgreich produktiv gesetzt worden. Ich wurde in das Projekt geholt, um die Architektur und die Struktur des Systems grundlegend zu verbessern. Als erstes baute ich das System so um, dass es mandantenfähig wurde. Später entwickelte ich das Backoffice-Frontend größtenteils neu und implementierte eine REST-Schnittstelle mit OAuth2-Authentifizierung zum Zugriff von externen Partnern.
Technologien und Produkte: Java, Spring, Spring Boot, REST, OAuth 2.0, Wicket, SCSS, Foundation, PostgreSQL
Migration einer Anwendung nach Angular (Gulp, 2017-2018)
Im Rahmen einer strategischen Entscheidung für Angular als neue Frontend-Technologie bin ich zu einem Kunden zurückgekehrt, um dort die Migration der bestehenden Webanwendung von Wicket zu Angular mitzugestalten. Zunächst musste geklärt werden, wie altes und neues Frontend so gemeinsam betrieben werden können, dass die Migration schrittweise erfolgen kann. Mein Fokus lag dann darin, die neu benötigte REST-Schnittstelle konsistent zu entwickeln sowie die (umfangreiche) Angular-Anwendung von Anfang an einheitlich aufzubauen. Zudem arbeitete ich eng mit den Produktverantwortlichen zusammen, um die benötigten Funktionen zu analysieren.
Technologien und Produkte: Angular, Typescript, Karma, Protractor, Java, Spring, Spring Boot, SCSS, Foundation, MongoDB
Webanwendung für Freiberufler-Profile (Gulp, 2015-2017)
Ein bestehendes Team brauchte kurzfristig Verstärkung für die laufende Weiterentwicklung der Web-Anwendung. Entsprechend habe ich mich schnell in die Anwendung eingearbeitet und in das Team und seine Entwicklungsprozesse integriert. Inhaltlich habe ich viele kleine und mittelgroße Änderungen und Erweiterungen umgesetzt.
Technologien und Produkte: Java 8, Spring, Spring Boot, Spring Data, MongoDB, Solr, Hystrix, Apache Wicket, Apache Shiro, Docx4j, SCSS, Foundation, Geb, Spock, Gradle, Github, Docker
Neuentwicklung einer Plattform für HR-Anwendungen (ShareXell, 2015)
Basierend auf den fachlichen Erfahrungen von Vorgängersystemen habe ich als Teil eines Teams von drei erfahrenen Entwicklern eine vollständig neue Plattform für HR-Anwendungen in Großkonzernen aufgesetzt. Das erste Modul dieser Plattform bildet vielseitig konfigurierbare Prozesse ab, um Mitarbeitern Stellen aus einem Stellenkatalog zuweisen zu können. Zusätzlich zur gewohnten Entwicklung von Frontend und Backend in Java 8 habe ich im Laufe des Projekts auch viel mit SCSS/CSS3 gearbeitet.
Technologien und Produkte: Java 8, Spring, QueryDSL, Apache Wicket, Spring Security, Camel, Gradle, PostgreSQL, Oracle, SCSS, CSS3, Bootstrap
Schnittstellenentwicklung für Online-Spiel (Ravensburger Digital, 2015)
Ein bestehendes Online-Spiel benötigte eine neue Schnittstelle, um die Client-Seite auf eine neue Technologie portieren zu können. Meine Aufgabe bestand darin, diese Schnittstelle auf Basis von Apache Thrift umzusetzen.
Technologien und Produkte: Spring, Apache Thrift
Kassensystem auf einem Android-Tablet (eh2, 2014)
Der Auftrag bestand darin, ein neues Kassensystem zu entwickeln, das auf gängigen Android-Tablets laufen und sich mit einem Cloud-basierten Backend verbinden sollte. In einem kleinem Team entstand in kurzer Zeit ein fertiges System mit Touchscreen-Kasse und Kunden-Display. Ich habe vor allem die technische Basis in der Android-Umgebung aufgesetzt und die Geschäftslogik entwickelt, die eine sehr hohe Testabdeckung erforderte.
Technologien und Produkte: Android v16, Dagger, SQLite, GIT
Einführung eines Stellenkatalogs in einem Großkonzernen (ShareXell, 2014)
Ein vorhandenes Produkt musste in Frontend, Backend und Datenbank an die Anforderungen eines neuen Kunden angepasst werden. Meine Herausforderung bestand darin, mich schnell fachlich einzuarbeiten und eine Vielzahl von Detailänderungen in einer schon etwas älteren Codebasis sicher vorzunehmen.
Technologien und Produkte: Spring, iBatis, Struts 2, Oracle
Bestellplattform für Filial-Unternehmen (eh2, 2013)
Aufbauend auf einem bestehenden Prototyp habe ich wesentliche Teile der System-Architektur entworfen und umgesetzt. Die Schwerpunkte lagen in diesem Projekt darauf, die komplexen fachlichen Anforderungen in ein modulares Design abzubilden und eine hohe Ausführungsgeschwindigkeit der Verarbeitungsprozesse zu erreichen.
Technologien und Produkte: JEE 6, JPA 2, CDI, JBoss AS7, PostgreSQL, Apache Wicket, JQuery, Bootstrap, GIT
Verzeichnis und Community für Designermöbel (woont, 2012-2013)
In diesem Folgeprojekt habe ich auf Basis der zuvor erstellten generischen Plattform ein Online-Verzeichnis für Designermöbel sowie eine Community für Design-Interessierte entwickelt. Da am Backend nur wenige Erweiterungen notwendig waren, lag der Fokus diesmal auf der UI-Entwicklung.
Technologien und Produkte: JEE 6, JPA 2, JMS, JAX-RS, Glassfish, PostgreSQL, MongoDB, Apache Wicket, JQuery, Maven, Jenkins
Internet-Community für Angler (Angeln.de, 2011-2012)
Die Ziele des Projekts waren eine generische Plattform für unterschiedliche Online-Communities sowie eine konkrete Community für Angler. Die Plattform besteht aus drei Modulen: ein redaktionell gepflegtes Verzeichnis, eine Community sowie ein Marktplatz. Als Architekt habe ich für das Backend eine schnelle, stabile und erweiterbare JEE 6-Architektur entworfen und umgesetzt. Im Frontend habe ich die (ebenfalls generische) Anwendung für die Redakteursoberfläche entworfen und größtenteils entwickelt.
Technologien und Produkte: JEE 6, JPA 2, JMS, JAX-RS, Glassfish, PostgreSQL, PostGIS, Apache Wicket, JQuery, Maven
Backend für eine Online-Erlebniswelt für Kinder (Ravensburger Digital, 2011)
Ich übernahm ein schon eineinhalb Jahren laufendes Projekt mit einer sehr kurzen Übergabephase komplett. Während ich die Architektur des Backends weitgehend modernisierte und vereinfachte, musste ich gleichzeitig neue Funktionalität hinzufügen. Die wichtigsten Erweiterungen betrafen die Anbindung an Bezahlsysteme und Newslettertools sowie grundlegende Änderungen im Domänenmodell. Zudem arbeitete ich neue Entwickler ein.
Technologien und Produkte: Apache Wicket, Spring MVC, Freemarker, JQuery, Spring, Hibernate, Quartz, Apache CXF (SOAP), BlazeDS, MySQL, Maven, Subversion, Jenkins, Jira, Confluence
Online-Verkaufsplattform für konfigurierbare Fahrzeuge (BMW, 2010-2011)
In diesem Folgeprojekt entstand ein neuer Fahrzeug-Konfigurator für die Marke MINI
mit der Möglichkeit, konfigurierte Fahrzeuge (in Schweden) direkt per Internet zu
kaufen und zu finanzieren.
Die wesentlichen Schwierigkeiten bestanden darin, bestehende Umsysteme, z.B. zur Baubarkeitsprüfung,
Preisfindung und Verkaufsabwicklung zu integrieren und dabei für eine endkundengerechte
Performance zu sorgen. Als Architekt habe ich die wichtigen technischen Entscheidungen
getroffen und die übrigen Entwickler dabei unterstützt, die Architektur konsistent
einzuhalten. Als Entwickler habe ich auf allen Ebenen mitgearbeitet.
Technologien und Produkte: JSF 2.0, PrimeFaces, JQuery, Spring, Spring Security, JPA2, Hibernate, Quartz, Glassfish, Oracle, Maven, Subversion, Hudson, Jira, Confluence
Online-Verkaufsplattform für Bestandsfahrzeuge (BMW, 2009-2010)
In einem innovativem und agilen Umfeld habe ich als Architekt die technische Plattform entwickelt, über die Endkunden im Internet Neuwagen aus dem Bestand der Marke MINI kaufen können. Als Entwickler habe ich Fachanforderungen abgestimmt sowie die kritischen Teile der Anwendung - sowohl im Frontend wie im Backend - erstellt.
Technologien und Produkte: JSF 2.0, PrimeFaces, JQuery, Spring, Spring Security, JPA, Hibernate, Quartz, Glassfish, Oracle, Maven, Subversion, Hudson, PayPal-API, Jira, Confluence
Schnittstellenentwicklung für ein Kassensystem (BurgerKing, 2009)
Ein bestehendes System für Warenwirtschaft und Produktvermarktung musste an ein neues Kassensystem angebunden werden. Als Analyst habe ich untersucht, wie das bestehende System verändert werden muss, um die Anforderungen des neuen Kassensystems umzusetzen. Als Entwickler habe ich die dazu notwendige Schnittstelle erfolgreich implementiert und integriert.
Technologien und Produkte: Spring, Hibernate, JBoss ESB, JMS, XML, XSD Schema, JAXB, Fit, JSP, PostgreSQL, Tomcat, Subversion
Produktentwicklung in der Unterhaltungsindustrie (4tiitoo, 2008-2009)
In einem kleinen Start-Up wurde - lange vor der Markteinführung des iPad - ein innovatives Tablet entwickelt. Als Architekt dieses Produktes habe ich zusammen mit dem Team die wesentlichen technischen Grundlagen des Produkts definiert. Als Entwickler habe ich das Produkt auf allen technischen Ebenen mit entwickelt und getestet.
Technologien und Produkte: Spring, Spring Security, Hibernate, Quartz, FreeMarker, TestNG, Mockito, Tapestry 5, HTML, CSS, JavaScript, JQuery, XUL, Firefox-Plugins, Ubuntu, Bash, Maven, Ant, Hudson, VMWare, PostgreSQL, Tomcat, Subversion, Jira, Confluence
Forderungsverbriefung (Siemens Financial Services, 2007-2008)
Als Architekturberater habe ich das Projektteam dabei unterstützt, ein System zu entwerfen, das Forderungsdaten in Batch-Durchläufen effizient und sicher verarbeitet. Als Qualitätssicherer habe ich besonders darauf geachtet, dass die Systemstruktur solide und der Sourcecode langfristig wartbar bleiben.
Technologien und Produkte: SAP NetWeaver Application Server 7.0, SAP NetWeaver Developer Studio 7.0, Java 1.4, Spring, Hibernate, Quartz, CAST Application Intelligence Platform, EclEmma, PMD, FindBugs
Kampagnenmanagement für Online-Marketing (Komdat, 2007-2008)
Für die Verwaltung von Online-Marketing-Kampagnen habe ich eine neue Backend-Architektur entworfen und umgesetzt, die auf aktuellen Java-Technologien basiert (Java 6, Spring, Hibernate, JMX) und sich einfach um neue Funktionen erweitern lässt.
Technologien und Produkte: Java 6, Spring, Spring Security (Acegi), Hibernate, MySQL, Quartz, JMX, JUnit4, Google AdWords, Subversion
Data-Warehouse für Online-Marketing (Komdat, 2007-2008)
Ein von mir entworfenes Data-Warehouse konsolidiert alle Daten über die Auslieferung und den Erfolg von Online-Werbemaßnahmen, die zuvor auf unterschiedlichen Systemen gehalten wurden. Dadurch wurde es möglich, verschiedene Datenbestände bei SQL- oder MDX-Abfragen sehr performant miteinander zu verknüpfen. Die ETL-Prozesse aktualisieren den Datenbestand in Neartime und verarbeiten über 10 Millionen Datensätze im Monat.
Technologien und Produkte: Java 6, Spring, Quartz, Mondrian, MDX, Spring MVC, JMX, JUnit4, MySQL, Ant, Subversion
Trackingsystem für Online-Marketing (Komdat, 2007)
Ein von mir neu entwickeltes Tracking-System zeichnet den Erfolg von Online-Werbemaßnahmen auf und wertet die aufgezeichneten Massendaten anschließend aus. Im Rechenzentrum verarbeitet das neue System pro Rechner bis zu 3000 Anfragen pro Sekunde, eine Steigerung um etwa den Faktor 10 zum Altsystem. Zudem skaliert die Verarbeitung der Daten erheblich leichter über mehrere Rechner.
Technologien und Produkte: Java 6, Spring, Hibernate, JMX, JUnit4, Servlets, Ant, Subversion
Sendeplanungssystem für einen Fernsehsender (ProSieben, 2005-2006)
Als Analyst habe ich die Abläufe in der Sendeabwicklung des Fernsehsenders sowie ihre Auswirkungen auf eine zu neu entwickelnde Sendeplanung untersucht. Als Designer und Entwickler habe ich dann grundlegende Software-Komponenten des Systems verbessert. Zudem habe ich die Entwicklung des Clients des Planungssystem geleitet sowie an diesem selbst mitgearbeitet.
Technologien und Produkte: Java 1.4, J2EE 1.4, JMS, Swing, Spring, Websphere Application Server 6, Informix, Eclipse, Rational Software Architect, Requisite Pro, Clearcase, ClearQuest, JProfiler, Maven
Plattform für eine Familie von Geschäftsanwendungen (RTL II, 2003-2005)
Als Architekt habe ich die Basis-Architektur für eine neue Plattform zur Ablösung einer bestehenden Systemlandschaft von rund 20 Anwendungen entwickelt. Die neue Plattform besteht überwiegend aus generischen, konfigurierbaren Komponenten, teils für die Client-, teils für die Serverseite, mit deren Hilfe die ersten 10 Anwendungen (darunter eine sehr komplexe Verwaltung und ein Planungssystem) zeitgerecht portiert werden konnten. Zeitweise habe ich zudem das Entwicklungsteam koordiniert.
Detailliertere Informationen zu diesem Projekt finden Sie in einerFallstudie.
Technologien und Produkte: Java 1.4, J2EE 1.3, EJB, Hibernate, XDoclet, Swing, Java Web Start, JBoss, MS SQL-Server, Ant, CVS
Deklarative Entwicklung von Benutzungsoberflächen (ProSieben, 2003)
Für die Entwicklung eines Verwaltungssystem mit sehr vielen Masken zum Laden, Bearbeiten und Speichern von Daten habe ich eine Komponente entwickelt, mit deren Hilfe diese Masken deklarativ, also in sehr kurzer Zeit, erstellt und geändert werden können.
Technologien und Produkte: Java 1.4, Swing, J2EE 1.2, EJB, Bea Weblogic
Musikportal (ProSieben, 2002)
Zunächst habe ich als Analyst die Anforderungen an eine Webanwendung ermittelt, mit deren Hilfe Redakteure Musik recherchieren und herunterladen können. Die Entwicklung der Webanwendung habe ich koordiniert sowie selbst daran gearbeitet.
Technologien und Produkte: Java 1.4, Tomcat, Struts, HTML, CSS, JSP, Servlets, Corba, XSLT, POI, Tecmath, Informix, JMeter
Content-Management-System (ProSieben, 2001-2002)
Für ein System zur Dokumentation und Archivierung von Nachrichtenbeiträgen habe ich wichtige Bestandteile der Client-Anwendung entwickelt (z. B. eine komfortable Suchfunktion mit Volltextsuche im gesamten Datenbestand). Zudem habe ich die Datenqualität bei der Migration der Altdaten erheblich verbessert.
Technologien und Produkte: Java 1.3, Swing, Java Webstart, Corba, XML, XSLT, Suchmaschinen, Informix, JProbe
Ältere Projekte:
Da die Inhalte meiner Projekte vor 2001 vermutlich weniger interessant geworden sind, seien hier nur die Logos der jeweiligen Kunden aufgeführt.