Die Entwicklung und der Betrieb von Software motiviert mich immer noch jeden Tag, seitdem ich in den 90ern damit angefangen habe. Eine Produktidee zu verstehen und aus ihr ein konkretes Softwaresystem zu machen, ist eine Fähigkeit, die ich mir über mittlerweile mehrere Jahrzehnte angeeignet habe. Als Architekt oder Entwickler sind verteilte Systeme und als Spezialfall davon IoT-Systeme (Internet of Things) meine Stärke.

Als Beispiel einige Projekte, in denen ich Software entwickelt habe:

  • Entwicklung und Optimierung eines modernen Inflight Entertainment Systems mit Go, Postgres, SQLite und Kubernetes.
  • Anpassung des Kernsystems von MeinAuto.de für den Umzug in eine Kubernetes-Umgebung. Dabei arbeitete ich mit Docker, Kubernetes, Gitlab CI und habe Anpassungen an Komponenten in PHP, JavaScript und Java/Spring vorgenommen.
  • Smart Home-Integration für High-Tech-Mobiliar: Beim Umsetzungsdienstleister war ich vor allem technischer Projektleiter und Architekt und habe selbst vor allem an der End-to-End-Testsuite in Go, an der Public Key-Infrastruktur, der Geräteprovisionierung, einer Python/Flask-basierten Geräte-Oberfläche, einem in .NET umgesetzten Alexa Skill und einem C++-Server mitgearbeitet.
  • Entwicklung des Online-Umfragesystems hinter NEO Culture mit Go, HTML/CSS und JavaScript.
  • Entwicklung eines hochperformanten Prozesses in C++ zur Verarbeitung von katalogbasierten Reiseangebotsdaten bei Amadeus TravelTainment. Wegen dieses Projektes habe ich auch an der Entwicklung der ersten Version des Datenstandards OTDS teilgenommen.
  • Entwicklung eines Portfolio-Reportingsystems für Warentermingeschäfte und Optionen in C# unter Verwendung von Echtzeitdaten von Reuters.
  • Mein erstes bezahltes Entwicklungsprojekt war der Aufbau einer Web Analytics-Lösung für AOL Deutschland in 2000 unter Verwendung von Perl und Excel VBA. Damals gab es noch kein Google Analytics. In diesem Projekt habe ich sehr viel über das Internet gelernt.

Ich bin recht agnostisch gegenüber dem verwendeten Technologie-Stack und bin daher über die Zeit mit einigen Technologien in Berührung gekommen. Hier sind ein paar, immer absteigend sortiert nach Selbstvertrauen.

Programmiersprachen und Bibliotheken

  • Go
  • Dart and Flutter
  • HTML/CSS
  • JavaScript: Node.js, plain JS für Frontends, jQuery usw.
  • Python (Flask, Pandas)
  • PHP, Symfony
  • C and C++
  • Ruby on Rails
  • Java, Spring
  • .NET, C#, VBA
  • AngularJS
  • Android mit Jetpack Compose

DevOps und Systems Engineering

  • Docker
  • Kubernetes
  • Gitlab CI
  • Linux
  • systemd

Cloud

  • Google Cloud, incl. Firebase
  • AWS (mostly EC2, Route 53, SQS)
  • Azure (Iot Hub, AD B2C etc.)

Relational Databases

  • Belastbare SQL-Erfahrung im Schreiben und Optimieren von Queries und in der Datenmigration
  • MySQL/MariaDB
  • Postgres
  • SQLite
  • Amazon RDS
  • MS SQL Server und Reporting Services

Non-relational Cloud Persistence

  • Google Firestore
  • Google Datastore
  • Amazon S3 and similar

Embedded

  • Embedded C und C++
  • Microcontroller-Entwicklung
  • Buildroot Linux
  • Zusammenarbeit mit Hardware-Entwicklern
  • Hardware prototyping

Process Knowledge and Methods

  • Rapid prototyping
  • Test Automation
  • Komponentenbasierte Architekturen
  • UML
  • Agile engineering practices
  • Statistics and basic Data Science
  • PCI DSS compliant software development lifecycles