Dr. Michael Gnatz

Dr. Michael Gnatz, Diplom-Informatiker
Software Engineering Büro


„pragmatisch, flexibel, engagiert, teamorientiert“

Verfügbarkeit: ab Mai 2020
Einsatzgebiet: München oder 100% Remote
top

Mein Dienstleistungsangebot

Ich unterstütze Sie wo immer notwendig und sinnvoll, um Ihre Projekte effizient und in hoher Qualität zum Erfolg zu bringen.

Auf Basis 20-jähriger Erfahrung in der IT ­ sowohl als Teamleiter im Bereich Software-Entwicklung in einem großen, mittelständischen Unternehmen als auch in vielen Consulting-Projekten ­ kann ich meine Hilfe im gesamten Softwareentwicklungszyklus anbieten:

  • Software-Entwicklung im Java-Umfeld
  • Erstellung und Umsetzung von Software-Architekturen
  • Technische Projektleitung
  • Coaching von Entwickler-Teams
  • Micro Services, Cloud und DevOps

Das bedeutet für Sie den folgenden Nutzen:

  • Effiziente und ziel-orientierte Software-Entwicklung im Team
  • Qualitativ hochwertige und zuverlässige Lösungen
  • Tragfähige und erweiterbare Architektur
  • Verständliche und wartbare Software

Neben einem fundierten theoretischen Background zeichnet mich insbesondere Pragmatismus aus. Meine analytischen Fähigkeiten und Kommunikationsstärke bringe ich mit Freude in dynamische Teams ein. Mein ideales Projekt motiviert durch fachliche Herausforderungen.

top

Ausbildung und Erfahrung

Auch nach einigen Jahren in der IT interessiert mich nach wie vor auch die Details der Software-Entwicklung. Als Architekt, Team- und Projektleiter durfte ich zudem verantwortungsvolle Rollen übernehmen. Selbstständiges Arbeiten sowie die Übernahme von Verantwortung zeichnen mich aus.

seit 2019 Projekt im Bereich Musikrechte Software-Entwicklung im Backend, Architekturberatung und DevOps
2018 Projekt im Versandhandel Architektur, Software-Entwicklung und Betrieb (DevOps)
2017 - 2018 Projekte im Bereich Identity und Access Management Architektur, Software-Entwicklung und Coaching
2016 - 2017 Projekte für die Energiewirtschaft Software-Entwicklung Backend und Frontend
2015 - 2016 Projekte in der Medienbranche Software-Entwicklung im Backend
2014 - 2015 Projektarbeit für einen Bankendienstleister Software-Entwicklung im Bereich Kreditkarten-Verwaltung
2010 - 2014 ATRON electronics GmbH (Verkehrswesen) Teamleiter Backend-Entwicklung
2008 - 2010 Sapient GmbH (IT Consulting) Consultant
2005 - 2008 PENTASYS AG (IT Consulting) Consultant
2000 - 2005 TU München,
Lehrstuhl für Software & Systems Engineering
Wissenschaftlicher Angestellter,
Promotion zum Dr. rer. nat.
1995 - 2000 Informatik-Studium an der TU München Abschluß Diplom-Informatiker

"Erkenntnisse" aus einigen Jahren IT

  • Projekte scheitern fast nie an Technologie. Nur durch intensive Kommunikation von allen, oft sehr unterschiedlichen Beteiligten lassen sich Projekte zum Erfolg bringen.
  • Leichtgewichtige Architektur und gelegentlicher Verzicht auf technologische Hypes können Zeit und Ressourcen sparen. State of the Art ist nicht immer das gerade zuletzt erfundene Framework.
  • Projektrettung bedeutet oft die Architektur vom Kopf auf die Füße zu stellen, also pragmatisch zu sein.
  • Gute Softwarearchitekten haben die nicht-funktionalen Anforderungen, insbesondere die Performance, bereits in der Entwurfsphase auf dem Radar.

top

Projektbeispiele

Sie wollen mehr zu meinen Projekten erfahren? Ich schicke Ihnen gerne mein detailliertes Profil zu.

Für folgende Unternehmen durfte ich bereits in Projekten tätig sein:

  • Atos GmbH
  • ATRON
  • ComHem
  • Conrad Electronic
  • danet Consult
  • Fiducia IT AG
  • GMX / United Internet
  • it4ipm
  • Healy Hudson
  • Maxdome GmbH
  • O2
  • PENTASYS
  • Sapient
  • sd&m
  • Siemens
  • Stadtwerke München
  • Institut für Informatik, TUM

Identity und Access Management als Produkt in der Cloud

Micro Service-Architektur in der Cloud, SW-Entwicklung, Coaching

In diesem Projekt durfte ich in der Rolle eines Cloud-Architekten ein junges Team hinsichtlich SW-Entwicklung mit Java 8 und Angular 5, Micro Service-Architekturen, Cloud und agilen Vorgehensweisen coachen. Neben zahlreichen Code Reviews habe ich einige Micro Services selbst implementiert.

Ziel des Projektes war die Realisierung eines Produktes für Identity und Access Management in der Cloud auf Basis der Open Source-Lösung WSO2 Identity Server als Kern einer Micro Service Architektur.

Neben der Definition der grundlegenden Micro Service-Architektur hinsichtlich Service-Schnitt, Abhängigkeiten und APIs lag der Schwerpunkt meiner eigenen Implementierungsarbeiten im Bereich der Persistierung von Audit-Events.

Audit-Events wurden dabei vor der Persistierung in Elasticsearch in ActiveMQ gepuffert und schließlich über das Open Source-Tool Grafana zur Anzeige gebracht. Ziel war auch der Entwurf und die Implementierung eines eigenen Micro Service zur Validierung von Vollständigkeit und Unveränderlichkeit der persistierten Audit Events. Hierfür wurde eine Lösung für lang laufende Batch-Jobs entworfen, die das Auto-Scaling der Cloud Foundry-Basis nutzt, d.h. lastabhängig die Ausführung automatisch auf mehrere Instanzen verteilt.

MDA-Entwicklungsplattform

Team-Leitung, Konzeption, technische Projektleitung, Architektur, Projektrettung

Die Aufgabe bestand hier vor allem in der Rettung des bereits laufenden Projektes, das heißt im pragmatischen „Nutzbar­machen“ bereits vorhandener (zu theoretischer) Konzepte und Implementierungen eines externen Dienstleisters. Diese Aufgabe wurde von einem 10-köpfigen, internationalen und verteilten Team bewältigt. Die Projektlaufzeit betrug rund 2 Jahre.

Die realisierte Plattform erlaubt die effiziente und modulare Entwicklung von Java Enterprise-Anwendungen. Dem Konzept der Model Driven Architecture (MDA) entsprechend wird aus einer Domänen-Sprache eine 3-Schichten-Architektur generiert, bestehend aus Standarddialogen, einer Datenzugriffsschicht (CRUD) sowie ein Datenbankschema. Im Gegensatz zu Rapid Prototyping-Ansätzen lässt sich auch ohne weitere Programmierarbeit eine vorzeigbare und unmittelbar produktiv einsetzbare Anwendung schnell erstellen. Neben modularer Entwicklung, Mandantenfähigkeit, Lizenzmanagement, Rollen, Rechten und einem einfachen Installer für den End-Kunden bietet die Plattform eine umfangreiche Anwendungs-Bibliothek.

Trotz der anfänglichen Herausforderungen wurde letztlich eine Entwicklungs-Plattform realisiert, die großen Nutzen bietet. Die Praktikabilität und Effizienz bei der Anwendungserstellung wurde bereits unter Beweis gestellt. Verschiedene auf der Plattform realisierte Anwendungen sind zudem produktiv im Einsatz.

ÖPNV-Datendrehscheibe

Architektur und Entwicklung

In einem Verkehrstechnik-Projekt habe ich eine so genannte Datendrehscheibe programmiert. Diese realisiert den Austausch von Echtzeitdaten, die Fahrzeuge im Feld an Betriebsleitstellen unterschiedlicher Hersteller melden. Ermöglicht wird hierdurch die übergreifende dynamische Fahrgastinformation, also z.B. die Anzeige der nächsten Abfahrten an einer Haltestelle inklusive prognostizierter Verspätungen. Die Datendrehscheibe erweitert das Konzept der Echtzeitdaten-Schnittstellen nach VDV 453/454 um das Prinzip eines zentralen Vermittlers. Die Datendrehscheibe fungiert als zentraler Ver­mittler und tauscht mit den angeschlossenen Partner-Syste­men XML-Telegramme über HTTP aus.

Die Implementierung in Java sowie die Performance-Optimierung habe ich in diesem Projekt selbst übernommen. Eine Herausforderung in dieser auf optimistischem Sperren basierenden JEE-Standard-Architektur bestand in der Serialisierung der HTTP Requests, da die angebundenen Partner-Systeme mehrere Requests quasi gleichzeitig senden.

Das Verhalten unter Last (bis zu 10 XML-Telegramme in der Sekunde) und die Stabilität der realisierten Lösung wurden vom Kunden in der Schweiz explizit gelobt. Das Produkt ist seit Oktober 2013 produktiv im Einsatz.

Ticketing-Monitoring

Podukt-Konzeption, Benutzeroberfläche

Das entwickelte Monitoring-Werkzeug kann Lücken in der Abrechnung von werthaltigem Ticketing-Papier aufdecken. Diese Situation tritt ein wenn, Abschnitte einer an den, Bus-Fahrer ausgegebenen Papierrolle von den Fahrzeugrechnern nicht vollständig ins Backend gemeldet werden. Die Software unterstützt die Aufdeckung von Verdachtsfällen (Betrug) sowie die Verfolgung selbiger durch die übersichtliche und detaillierte Dar­stellung an der Benutzer-Oberfläche.

In diesem Projekt habe ich das fachliche Produkt-Konzept für das Backend erstellt, sowie dieses als technischer Projektleiter auch umgesetzt.


top

Kenntnisse

Die folgende Aufzählung meiner technischen Skills gibt lediglich eine unvollständigen Überblick über mein wichtigstes technisches Handwerkszeug.

Nicht jeder selbstverständliche "Skill" ist hier genannt. Die Einarbeitung in neue Technologien ist meist schnell möglich, insbesondere da ab einer bestimmten Menge Berufserfahrung jedes neue Framework in den Grundprinzipien meist einem bereits Bekannten gleicht.

Skills
  • Architektur
    • Micro Service Architectures
    • Cloud
      • Amazon AWS
      • Google GCP
    • MDA / Model driven Architecture
    • DSL / Domänenspezifische Sprachen
  • Methodik
    • Test Driven Development (TDD)
    • Continuous Integration
    • Coaching
    • agile Methoden (SCRUM)
    • UML
  • OS
    • Linux (Ubuntu, CentOS, Fedora, Raspidian)
    • Windows 3.11 bis 10
  • Tools
    • Projekt
      • Redmine
      • JIRA
      • Confluence
    • IDE
      • IntelliJ IDEA
      • Eclipse IDE
      • Postman
    • Versioning
      • GIT
      • Bitbucket
      • Stash
      • Subversion
      • CVS
    • Build Tools
      • Jenkins
      • Bamboo
      • Maven, ANT
      • Sonar
      • Rollup.js
    • Testing
      • JUnit, TestNG
      • Mockito
      • JMeter
      • JProfiler
      • QF-Test
    • DB
      • DBeaver
      • SQLDeveloper
    • Monitoring
      • Kibana
      • Graylog
      • Stackdriver Monitoring
      • Nagios / Shinken
      • JMX
  • Sprachen
    • Java 8
    • JEE 7
    • Kotlin
    • Scala 2.11
    • Javascript
    • XML, XSD, XSLT
  • Frameworks
    • Spring / Sprint Boot 2.1
    • Micro Services
      • Eureka
      • Hystrix
      • Spring Cloud Config
    • EJB 3.1
    • XText / XTend 1.0
    • JasperReport 4.5
  • Datenbanken
    • Zugriff
      • JPA 2.0
      • Hibernate 5
      • SQL
      • JDBC
      • Flyway / LiquiBase
    • Produkte
      • MySQL / MariaDB
      • PostgreSQL 9.2
      • Google CloudSQL
      • Amazon RDS
      • Elasticsearch + Grafana
      • Oracle 11
      • Redis
      • MongoDB
  • Kommunikation
    • HTTP
    • REST
    • RabbitMQ
    • JMS (ActiveMQ, AmazonMQ)
    • Firebase Cloud Messaging (FCM)
    • Webservices
    • oData
    • oAuth 2
  • Container
    • Google Cloud Platform (GCP)
    • Cloud Foundry Plattform
    • Kubernetes
    • Docker
    • Glassfish 4
    • JBoss Wildfly
    • Apache Tomcat
    • Nginx
  • GUI
    • Web
      • Angular 5
      • Servlet, JSP
      • JSF
      • Struts
      • GWT
      • Vaadin 7
      • HTML, CSS
      • Javascript, JQuery, ...
    • JavaFX
    • Swing

top
Dr. Michael Gnatz

Kontakt

Dr. Michael Gnatz
Software Engineering Büro
Anzinger Str. 20
D-85586 Poing

Tel. +49 (0)151 211 233 74
info@michaelgnatz.de
www.michaelgnatz.de