Während der Coronakrise bin ich via Remote verfügbar.
07/2019 - 03/2020: Analyse eines produktiven Bestandsystems, Konzeption einer verteilten Zielarchitektur samt Refactoring- und Migrationsstrategien, Implementierung von Teilsystemen und technologischer Knowhow-Transfer im Team als Software Architect und Software Engineer für eine Umstellung eines monolithischen Altsystems in eine vollständig skalierbare, verteilte und reaktive Data-Science-Plattform für ein Analytics-Unternehmen in der Touristik.
Umgebung / Technologien: Java 8, Scala 2.13, Functional Programming, Actor Model, Akka, Streaming, Event Sourcing, Akka Streams, Apache Pulsar, Apache Kafka, Spark, Maven, REST, HATEOAS, HAL, HTTP/2, Hadoop, HDFS, Spring Boot, Spring WebFlux, OAuth 2.0, JWT, Python 3.6, quart, hypercorn, scikit-learn, Docker, Kubernetes.
05/2019 - 06/2019: Analyse eines produktiven Bestandsystems und Konzeption einer Zielarchitektur samt Refactoring- und Migrationsstrategie als Software Architect für die schrittweise Umstellung eines monolithischen Altsystems in klassischer Drei-Schichten-Architektur in ein vollständig horizontal skalierbares, verteiltes, reaktives System für ein
Logistik-Unternehmen.
Umgebung / Technologien: Java 8, Actor Model, EventSourcing, Domain-Driven Design, Service Mesh, Akka, Apache Pulsar, Envoy Proxy, Java Control Plane, Maven 3, gRPC, REST, HATEOAS, HAL, HTTP Caching, Netflix Zuul 2, LevelDB.
05/2019 - 05/2019: Entwurf und Implementierung einer hausinternen Generierung von PDF-Rechnungen gemäß ZUGFeRD 2 Final als Entwickler aus XRechnung-Dokumenten im UN/CEFACT Cross Industry Invoice (CII)-Syntax.
Umgebung / Technologien: XSLT, XSL-FO, Xalan-Java 2.7.2, Apache FOP 2.3, Java 8, Mustang 1.5.1
09/2018 - 05/2019: Konzeption und Implementierung einer Service Mesh-Lösung als Software Architect für ein sich dynamisch zur Laufzeit anpassendes, verteiltes Set an Microservices (Self-Healing, TLS Certificate & Key Rotation) mit Envoy Proxy für einen Hersteller von Wiege-Systemen.
Umgebung / Technologien: Java 8, Spring 4, Spring Boot, Envoy Proxy, Java Control Plane, Maven 3, gRPC, REST, HATEOAS, HAL
04/2018 - 08/2018: Konzeption und prototypische Implementierung einer Microservices-Systemlandschaft als Software Architect sowie Konzeption und Implementierung einer kontinuierlichen Live-Synchronisierung von Daten von Oracle nach MariaDB als Entwickler als Vorbereitung der Migration einer monolithischen Datenpflege-Anwendung einer Öffentlich-Rechtlichen Sendeanstalt von Active Record nach Event Sourcing.
Umgebung / Technologien: Java 8, Spring 4, Spring Boot, Project Reactor, Oracle 11.2g, Change Data Capture, Oracle LogMiner, MariaDB, Kafka Connect, Debezium, Apache Kafka, Event Sourcing, Kafka Streams, Maven 3, REST, HATEOAS, HAL
10/2015 - 03/2018: Grundlegendes Refactoring und Weiterentwicklung einer Microservice-Systemlandschaft als Lead Software Architect sowie Entwicklung von REST-/HATEOAS/HAL-basierten Middleware-Diensten für ein Web-Portal im Bereich Finanzdienstleistungen (Factoring / Forderungsmanagement) mit einem Wechsel eines produktiven Bestandsystems mit ~50 Microservices auf Basis von Active Record hin zu einem besser wart- und skalierbaren Zielsystem auf Basis von Event Sourcing. Umgebung / Technologien: Java 8, Maven, Spring 4, Spring Boot, Event Sourcing, Domain-Driven Design, Apache Kafka, Apache Kafka Streams, Apache Kafka Connect, Debezium, Jenkins, REST / HATEOAS / HAL, JSON, PDFKit 2.0.0
07/2015 - 09/2015: Tätigkeit als Software Architect für die Einführung eines Single-Sign-On-Systems über mehrere Portale eines deutschen Logistikkonzerns sowie Konzeptionierung des Aufbaus und der Integration eines Self-Service-Systems innerhalb der Portale. Umgebung / Technologien: OpenID Connect, Java / JEE, Enterprise Architect.
12/2014 - 06/2015: Unterstützung eines Entwickler-Teams als Scrum-Master sowie Entwicklung von Server-Komponenten für ein Unternehmen im Bereich Public Security. Umgebung / Technologien: MS Visual Studio 2013, TFS, (Managed) C++ / C, FFmpeg, RTSP, RTP, OpenCV.
01/2012 - 11/2014: Entwicklung von REST-/HATEOAS-basierten Middleware-Diensten, welche die Auflistung und Bewerbung, den Verkauf sowie die Auslieferung von Inhalten eines deutschen Video-On-Demand-Portals ermöglichen; Aufbau und Weiterentwicklung einer Continuous Integration- und Continuous Deployment-Umgebung. Umgebung / eingesetzte Technologien: Microsoft Visual Studio 2010, C#, .NET 4, MSBuild, Apache Ant, ASP.NET MVC 3, IIS 7, NInject, NUnit, JUnit, NuGet, Subversion, TeamCity, REST / HATEOAS, XML Schema, XML, JSON
10/2011 - 12/2011: Überarbeitung und Wartung eines Silverlight-basierten Media-Players eines deutschen Video-On-Demand-Portals. Umgebung / eingesetzte Technologien: Silverlight 3, Microsoft Visual Studio 2010, C#, MSBuild, Subversion, Jenkins, XML
10/2009 - 09/2011: Konzeption, technische Projektleitung von einem Entwickler sowie Implementierung von Komponenten eines web-gestützten Systems zur vollautomatisierten, niederschwelligen Aufzeichnung und Live-Streaming von universitären Lehrveranstaltungen unter Einsatz von Framegrabber-Hardware. Alleinstellungsmerkmale sind u.a. die Live-Konvertierung von VGA-Projektor-Signalen und Mikrofon-Ton auf Basis der libavcodec in H.264 / AAC-komprimierte Pakete, welche live per JMS auf einem Eventbus weiterverteilt und als MP4-Datei aufgezeichnet sowie per RTMP an Flash-fähige Clients gestreamt wurden. Umsetzung / eingesetzte Technologien: HTML, CSS, REST / HATEOAS, JavaScript, jQuery, ActionScript, Flex SDK, Java, JNI, C++, V4L, FFmpeg (libavcodec), Spring, Quartz Scheduler, Jersey, Hibernate, PostgreSQL, Apache Tomcat, Apache ActiveMQ (Java-Server und native CPP-Library), Red5 Flash Streaming Server, CAS Single-Sign-On, Ubuntu Server, VirtualBox, Subversion
04/2009 - 09/2011: Konzeption, technische Projektleitung von 5 Entwicklern sowie Implementierung eines web-gestützten Systems zur Bereitstellung offener, universitärer Lehr-/Lern-Materialien via Download und Streaming einschließlich verteiltem Backend zur Konvertierung. Umgebung / eingesetzte Technologien: HTML, CSS, JavaScript, jQuery, Java, FFmpeg (commandline), Spring, Hibernate, PostgreSQL, Apache Tomcat, Apache ActiveMQ, Apache ServiceMix, Direct Web Remoting, CAS Single-Sign-On, Jenkins, Artifactory, Apache Ant, Apache Ivy, Ubuntu Server, VMWare vSphere, Subversion
07/2004 - 09/2011: Konzeption und technische Begleitung mehrerer Projekte mit diversen Open-Source-Veröffentlichungen; zu den so umgesetzten Projekten zählen unter anderem: ein freier Java-ASN.1-Compiler mit PER-Unterstützung, welcher den erforderlichen ASN.1/PER-Sprachumfang besitzt, um bspw. das H.323-Protokoll für Videokonferenz-Anrufe in eine funktionsfähige Client-Bibliothek in Java zu übersetzen, mit welcher H.323-Anrufe getätigt werden können; Java-Bibliotheken zur Generierung von ISO9660- sowie UDF-Dateisystemabbildern für CDs und DVDs samt der Einbindung via Ant-Tasks; eine Java-Bibliothek zum Deployment von Anwendungen auf JCOP-basierten Smartcards; einer Java-Bibliothek für das native Remote Desktop Protocol (RDP) zur graphischen Fernsteuerung von Windows-Rechnern.
06/2003 - 06/2004: Konzeption und Entwicklung eines verteilten, web-gestützten Systems zur Montage- und Prüfungsunterstützung von Nutzfahrzeug-Bordcomputern bei einem deutschen Automobil-Zulieferer. Umgebung / eingesetzte Technologien: C / C++, Visual Studio, Java, Jini, RMI, JNI, Canbus, Windows
10/2017 - 03/2019: Vertretungsprofessur (50% Teilzeit) am Fachbereich Informatik der Hochschule Darmstadt mit den Schwerpunkten Multimedia und Grundlagen der Informatik
11/2018: Erfolgreiche Teilnahme an Zertifikatsprüfung "Certified Professional for Requirements Engineering - Foundation Level" (CPRE-FL) gemäß IREB
09/2014: Erfolgreiche Teilnahme an Zertifikatsprüfung "Certified Professional for Software Architecture - Foundation Level" (CPSA-FL) gemäß iSAQB
07/2004 - 07/2010: Promotion zum Dr.-Ing. im Bereich Informatik an der Technischen Universität Darmstadt im Bereich der formalen, deklarativen Datenformat-Beschreibung mit Note "sehr gut"
10/1998 - 03/2003: Studium zum Diplom-Informatiker (FH) an der Fachhochschule Darmstadt mit den Schwerpunkten Systementwicklung und Graphische Datenverarbeitung, Diplom mit Note "sehr gut" (1,3)
* Entwurf von neuen Software-Architekturen, Analyse und Refactoring von bestehenden Software-Systemen zum Abbau von technischen Schulden, typischerweise um eine bessere Wartbarkeit und Skalierbarkeit sowie höhere Verlässlichkeit zu geringeren Wartungs- und Weiterentwicklungskosten zu realisieren.
* Abstimmung von Wartungs- und Weiterentwicklungsvorhaben zwischen Entwicklern und der Fachseite unter Berücksichtigung sowohl technischer als auch fachlicher Belange.
Entwicklung eines REST-Dienstes zur Integration von SANE-unterstützen ADF-Scannern via saned, jFreeSane und Spring 4.0, Spring Data / Spring HATEOAS.
Erweiterung und Anbindung der bestehenden Javacard-Anwendung MUSCLE auf einer SmartCard als Zertifikats-Speicher und Krypto-Provider in Java für eine Dongle-Sicherung von Software.
Entwicklung eines Moduls für den automatisierten, kryptographisch gesicherten Upload von Anwendungen auf JavaCard-basierte Smartcards (JCOP, GlobalPlatform) samt Integration in Ant.
Data Science / Analytics
Automobilsektor (Zulieferer im Bereich Nutzfahrzeuge)
Maschinenbau (Hersteller von Wiege-Systemen)
Finanzdienstleistungen
Telekommunikation
Logistik
Public Security
universitäres Umfeld
Öffentlicher Rundfunk
Während der Coronakrise bin ich via Remote verfügbar.
07/2019 - 03/2020: Analyse eines produktiven Bestandsystems, Konzeption einer verteilten Zielarchitektur samt Refactoring- und Migrationsstrategien, Implementierung von Teilsystemen und technologischer Knowhow-Transfer im Team als Software Architect und Software Engineer für eine Umstellung eines monolithischen Altsystems in eine vollständig skalierbare, verteilte und reaktive Data-Science-Plattform für ein Analytics-Unternehmen in der Touristik.
Umgebung / Technologien: Java 8, Scala 2.13, Functional Programming, Actor Model, Akka, Streaming, Event Sourcing, Akka Streams, Apache Pulsar, Apache Kafka, Spark, Maven, REST, HATEOAS, HAL, HTTP/2, Hadoop, HDFS, Spring Boot, Spring WebFlux, OAuth 2.0, JWT, Python 3.6, quart, hypercorn, scikit-learn, Docker, Kubernetes.
05/2019 - 06/2019: Analyse eines produktiven Bestandsystems und Konzeption einer Zielarchitektur samt Refactoring- und Migrationsstrategie als Software Architect für die schrittweise Umstellung eines monolithischen Altsystems in klassischer Drei-Schichten-Architektur in ein vollständig horizontal skalierbares, verteiltes, reaktives System für ein
Logistik-Unternehmen.
Umgebung / Technologien: Java 8, Actor Model, EventSourcing, Domain-Driven Design, Service Mesh, Akka, Apache Pulsar, Envoy Proxy, Java Control Plane, Maven 3, gRPC, REST, HATEOAS, HAL, HTTP Caching, Netflix Zuul 2, LevelDB.
05/2019 - 05/2019: Entwurf und Implementierung einer hausinternen Generierung von PDF-Rechnungen gemäß ZUGFeRD 2 Final als Entwickler aus XRechnung-Dokumenten im UN/CEFACT Cross Industry Invoice (CII)-Syntax.
Umgebung / Technologien: XSLT, XSL-FO, Xalan-Java 2.7.2, Apache FOP 2.3, Java 8, Mustang 1.5.1
09/2018 - 05/2019: Konzeption und Implementierung einer Service Mesh-Lösung als Software Architect für ein sich dynamisch zur Laufzeit anpassendes, verteiltes Set an Microservices (Self-Healing, TLS Certificate & Key Rotation) mit Envoy Proxy für einen Hersteller von Wiege-Systemen.
Umgebung / Technologien: Java 8, Spring 4, Spring Boot, Envoy Proxy, Java Control Plane, Maven 3, gRPC, REST, HATEOAS, HAL
04/2018 - 08/2018: Konzeption und prototypische Implementierung einer Microservices-Systemlandschaft als Software Architect sowie Konzeption und Implementierung einer kontinuierlichen Live-Synchronisierung von Daten von Oracle nach MariaDB als Entwickler als Vorbereitung der Migration einer monolithischen Datenpflege-Anwendung einer Öffentlich-Rechtlichen Sendeanstalt von Active Record nach Event Sourcing.
Umgebung / Technologien: Java 8, Spring 4, Spring Boot, Project Reactor, Oracle 11.2g, Change Data Capture, Oracle LogMiner, MariaDB, Kafka Connect, Debezium, Apache Kafka, Event Sourcing, Kafka Streams, Maven 3, REST, HATEOAS, HAL
10/2015 - 03/2018: Grundlegendes Refactoring und Weiterentwicklung einer Microservice-Systemlandschaft als Lead Software Architect sowie Entwicklung von REST-/HATEOAS/HAL-basierten Middleware-Diensten für ein Web-Portal im Bereich Finanzdienstleistungen (Factoring / Forderungsmanagement) mit einem Wechsel eines produktiven Bestandsystems mit ~50 Microservices auf Basis von Active Record hin zu einem besser wart- und skalierbaren Zielsystem auf Basis von Event Sourcing. Umgebung / Technologien: Java 8, Maven, Spring 4, Spring Boot, Event Sourcing, Domain-Driven Design, Apache Kafka, Apache Kafka Streams, Apache Kafka Connect, Debezium, Jenkins, REST / HATEOAS / HAL, JSON, PDFKit 2.0.0
07/2015 - 09/2015: Tätigkeit als Software Architect für die Einführung eines Single-Sign-On-Systems über mehrere Portale eines deutschen Logistikkonzerns sowie Konzeptionierung des Aufbaus und der Integration eines Self-Service-Systems innerhalb der Portale. Umgebung / Technologien: OpenID Connect, Java / JEE, Enterprise Architect.
12/2014 - 06/2015: Unterstützung eines Entwickler-Teams als Scrum-Master sowie Entwicklung von Server-Komponenten für ein Unternehmen im Bereich Public Security. Umgebung / Technologien: MS Visual Studio 2013, TFS, (Managed) C++ / C, FFmpeg, RTSP, RTP, OpenCV.
01/2012 - 11/2014: Entwicklung von REST-/HATEOAS-basierten Middleware-Diensten, welche die Auflistung und Bewerbung, den Verkauf sowie die Auslieferung von Inhalten eines deutschen Video-On-Demand-Portals ermöglichen; Aufbau und Weiterentwicklung einer Continuous Integration- und Continuous Deployment-Umgebung. Umgebung / eingesetzte Technologien: Microsoft Visual Studio 2010, C#, .NET 4, MSBuild, Apache Ant, ASP.NET MVC 3, IIS 7, NInject, NUnit, JUnit, NuGet, Subversion, TeamCity, REST / HATEOAS, XML Schema, XML, JSON
10/2011 - 12/2011: Überarbeitung und Wartung eines Silverlight-basierten Media-Players eines deutschen Video-On-Demand-Portals. Umgebung / eingesetzte Technologien: Silverlight 3, Microsoft Visual Studio 2010, C#, MSBuild, Subversion, Jenkins, XML
10/2009 - 09/2011: Konzeption, technische Projektleitung von einem Entwickler sowie Implementierung von Komponenten eines web-gestützten Systems zur vollautomatisierten, niederschwelligen Aufzeichnung und Live-Streaming von universitären Lehrveranstaltungen unter Einsatz von Framegrabber-Hardware. Alleinstellungsmerkmale sind u.a. die Live-Konvertierung von VGA-Projektor-Signalen und Mikrofon-Ton auf Basis der libavcodec in H.264 / AAC-komprimierte Pakete, welche live per JMS auf einem Eventbus weiterverteilt und als MP4-Datei aufgezeichnet sowie per RTMP an Flash-fähige Clients gestreamt wurden. Umsetzung / eingesetzte Technologien: HTML, CSS, REST / HATEOAS, JavaScript, jQuery, ActionScript, Flex SDK, Java, JNI, C++, V4L, FFmpeg (libavcodec), Spring, Quartz Scheduler, Jersey, Hibernate, PostgreSQL, Apache Tomcat, Apache ActiveMQ (Java-Server und native CPP-Library), Red5 Flash Streaming Server, CAS Single-Sign-On, Ubuntu Server, VirtualBox, Subversion
04/2009 - 09/2011: Konzeption, technische Projektleitung von 5 Entwicklern sowie Implementierung eines web-gestützten Systems zur Bereitstellung offener, universitärer Lehr-/Lern-Materialien via Download und Streaming einschließlich verteiltem Backend zur Konvertierung. Umgebung / eingesetzte Technologien: HTML, CSS, JavaScript, jQuery, Java, FFmpeg (commandline), Spring, Hibernate, PostgreSQL, Apache Tomcat, Apache ActiveMQ, Apache ServiceMix, Direct Web Remoting, CAS Single-Sign-On, Jenkins, Artifactory, Apache Ant, Apache Ivy, Ubuntu Server, VMWare vSphere, Subversion
07/2004 - 09/2011: Konzeption und technische Begleitung mehrerer Projekte mit diversen Open-Source-Veröffentlichungen; zu den so umgesetzten Projekten zählen unter anderem: ein freier Java-ASN.1-Compiler mit PER-Unterstützung, welcher den erforderlichen ASN.1/PER-Sprachumfang besitzt, um bspw. das H.323-Protokoll für Videokonferenz-Anrufe in eine funktionsfähige Client-Bibliothek in Java zu übersetzen, mit welcher H.323-Anrufe getätigt werden können; Java-Bibliotheken zur Generierung von ISO9660- sowie UDF-Dateisystemabbildern für CDs und DVDs samt der Einbindung via Ant-Tasks; eine Java-Bibliothek zum Deployment von Anwendungen auf JCOP-basierten Smartcards; einer Java-Bibliothek für das native Remote Desktop Protocol (RDP) zur graphischen Fernsteuerung von Windows-Rechnern.
06/2003 - 06/2004: Konzeption und Entwicklung eines verteilten, web-gestützten Systems zur Montage- und Prüfungsunterstützung von Nutzfahrzeug-Bordcomputern bei einem deutschen Automobil-Zulieferer. Umgebung / eingesetzte Technologien: C / C++, Visual Studio, Java, Jini, RMI, JNI, Canbus, Windows
10/2017 - 03/2019: Vertretungsprofessur (50% Teilzeit) am Fachbereich Informatik der Hochschule Darmstadt mit den Schwerpunkten Multimedia und Grundlagen der Informatik
11/2018: Erfolgreiche Teilnahme an Zertifikatsprüfung "Certified Professional for Requirements Engineering - Foundation Level" (CPRE-FL) gemäß IREB
09/2014: Erfolgreiche Teilnahme an Zertifikatsprüfung "Certified Professional for Software Architecture - Foundation Level" (CPSA-FL) gemäß iSAQB
07/2004 - 07/2010: Promotion zum Dr.-Ing. im Bereich Informatik an der Technischen Universität Darmstadt im Bereich der formalen, deklarativen Datenformat-Beschreibung mit Note "sehr gut"
10/1998 - 03/2003: Studium zum Diplom-Informatiker (FH) an der Fachhochschule Darmstadt mit den Schwerpunkten Systementwicklung und Graphische Datenverarbeitung, Diplom mit Note "sehr gut" (1,3)
* Entwurf von neuen Software-Architekturen, Analyse und Refactoring von bestehenden Software-Systemen zum Abbau von technischen Schulden, typischerweise um eine bessere Wartbarkeit und Skalierbarkeit sowie höhere Verlässlichkeit zu geringeren Wartungs- und Weiterentwicklungskosten zu realisieren.
* Abstimmung von Wartungs- und Weiterentwicklungsvorhaben zwischen Entwicklern und der Fachseite unter Berücksichtigung sowohl technischer als auch fachlicher Belange.
Entwicklung eines REST-Dienstes zur Integration von SANE-unterstützen ADF-Scannern via saned, jFreeSane und Spring 4.0, Spring Data / Spring HATEOAS.
Erweiterung und Anbindung der bestehenden Javacard-Anwendung MUSCLE auf einer SmartCard als Zertifikats-Speicher und Krypto-Provider in Java für eine Dongle-Sicherung von Software.
Entwicklung eines Moduls für den automatisierten, kryptographisch gesicherten Upload von Anwendungen auf JavaCard-basierte Smartcards (JCOP, GlobalPlatform) samt Integration in Ant.
Data Science / Analytics
Automobilsektor (Zulieferer im Bereich Nutzfahrzeuge)
Maschinenbau (Hersteller von Wiege-Systemen)
Finanzdienstleistungen
Telekommunikation
Logistik
Public Security
universitäres Umfeld
Öffentlicher Rundfunk
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.