Skills

Software Architecture

Strategic IT Management

Coaching / Mentoring

Micro-Design

Java

Amazon Web Services

Biography

 
 
 
 
 
July 2019 – Present
Leipzig, Germany

Coding Architect, Lead Engineer

PRISMA European Capacity Platform GmbH

Technical leadership role regarding Software-Development and Architecture. Based on AWS, we converted 10 years worth of transactional data to Events and setup a streaming Event Sourcing infrastructure as a basis for new and refactored (truly) independent services. Architectural work is focussed on DDD and usecase driven, so that the development can scale across internal and external teams.

Introduced TDD & DevOps Culture and EventSourcing / CQRS as central architectural concepts. I enjoy consulting and mentoring of teams and individuals within and outside of the company.

Technologies used:

  • Java, Kotlin
  • Spring Boot/Cloud
  • EventSourcing, Cryptoshredding
  • REST API Design and Management
  • Postgres, Redis, Lucene
  • Amazon Web Services
 
 
 
 
 
May 2013 – June 2019
Leipzig, Germany

Coding Architect, Head of Engineering

Mercateo Group

Technical leadership regarding Software-Development and Architecture with a hint of Operations. Converted huge codebase to CI/CD infrastructure, introduced TDD Culture, introduced EventSourcing / CQRS as central architectural concepts. Long-term coaching of teams and individuals is a significant and exciting part of the job.

As a member of the IT-Management board also involved in agile transformation, introduction of DevOps culture and the shift to Cloud-Native Product delivery.

Technologies used:

  • Java, JavaScript
  • Spring Boot/Cloud, Netflix OSS
  • Messaging, REST, API Design and Management
  • Postgres, Redis, Cassandra, Solr, ElasticSearch
  • Amazon Web Services
  • Stream processing, Event Driven Architecture, EventSourcing
 
 
 
 
 
September 2007 – April 2013
Freiburg im Breisgau, Germany

CTO

THOMAS DAILY GmbH

Technical leadership role on Software Development as well as IT Operations Department. Introducing agile Methodology, introducing automation all over the development cycle. Refactoring from monolithic J2EE Application to message driven subsystems. Created and maintained several internal systems and frameworks, i.e. for quality control and monitoring.

Technologies used:

  • Java, JavaEE
  • Resin, JBoss
  • Apache Wicket, EJB
  • HornetQ, ActiveMQ
  • apache HTTP Server, pound
  • Linux
  • PostgreSQL, MongoDB, CouchDB, MemCached
 
 
 
 
 
January 2000 – August 2007
Essen, Germany

Head of Software Development

Image Transfer GmbH

Created, customized, maintained a full ECMS solution delivered to ~120 clients. Introduced agile methodology, created program for inhouse training.

Work was done in Java, J2EE (as little as necessary) with some grain of message-orientation, high-availability, load-balancing, mutli-level caching & horizontal scalability.

Technologies used:

  • Java, J2EE, JavaEE
  • Resin, JBoss, Tomcat
  • JSP, Taglibs, JSF, Seam
  • ActiveMQ
  • apache HTTP Server, pound
  • Linux
  • Oracle, PostgreSQL, MySQL
 
 
 
 
 
January 1998 – December 1999
Essen, Germany

Partner, Software Architect

72dpi

Developed a framework for realization of dynamic Web Applications from public facing marketing-websites to internal server control applications for the public sector.

Technologies used:

  • Java
  • Servlets, JSP, Taglib
  • Resin, Tomcat
  • apache HTTP Server
  • Linux
  • MySQL
 
 
 
 
 
February 1995 – September 1998
Dortmund, Germany

Software Developer

University of Dortmund

Different software development and administration jobs in several departments. Most of the work was done in Java using Informix as a Database.

Technologies used:

  • Java
  • Servlets
  • Resin
  • apache HTTP Server
  • Linux
  • Informix

 
 
 
 
 
January 1992 – August 1995
Büren, Germany

System Programmer Embedded/Windows

IST-Büren

Created Windows Desktop Software for supporting the loading process of (industrial) Batteries, as well as firmware for monitoring devices developed at AEG.

Technologies used:

  • ANSI-C
  • x86 Assembler
  • 8051 Assembler
  • DBase / Clipper

Publications

Stellt man jegliche Zustandsänderung eines Softwaresystems als Ereignis (Event) dar, ergeben sich neue Möglichkeiten in der Gestaltung …

Workshop ‘Event Sourcing und Command Query Responsibility Segregation (CQRS)’ at Softwerkskammer Leipzig.

Object <-> Document Mapping with mongoDB using Morphia.

mongoDB hat aufgrund seiner Besonderheiten innerhalb der noSQL-Familie gezeigt, dass es nicht nur für spezielle Anwendungsfälle …

Google Guice beschränkt sich im Gegensatz zum Konkurrenten Spring, der eine Vielzahl so genannter Vorlagen für jeden möglichen …

Professionelle Softwareentwicklung ist kaum noch denkbar ohne objektorientierte Programmiersprachen und relationale Datenbanken. …

Projects

Event-Sourcing-Basics

Sample Projects for a workshop on EventSourcing & CQRS

FactCast

Simple EventStore for use with EventSourcing based on PostgreSQL and GRPC.

JSONHoist

Library for chained JSON Transformation (for instance Up-/Down-casting) according to a ruleset stored in a repository

Morphia

MongoDB object-document mapper in Java - Contributions before 2011, so not visible on github

sb-status

Ops tool to retrieve Health Status of a running Boot Application as well as its maven version

spring-junit5-embed-redisson

A tiny wrapper for conveniently using embedded Redis Server with JUnit5 and Spring Boot.

Wicket ModelFactory

Wicket-modelfactory is an API to create Wicket PropertyModels in a typesafe and refactoring-safe way.

Contact