About Michael Hartle

I love to learn, understand, build, improve on and teach stuff.
Bild von Michael Hartle
Online:
E-Mail:
Postal Address: 
Attn: Dr.-Ing. Michael Hartle
Hartle & Klug Consulting GmbH
Robert-Bosch-Strasse 7
64293 Darmstadt
Germany
Phone:
+49 (6151) 62 92 48 - 1
Fax:
+49 (6151) 62 92 48 - 9

Experience

02.2023 - today: Working as Software Architect and Senior Software Engineer on a continuous refactoring to reduce technical debt in existing cash register systems and development and training of best practices for refactoring for a multinational chemist group.

Environment / Technologies: Java 8, Kotlin, Refactoring, Dagger 2.0, ArchUnit, OpenRewrite, Gradle, Gitlab, ElasticSearch

07.2022 - 02.2023: Worked as Software Architect and Senior Software Engineer supporting the implementation, go-live / migrating and maintenance of an app-based login solution for cash registers based on a distributed, event-driven and functional reactive software architecture for a multinational chemist group.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer, coaching a new team on distributed, event-driven and functional reactive software architecture, designing the system architecture as well as supporting the implementation, go-live / migrating and maintenance of a cash management solution, supporting several thousand stores in production for a multinational chemist group.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for analyzing a legacy system in production, designing a distributed target architecture with refactoring and migration strategies, implementing microservices and transferring technological know-how with the goal of gradually transforming a monolithic service into a horizontally scalable, distributed, reactive Data Science platform for an Analytics company in Tourism.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for analyzing a legacy system in production, designing a target architecture with a refactoring and migration strategy and implementing prototypes with the goal of gradually transforming a monolithic service with a three-tier architecture into a fully horizontally scalable, distributed, reactive service for improved redundancy, scalability and resilience for a client in Logistics.

Environment / Technologies: 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: Worked as Senior Software Engineer for the generation of PDF bills complying with ZUGFeRD 2 Final from XRechnung documents stored as UN/CEFACT Cross Industry Invoice.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for designing and implementing a service mesh solution for dynamically adaptating a set of interacting microservices during runtime (self-healing, on-the-fly TLS certificate & key rotation) based on Envoy Proxy for a device manufacturer.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for analyzing an existing project and implementing a prototype for a continuous, streaming data export from Oracle to MariaDB, preparing the transition of a legacy system from Active Record to Event Sourcing for a client in Public Broadcasting.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for designing and implementing a web-based Account Information System, designing and implementing both frontend and backend.

Environment / Technologies: 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: Worked as Software Architect and Senior Software Engineer for a major refactoring of a microservice landscape as well as designing and implementing microservices of a Web portal offering factoring and management of bills, targeting a transition of about 50 microservices from Active Record to Event Sourcing for improved maintainability and scalability for a client in Banking and Finance.

Environment / Technologies: 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: Worked as Solution Architect for analyzing the status quo and preparing solutions for the introduction of an OpenID Connect SSO over two existing portals and their extension with shared functionality for a client in Logistics and Online Retail.

Environment / Technologies: Enterprise Architect 10, Microsoft Visio, OpenID Connect Core 1.0, OpenID Connect Session Management

07.2015 - 09.2015: Worked as Project Manager and Software Engineer for designing and implementing web-based POI backend services as well as managing the development and rollout of a POI iOS app for a client in Collaborative Sensing.

Environment / Technologies: 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: Worked as Scrum Master supporting a team of software engineers, and worked as Senior Software Engineer implementing server-side Video Analytics components and backend microservices for a video analytics solution of a client in Public Security.

Environment / Technologies: 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: Worked as Senior Software Engineer for implementing OpenID Connect-based authentication and authorization in an existing Video-on-Demand web portal for a service provider in Telecommunications.

Environment / Technologies: 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: Worked as Senior Software Engineer and Software Architect for developing, maintaining and supporting architecture-related tasks in a web-based middleware service landscape for a Video-on-Demand service for functionality related to search, purchase, delivery and usage of multimedia contents including the integration of various third-party systems as well as setup and improvement of a Continuous Integration and Continuous Deployment environment for a service provider in Telecommunications.

Environment / Technologies: 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: Worked as Senior Software Engineer for maintaining the web-based media playback for a Video-on-Demand service of a service provider in Telecommunications.

Environment / Technologies: C#, .NET 4, Silverlight 2

Education & Academia

10.2017 - 03.2019: Interim Professor (50% part-time) at the Department of Computer Science, Hochschule Darmstadt University of Applied Sciences, Germany with specialties Multimedia and Foundations of Computer Science.

Focus on Web Engineering, REST / HATEOAS / HAL and Functional, Reactive Programming

08.2010 - 09.2011: PostDoc at Technische Universität Darmstadt, Germany, leading the research subgroup "Ambient Learning & Knowledge Work" (ALWK) at the Telecooperation Lab (Prof. Dr. Mühlhäuser) and coordinating the IT service unit "Reliable Basic support Group" (RBG) at the Department of Computer Science.

07.2004 - 07.2010: Writing PhD thesis, graduated as Dr.-Ing. at Technische Universität Darmstadt, Germany

Title of PhD thesis: "A Formal, Declarative Approach to Data Format Description"
PhD Advisors: Prof. Dr. Mühlhäuser (TU Darmstadt), Prof. Dr. Rauber (TU Wien)

Grade: "sehr gut"

10.1998 - 03.2003: Studying applied computer science, graduated as Diplom-Informatiker (FH) at Hochschule Darmstadt University of Applied Sciences with focus on System Engineering and Graphics

Title of diploma thesis: "Real-Time Generation of Planetary Landscapes"

Grade: "sehr gut" (1,3)

Certifications

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

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

Trainings

02.2023 - 03.2023: Technical Leadership Masterclass, held by Ruth Malan

04.2022: Fast Flow of Change: Wardley Mapping, DDD, & Team Topologies, held by Susanne Kaiser


© Hartle & Klug Consulting GmbH, 2023
All rights reserved.