Dr. Michael Gnatz

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


„pragmatisch, flexibel, engagiert, teamorientiert“

Verfügbarkeit: aktuell NICHT auf Projektsuche
Einsatzgebiet: Raum München
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/Coaching im Java/JEE-Umfeld (Backend wie Frontend)
  • Erstellung und Umsetzung von Software-Architekturen,
  • Migration in die Jahre gekommener Software, z.B. in die Cloud
  • Konzeption neuer Produkte,
  • Technische Projektleitung,
  • Koordination verteilter/internationaler Teams
  • Build Management / Continuous Integration

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 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 2017 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 war ich bereits in Projekten tätig:

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

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.

Fahrplan-Migration

Architektur, Datenmodellierung, technische Projektleitung

Im Rahmen eines Migrationsprojektes habe ich eine in die Jahre gekommene Anwendung in C++ zum Editieren von Fahrplänen auf Java portiert. Über die reine Portierung hinaus habe ich dabei ein neues Modell für Fahrpläne konzipiert, das auch Import und Export zur Datenmigration umfasst. Die Praktikabilität dieses Konzepts wurde in der Umsetzung bereits unter Beweis gestellt.


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
  • Methodik
    • agile Methoden, SCRUM
    • Test Driven Development (TDD)
    • Continuous Integration
    • MDA / Model driven Architecture
    • DSL / Domänenspezifische Sprachen
    • UML
  • OS
    • Linux (Ubuntu, CentOS, Fedora)
    • Windows 3.11 bis 10
  • Tools
    • Projekt
      • Redmine
      • JIRA
      • Confluence
      • Bitbucket
      • Kibana, Graylog
    • IDE
      • IntelliJ IDEA
      • Eclipse IDE
    • Versionsverwaltung
      • GIT
      • Subversion
      • CVS
    • DB
      • DBeaver
      • SQLDeveloper
  • Build
    • Jenkins
    • Bamboo
    • Maven, ANT
    • Sonar
  • Testing
    • JUnit, TestNG
    • Mocks
      • Mockito
      • PowerMock
      • EasyMock
      • JMockit
    • JMeter
    • JProfiler
    • QF-Test
  • Monitoring
    • JMX
    • Shinken
    • Nagios
  • Sprachen
    • Java 8
    • JEE 7
    • Kotlin
    • Scala 2.11
    • Python
    • XML, XSD, XSLT
  • Frameworks
    • Sprint Boot 1.9
    • EJB 3.1
    • Spring 4
    • XText/XTend 1.0/ANTLR
    • JasperReport 4.5
  • Datenbanken
    • Zugriff
      • JPA 2.0
      • Hibernate 5
      • SQL
      • JDBC
      • Flyway
    • Produkte
      • PostgreSQL 9.2
      • Elasticsearch
      • Oracle 11
      • MySQL / MariaDB
      • Redis
      • MongoDB
  • Kommunikation
    • HTTP
    • REST
    • RabbitMQ
    • JMS 1.1
    • Webservices
    • oData
  • Container
    • Cloud Foundry Plattform
    • Glassfish 4
    • JBoss Wildfly
    • Apache Tomcat
    • Docker
    • ActiveMQ 5.2
  • GUI
    • Web
      • Angular 4
      • 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