Profilbild von Michael Hartle Software Architect & Engineer (Java, Scala) mit Fokus Backend, Event-Driven, Streaming & FP aus Darmstadt

Michael Hartle

verfügbar

Letztes Update: 19.09.2023

Software Architect & Engineer (Java, Scala) mit Fokus Backend, Event-Driven, Streaming & FP

Firma: Hartle & Klug Consulting GmbH
Abschluss: Dr.-Ing.
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | französisch (Grundkenntnisse) | schwedisch (Grundkenntnisse)

Dateianlagen

CV-Dr-Michael-Hartle-Stand-20230811_190923.pdf

Skills

Projekte:

02.2023 - heute: Tätigkeit als Software-Architect und Senior Software-Entwickler für ein kontinuierliches Refactoring zum Abbau bestehender technischer Schulden in Kassensystemen sowie die Erarbeitung und Vermittlung von Best Practices für das Refactoring für einen internationalen Handelskonzern im Drogerie-Segment.

Umgebung / Technologien: Java 8, Kotlin, Refactoring, Dagger 2.0, ArchUnit, OpenRewrite, Gradle, Gitlab, ElasticSearch

07.2022 - 02.2023: Tätigkeit als Software-Architect und Senior Software-Entwickler für die Unterstützung der gemeinsamen Konzeption, Entwicklung, Inbetriebnahme und Wartung für eine app-gestützte Kassen-Anmeldung auf Basis einer verteilten, event-getriebenen und funktionalen reaktiven Software-Architektur für einen internationalen Handelskonzern im Drogerie-Segment.

Umgebung / Technologien: Java 11, Kotlin, Axon Framework 4.5, Functional Programming, Actor Model, Reactive Streams, Streaming, Gradle, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), HTTP/2, Spring Boot, OAuth 2.0, OpenID Connect Core 1.0, JWT, QR-Code, ElasticSearch, Kibana, Gitlab, Renovate, Android

06.2020 - 06.2022: Tätigkeit als Software-Architect und Senior Software-Entwickler für das Coaching eines neuen Teams im Bereich verteilter, event-getriebener und funktionaler reaktiver Software-Architektur, die Konzeption der Systemarchitektur sowie Unterstützung bei der gemeinsamen Entwicklung, Inbetriebnahme und Wartung einer verteilten, reaktiven Geldwirtschafts-Lösung für mehrere tausend Filialen im Produktivbetrieb für einen internationalen Handelskonzern im Drogerie-Segment.

Umgebung / Technologien: Java 11, Kotlin, Scala, Axon Framework 4.5, Functional Programming, Actor Model, Reactive Streams, Streaming, Event Sourcing, Maven, Gradle, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), HTTP/2, Spring Boot, Spring WebFlux, OAuth 2.0, OpenID Connect Core 1.0, JWT, Gatling, Datadog, ElasticSearch, Kibana, Gitlab, Renovate, React

08.2019 - 03.2020: Tätigkeit als Software-Architect und Senior Software-Entwickler für die Analyse eines produktiven Bestandsystems, Konzeption einer verteilten Zielarchitektur samt Refactoring- und Migrationsstrategien, Implementierung von Teilsystemen und technologischer Knowhow-Transfer im Team für eine Umstellung eines monolithischen Altsystems in eine 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, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), HTTP/2, Hadoop, HDFS, Spring Boot, Spring WebFlux, OAuth 2.0, JWT, Python 3.6, quart, hypercorn, scikit-learn, Docker, Kubernetes

05.2019 - 07.2019: Tätigkeit als Software-Architect und Senior Software-Entwickler für die Analyse eines produktiven Bestandsystems, Konzeption einer Zielarchitektur samt Refactoring-und Migrationsstrategie sowie prototypische Implementierung für die schrittweise Umstellung eines monolithischen Altsystems in klassischer Drei-Schichten-Architektur in ein horizontal skalierbares, verteiltes, reaktives System für ein Logistik-Unternehmen.

Umgebung / Technologien: Java 8, Scala 2.13, Actor Model, Event Sourcing, Domain-Driven Design (DDD), Service Mesh, Akka, Akka Cluster, Akka Persistence, Apache Pulsar, Envoy Proxy, Java Control Plane, Maven 3, gRPC, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), HTTP Caching, Netflix Zuul 2, LevelDB

05.2019 - 05.2019: Tätigkeit als Senior Software-Entwickler für den Entwurf und Implementierung einer Generierung von PDF-Rechnungen gemäß ZUGFeRD 2 Final aus XRechnung-Dokumenten im UN/CEFACT Cross Industry Invoice (CII)-Syntax.

Umgebung / Technologien: Extensible Markup Language (XML), Extensible Stylesheet Language Transformations (XSLT), XSL Formatting Objects (XSL-FO), Java 8, Apache Xalan-Java 2.7.2, Apache FOP 2.3, Project Mustang 1.5.1

09.2018 - 05.2019: Tätigkeit als Software Architect und Senior Software-Entwickler für die Konzeption und prototypische Implementierung einer Service Mesh-Lösung 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 5, Spring Boot, Envoy Proxy, Java Control Plane, Maven 3, gRPC, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL)

04.2018 - 08.2018: Tätigkeit als Software Architect und Senior Software-Entwickler für die Analyze eines Bestandsystems sowie Konzeption und Implementierung einer kontinuierlichen Live-Synchronisierung von Daten von Oracle nach MariaDB als Vorbereitung der Migration eines Bestandssystems von Active Record nach Event Sourcing für eine öffentlich-rechtliche Sendeanstalt.

Umgebung / Technologien: Oracle 11g, Oracle LogMiner, Project Reactor, MariaDB, Debezium, Apache Kafka, Spring 5, Spring Functional Web, Maven 3, Reactive Extensions, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL)

01.2016 - 07.2016: Tätigkeit als Software Architect und Senior Software-Entwickler für den Entwurf sowie Implementierung eines webbasierten Konto-Informations-Systems im Front- und Backend.

Umgebung / Technologien: EBICS, NodeJS, TypeScript, Python, EPICS library, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), Angular 2, OAuth 2.0

10.2015 - 03.2018: Tätigkeit als Software Architect und Senior Software-Entwickler im Rahmen eines grundlegenden Refactoring und Weiterentwicklung einer Microservices-Systemlandschaft sowie Entwurf und Entwicklung von Microservices mit einem Ziel eines 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 für ein Web-Portal eines Finanzdienstleisters im Bereich Forderungsmanagement und Factoring.

Umgebung / Technologien: Java 8, Spring 4, Spring Boot, Spring Data, Spring MVC, Maven 3, OpenID Connect Core 1.0, OAuth 2.0, Apache PDFBox 2.0.0, JUnit 4, Apache Kafka, Kafka Connect, Kafka Streams, Reactive Extensions, MongoDB 3, STS 3.7.3, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), Domain-Driven Design (DDD)

07.2015 - 09.2015: Tätigkeit als Solution Architect für die Erhebung und Analyse der Ist-Architektur sowie Entwurf einer Soll-Architektur für die Einführung eines OpenID Connect Single-Sign-On-Systems auf zwei produktiven Web-Portalen samt Erweiterung derselben um portal-übergreifende Funktionalität für einen Kunden im Bereich Logistik und Online-Retail.

Umgebung / Technologien: Enterprise Architect 10, Microsoft Visio, OpenID Connect Core 1.0, OpenID Connect Session Management

07.2015 - 09.2015: Tätigkeit als Project Manager und Software-Entwickler für die Konzeption und Entwicklung eines web-basierten POI-Backends sowie das Projektmanagement und den Rollout einer darauf aufbauenden POI-basierten iOS-App für einen Kunden im Bereich Collaborative Sensing.

Umgebung / Technologien: NodeJS, JavaScript, MongoDB 3, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL), OAuth 2.0, Redwire, oauth2orize, express, bluebird

12.2014 - 06.2015: Tätigkeit als Scrum-Master zur Unterstützung eines Entwickler-Teams sowie Tätigkeit als Senior Software-Entwickler für die Implementierung von server-seitigen Video-Analytics-Komponenten unter C# / C++ sowie Entwurf und Implementierung eines web-basierten Backends für ein Video-Analytics-Framework für einen Kunden im Bereich Public Security.

Umgebung / Technologien: MS Visual Studio 2013, TFS, (Managed) C++ / C, C# 4.0, FFmpeg, RTSP, RTP, OpenCV, Git, Node.js, JavaScript, MongoDB, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), Hypertext Application Language (HAL)

07.2014 - 11.2014: Tätigkeit als Senior Software Engineer für die Implementierung einer OpenID Connect-basierten Authentifizierung und Autorisierung für ein bestehendes Video-on-Demand Webportal eines Anbieters in der Telekommunikations-Branche.

Umgebung / Technologien: Eclipse, Java SE 1.7, Spring 3, Spring Web, Spring Security, Apache Ant, Subversion, OpenID Connect, OAuth 2.0, JUnit, Mockito

08.2012 - 06.2014: Tätigkeit als Senior Software-Entwickler und Software Architect für die Entwicklung, Wartung und Unterstützung von Architektur-Aufgaben einer web-basierten Middleware-Servicelandschaft für ein Video-on-Demand-System mit Funktionalität für die Suche, den Erwerb, die Bereitstellung und die Nutzung von Multimedia-Inhalten samt Anbindung von diversen Drittsystemen, sowie Aufbau und Weiterentwicklung einer Continuous Integration- und Continuous Deployment-Umgebung für einen Anbieter in der Telekommunikations-Branche.

Umgebung / Technologien: Enterprise Architect, Microsoft Visual Studio 2010, C#, .NET 4, ASP.NET MVC 3, IIS 7, NInject, NUnit, NuGet, MSBuild, Java SE 1.7, Apache Ant, JUnit, Subversion, TeamCity, Representational State Transfer (REST), Hypertext as the Engine of Application State (HATEOAS), SOAP, XML Schema, XML, JSON, Apache Solr, Redis

10.2011 - 07.2012: Tätigkeit als Senior Software Engineer für die Wartung der web-basierte Medienwiedergabe für ein Video-on-Demand-System eines Anbieters im Bereich Telekommunikation.

Umgebung / Technologien: C#, .NET 4, Silverlight 2

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


Akademischer Werdegang:

10/2017 - 03/2019: Vertretungsprofessur "Multimedia und Grundlagen der Informatik" in 50% Teilzeit am Fachbereich Informatik der Hochschule Darmstadt für die Fachgebiete Multimedia (Fokus Web, REST / HATEOAS / HAL und funktionale, reaktive Programmierung) und Grundlagen der Informatik.

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)


Zertifizierungen:

11/2018: Certified Professional For Requirements Engineering - Foundation Level (IREB)

09/2014: Certified Professional for Software Architecture - Foundation Level (iSAQB)
 

Projekthistorie

Finanzdienstleister

Public Security

Telekommunikationssektor

Logistikdienstleister

Automobilindustrie (Zulieferer im Bereich Nutzfahrzeuge)

universitäres Umfeld

Reisebereitschaft

Verfügbar in den Ländern Deutschland
Verfügbar ab dem 03. Oktober 2023 via Remote im Home-Office, auf Anfrage tageweise im Rhein-Main-Gebiet vor Ort
Profilbild von Michael Hartle Software Architect & Engineer (Java, Scala) mit Fokus Backend, Event-Driven, Streaming & FP aus Darmstadt Software Architect & Engineer (Java, Scala) mit Fokus Backend, Event-Driven, Streaming & FP
Registrieren