Über Michael Hartle

Ich habe Spaß daran, mich in neue Themen einzuarbeiten, eigene Beiträge zu erarbeiten und Inhalte zu vermitteln.
Bild von Michael Hartle
Online:
E-Mail:
Anschrift: 
Hartle & Klug Consulting GmbH
z. Hd. Dr.-Ing. Michael Hartle
Robert-Bosch-Strasse 7
64293 Darmstadt
Germany
Telefon:
+49 (6151) 62 92 48 - 1
Telefax:
+49 (6151) 62 92 48 - 9

Projekterfahrung

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

Akademischer Werdegang

10.2017 - 03.2019: Vertretungsprofessor in 50% Teilzeit am Fachbereich Informatik der Hochschule Darmstadt für die Fachgebiete Multimedia und Grundlagen der Informatik.

Schwerpunkte im Bereich Thema Web, REST / HATEOAS / HAL und funktionale, reaktive Programmierung

08.2010 - 09.2011: PostDoc als Gruppenleiter der Forschungsgruppe "Ambient Learning & Knowledge Work" (ALKW) zum Thema Wissensarbeit und E-Learning am Fachgebiet Telekooperation (Prof. Dr. Mühlhäuser) und Koordinator der IT-Betriebseinheit "Rechnerbetriebsgruppe" (RBG) am Fachbereich Informatik der Technischen Universität Darmstadt.

07.2004 - 07.2010: Promotionsstudium zum Dr.-Ing. an der Technischen Universität Darmstadt.

Titel der Dissertationsschrift: "A Formal, Declarative Approach to Data Format Description"
Referenten: Prof. Dr. Mühlhäuser (TU Darmstadt), Prof. Dr. Rauber (TU Wien)

Promotion mit Note "sehr gut"

10.1998 - 03.2003: Studium zum Diplom-Informatiker (FH) an der Fachhochschule Darmstadt mit den Schwerpunkten Systementwicklung und Graphische Datenverarbeitung.

Titel der Diplomarbeit: “Real-Time Generation of Planetary Landscapes”

Diplom mit Note “sehr gut” (1,3)

Zertifizierungen

11.2018: IREB Certified Professional for Requirements Engineering - Foundation Level (CPRE-FL)

09.2014: iSAQB Certified Professional for Software Architecture - Foundation Level (CPSA-FL)

Schulungen

02.2023 - 03.2023: Technical Leadership Masterclass, gehalten von Ruth Malan

04.2022: Fast Flow of Change: Wardley Mapping, DDD, & Team Topologies, gehalten von Susanne Kaiser


© Hartle & Klug Consulting GmbH, 2023
Alle Rechte vorbehalten.