Greenfield project to relieve customer support. Digitization and automation of manual processes as well as creation of self-services for B2C customers.
Painpoint analysis of the return, purchase price inquiry and contract downgrade processes
Identification of stakeholders and interest groups around the customer processes
Active information gathering from stakeholders and business units
Preparation and presentation of customer processes using domain storytelling
Development of the REST API for customer services with Spring Boot and Kotlin
Building the public customer frontend with React and TypeScript
Development of a client library for accessing in-house and third-party systems based on the reactive Spring WebClient (RestTemplate deprecated).
Adapting the client library to the internal authentication mechanism (automatic token refresh on HTTP 401 and retry logic)
AWS Kubernetes management via local SSH tunneling (Linux bastion host)
Setup of the Azure deployment pipeline
Implementation of the Azure security concept (subscription key)
Kafka integration with Spring
Active knowledge sharing with internal and external colleagues as part of a regular meeting
Conducting a workshop on NATS/JetStream (message-oriented middleware) as a lightweight alternative to Kafka
Containerization with Docker and Kubernetes (Kustomize)
Architect, developer, analyst
Kotlin, Java, Groovy, Spring Boot, Spring WebFlux (Client), Spock Framework (BDD), Docker, Apache Kafka, NATS/JetStream, React, TypeScript, git, AWS Cloud, IntelliJ IDEA, Gradle, REST (Level 3), OAuth, event-driven architecture, domain-driven design, domain storytelling, Scrum
Agile, valuable and future-proof: further development, modularization and technical modernization of the personal My AXA customer portal in an agile Scrum approach.
Digital transformation: integrating new REST APIs to expand the digital product and service range in coordination with internal and external partners
Modularity of a monolith: splitting a complex monolithic application along clear business and technical responsibilities
Clean code: continuously revising complex code components for readability, maintainability and test coverage (pathfinder principle)
Agile learning: actively and continuously presenting the latest developments and innovative technologies/concepts in the weekly, cross-team "Know How Transfer"
Lecture coordination: recommending and presenting an external speaker for Domain Driven Design and modularization
Consumer-driven: advising and supporting other teams in designing interfaces to connect and extend functionality in My AXA
Integration testing: introducing WireMock to simulate backend API calls in automated and manual developer tests
Standardization: replacing manual solutions in caching and resilience by introducing industry standards like Spring Cache (@Cacheable) and Resilience4J (@CircuitBreaker, @Bulkhead, @TimeLimiter, etc.)
Data validation: finding and fixing errors in the existing request validation using JSR-170 Java Bean Validation in coordination with connected clients and developing a simulation procedure ("Silent Bean Validation")
Code generation: further developing and cleaning up the code generator for transforming OpenAPI contracts into client libraries
Deep dive: analyzing the bytecode-level output generated by Lombok and fixing errors
Observability: developing dashboards, log file analyses using Loki and Grafana Cloud
Operations: daily monitoring and reporting of production and QA systems
Backend developer, DevOps engineer
Java 21, Spring Boot 3, Spring Integration, Spring Cache, REST, Java Bean Validation, Resilience4J, Mustache, Freemarker, Lombok, JAX-WS, Mockito, Docker, OpenAPI, Swagger, WireMock, Loki, Grafana Cloud, Graylog, Jenkins, Tekton, Rundeck, SonarQube, Checkstyle, SpotBugs, Nexus, Red Hat OpenShift, GitLab, GitHub, IntelliJ IDEA 2025, Maven, Gradle, Jira, Confluence, Scrum
paydirekt – Connection to the authorization center (BVtoAZ)
Connecting the central eBanking business components to an external service provider for card payment authorization. The main task involves reissuing and extending an existing REST communication. This uses UTF-8-based input data, which is first processed into a TLV structure (Tag-Length-Value) with an EBCDIC-encoded value area, then converted into an ISO8583 message format (Standard for Financial Transaction Card Originated Messages) to send to the authorization provider. Transmission is via HTTP POST as signed, Base64 URL-encoded payload in a JSON structure.
Nationwide card payments
paydirekt – Enrollment during shopping
Development of a web application (BFE) for ad-hoc participation in the paydirekt payment process. As part of a complex workflow between banks, Bank-Verlag and merchant systems, the application takes control of the required registration process with paydirekt in stages, then hands back control to the client application to avoid disrupting the customer's banking or shopping experience. An initial REST call returns a deep link URL from BFE, which calls the applications in a pre-initialized customer context. After validating various personal inputs and securing them with two-factor authorization, BFE automatically returns control to the caller via HTTP redirect including status messages about the outcome of the paydirekt registration. As a public user interface, BFE is modern and visually high quality, and fully usable on various mobile device classes.
Another development focus is look-and-feel tenant capability, allowing the central business logic to be reused in the CI of different banks and merchants and customized individually through compile-time feature flags.
Setting up a grid environment for automated browser tests as part of the CI build completes the scope of tasks.
Wicket, Bootstrap, HTML5, CSS3, jQuery, RESTful HTTP, Spring Boot, Jersey, Hibernate, H2, DB2, Java 8, Maven, IntelliJ IDEA, Subversion, Selenium (Grid), Cucumber, Jenkins
Software developer (Fullstack), technical coordinator
Press Center
Content Information Service
Delivering metadata to network operators for linear and non-linear programs
The media group has several applications through which metadata for linear and non-linear program content of all channels are maintained. With the continuous expansion of the video-on-demand area, requirements for internal systems as well as those of external network operators have become significantly more complex and diverse. The Content Information Service is to gather and consolidate the existing metadata from all individual systems so that preparation for external network operators is simple and individual. For this, a distributed and scalable system is to be set up from scratch (greenfield), which is fed via a messaging interface from various sources, stores the data normalized according to the Entity-Attribute-Value pattern, and provides it externally as REST resources in various representations (Accept header). By domain-driven (DDD) decomposition of the business architecture into different bounded contexts, a highly scalable and fault-tolerant communication landscape of HATEOAS (REST) interconnected resources emerges in a Docker stack.
Network operators, program providers, and other external platform partners
Employees of CBC and the RTL media group
Software developer, domain architect, DevOps engineer
Promoter of the agile process through active coaching and QA
Microservices, Domain-Driven Design (DDD), REST, HATEOAS, Spring Boot, Spring Data (JPA), Spring Security, Spring Test, Spring EL, Spring Cloud, Netflix OSS, Zuul, Eureka, Ribbon, Hystrix, Docker (Swarm mode), Apache Kafka, RabbitMQ, Jenkins, Nexus, Microsoft SQLServer, Hibernate, MockMVC, Swing, JavaFX, JSON, JSONPath, XML, Jira, Confluence, Scrum, IntelliJ IDEA, 'make .jar, not .war'
Support for a cross-functional team in the context of a large logistics platform with focuses on:
Automated deletion of personal data according to GDPR
Analysis and decommissioning of outdated and failure-prone services
Migrating necessary functionalities from decommissioned services into newly created backend services based on Kotlin and Spring Boot.
Support in troubleshooting and fixing issues
Further development of backend services in the business context "alternative name spellings" and "digital copy", including technical modernization based on Java & Spring Boot.
Development of a frontend component based on Vue.js.
Software developer (Fullstack)
Kotlin, Java, Groovy/Spock, Spring Boot, Maven, Vue.js, Gradle, Git (BitBucket), TeamCity (JetBrains CI server), RESTful HTTP, Oracle, IntelliJ IDEA, Scrum
New customer outreach via Infopost – address rental
The task is the relaunch of a multi-layer Java enterprise application to provide address data for acquiring new customers. The system should not only enable the provision of addresses but cover the entire process end-to-end, from customer selection to handover by the lettershop at the mail center. To process the large volume of orders economically, back-office processing time needs to be reduced to a few minutes, which requires a high-performance, intuitive frontend with a high level of usability (interactive map with area and radial radius selection). Besides the HTML interface, the system offers additional interfaces for downloading and uploading documents and automated sending of generated Word and PDF documents via email. The runtime scenario consists of several Java processes (Tomcats, JBoss) that persist via JDBC to an Oracle RAC and communicate via REST/JSON with other systems for generating map visuals, office documents, high-performance (in-memory) address data counting, and auto-completion of area inputs.
Customers of Deutsche Post Direkt GmbH
Back-office and mobile sales staff of Post Direkt
Partner lettershops of DPAG
Software developer, domain architect
VAADIN, Spring, REST (RESEasy, Jersey), JSON, XML, JEE, JBoss, JPA/Hibernate, Liquibase, Oracle & H2, Maven, Vagrant, Jenkins, IntelliJ IDEA, Subversion
Migration of a web-based call center application from Bootstrap 2 to 3 with approximately 90% markup impact.
Consulting the business side on implementing functional extensions including creating new interfaces and introducing new interaction concepts based on current ergonomics principles and technical standards, e.g. in-place editing, function merge, progressive disclosure, followed by implementation.
Switching from page flow to AJAX communication and REST-compliant resource mappings.
Connecting AJAX-based communication to server-side validation using JSR-303 Bean Validation.
Improving performance and user experience through reactive programming approaches.
Using new UI elements based on JQuery and programming custom controls/widgets.
Introducing front-end templating to reduce server-generated web content.
Implementing collapsibles to minimize context switches caused by traditional page flows.
Introducing chart components for data visualization.
Assisting with implementing the service and integration layers and optimizing database queries.
Advising on other architecture topics such as coupling search engines and databases, the benefits of schemaless persistence especially in early development phases, and the REST paradigm.
Call center
Software developer (Fullstack)
Twitter Bootstrap, HTML5, CSS3, JQuery, AJAX, JSP/JSTL, Spring Core, Spring Web/MVC, JEE, Hibernate, JPA, JDBC, SQL, Oracle Weblogic / RMI, Servers (10.3 and 11 & 12), IntelliJ IDEA, Subversion, Maven, HP Quality Center
ONEXSYS
NOX (Next ONEXSYS)
New ONEXSYS application generation. In addition to a fully modernized development and operations platform, the NOX system gains numerous new commercial features from the internal legacy system (ERS). This consolidates all core business processes and the functionalities of the web services into a single master system. The use of the latest, flexible technologies is a key factor for efficient maintainability, further development, and user experience. For example, new features can be added as service bundles during runtime, and the new persistence layer with an integrated search engine handles queries over tens of thousands of records in milliseconds on entry-level hardware.
The application design includes, besides a heavily modeled data storage of the business core in an H2 database, another content-oriented persistence model to meet the growing volume of traffic data, metadata, and assets like web content, documents, and media files in a modern way.
The architectural style of the internet (REST), the deeply embedded open/closed principle in the development, and a consistently applied event bus form the foundation for a modern and adaptable application platform for tomorrow’s requirements.
Processing platform for business processes and content system for the connected website.
Initiator, lead developer, technical consultant
ONEXSYS
Struts, Hibernate, JBoss AS, Tomcat, MySQL, Apache httpd, IntelliJ IDEA, ant
NOX
Vaadin, JQuery, Spring, Hibernate, JPA, Lucene, AspectJ, MS SQL Server, JSR-303 (Bean Validation), POI, Google Eventbus, Sling/Felix/Karaf (OSGi), Mongo (NoSQL), Jackrabbit/JCR (noSQL), H2, Tomcat, Jetty, Apache httpd, Enterprise Architect, IntelliJ IDEA, maven
Functional enhancement and modernization of the leading hotel auction platform “eRFP”. Extending and making existing views dynamic and developing new views in various VAADIN-based frontends. Integration with new central service components, introduction of an event bus to decouple the corporate framework, integration of specialized JavaScript components, and performing refactorings to increase code quality and maintainability.
Migration of the frontend platform from VAADIN 6 to VAADIN 7.
Frontends for the user groups “Hotel” and “Hotel Chain” (login as hotel and chain) as well as “HRS Sourcing Agents” (call center/back office)
Software developer (Fullstack)
VAADIN 6 & 7, GWT, JSF, MBassador, Spring, JPA, Hibernate, MySQL, MariaDB, Flyway, maven, IntelliJ IDEA, Subversion, Apache Tomcat 7, Scrum
Internal training project “pathfinder”
Teaching practical and market-relevant skills to new employees around object- and component-oriented software development on the Java enterprise stack. Following the motto “make .jar, not .war”, the setup of an executable (self-contained) Spring Boot data application was exercised, including JPA persistence, REST interface, and responsive frontend.
After completing a detailed technical analysis, the first practical steps involved modeling the application domain as JPA entities for later persistence in the popular H2 developer database, accessed via the powerful Spring Data repositories. Building on this, the design and implementation of the REST interface as a Spring controller followed, with special attention to understanding REST not only as a cohesive information structure with endpoints mapped to concrete entities, but also using virtual or pseudo resources as a valid means to express high interface semantics. The proper use of HTTP status codes, request and response parameterization, as well as the state paradigm HATEOAS, which makes REST not only a server but also explicitly a client concern, rounded off the service part.
Cutting-edge frontend technologies with Apache Wicket, Bootstrap, and HTML5 gave the solid base application a high-quality presentation that, through responsive design, addresses the most common device classes from a single code base.
All phases of the project, from analysis through design discussions to issue tracking and code management with git, were recorded on the agile hosting platform Bitbucket.
A working application, agile configuration management, and a successful team were formed in less than 30 days!
Employees of Haeger Consulting
Coach for software development
Wicket, Bootstrap, HTML5, CSS3, JQuery, RESTful HTTP, Spring Boot, Spring Data, JPA/Hibernate, H2, IntelliJ IDEA, Maven, Bitbucket (Wiki, Issue Tracking, git)
Development of a prototype application to display vehicle inventories optimized for the iPad. The application shows a list of vehicle items that adapt to the display through responsive design. On mobile devices the vehicle items are more focused, while on larger desktops additional controls are automatically shown.
The page structure is built in phases to avoid blocking effects and ensure a good user experience. Vehicle data is classified and moved into different layers (progressive disclosure), which are automatically filled afterwards in the background by jQuery AJAX calls. Busy indicators represent the background activity.
The application demonstrates various scenarios highlighting the versatile uses of Wicket. Its deployment scenario is characterized by hosting the application centrally while fetching user data from local data sources (LAN) via RESTful web services. In this context, the prototype showed different uses of Wicket as a render engine, resource manager, for generating and executing JavaScript, and as a stateful/stateless JSON and markup response provider.
A solution for the CORS issue (Cross-Origin Resource Sharing), which by default prevents a web client from communicating with a resource from a different origin, was demonstrated using preflight requests and the necessary HTTP response headers.
For creating a style guide as a standard for further internal developments, the prototype features a high-quality, modern look with selected Bootstrap elements, chart components, CSS transitions, auto-paging (aka infinite scrolling), slideshows, type-aheads, slide-in menus, hover effects, and generally high usability.
The diverse technical and visual possibilities demonstrated by the prototype greatly influenced a decision to favor Wicket over an alternative GWT-based solution.
Java Web Development Mazda Europe
Software Developer (Fullstack)
Wicket, jQuery, Bootstrap, HTML5, CSS3, Spring Boot, RESTful HTTP, Maven 3, IntelliJ IDEA, Subversion
Single Source Publishing
Design and implementation of a content information system to provide reusable and internationalized content elements for brochure, web, and web special output channels. Realized according to the corporate strategic architecture style using SOA and REST. Design and implementation of online interfaces for integration into the corporate infrastructure. Design of the content repository to manage elements following ISO 639 internationalization and faithful mapping of the REST interface.
Development of a Web 2.0 administration frontend.
Application in the corporate intranet with an interface to external service providers
Sling/Felix/Karaf (OSGi), Jackrabbit/JCR (NoSQL), Vaadin, jQuery, Google EventBus, Jetty, SOA, REST, Maven, Enterprise Architect, IntelliJ IDEA, CentOS
TCO Calculator
Re-engineering and extension of an existing web application for cost-effectiveness calculation of various construction vehicles against competitors. Conversion of text-based input controls to interactive sliders and implementation of financial mathematical algorithms.
Internet application
Felix/Karaf (OSGi), Jetty, Vaadin, jQuery, Google EventBus, Maven, IntelliJ IDEA, Debian OS
Software Developer (Fullstack), Technical Consultant, Concept Author
Software solution for efficient documentation of care and treatment services and digital medication management.
Optimization of the existing codebase for maintainability, test coverage, and modularization
Setup of a Docker stack to support local development against MS SQL Server, SAP MaxDB, and MariaDB
Migration of the monolithic codebase from Java 8 to Java 17
Identification of module boundaries for catalog import/export and transformation into a model project (prototype) based on Spring Boot, REST (Level 3), Hibernate, Liquibase, and Java 17
Development and test-driven documentation of the REST API for catalog import/export with Spring REST Docs
In-depth customizing of exporter serialization to JSON and XML
Provision of HTTP usage examples via .http files and comprehensive Groovy scripts
Coaching of the development team on Spring, REST, Docker, and test strategies
Conducting tech talks on REST and the Spock testing and specification framework, including an introduction to the JVM language Groovy
Support for the introduction of Spock, implementation of the BDD approach, and improvement of test practices
Setup of the Azure deployment pipeline
Implementation of the Azure security concept (subscription key)
Point of contact for further implementation, design, and architecture questions
Setup of Docker stacks in the existing landscape of Linux systems
Analysis and optimization of native Linux scripts with simultaneous transformation into a Docker stack to increase portability and efficiency (e.g., remote container functionality via Docker-in-Docker) and integration into the CI pipeline
Participation in Scrum training
Software Developer, Coach
Java 17, Groovy, Spring 5, Spring Boot 3, REST, Spring WebFlux (Client), Spring Data, Spock Framework (BDD), Hibernate 5, Liquibase, MS SQL, SAP MaxDB, MySQL, Lombok, Docker, Azure Cloud, Git, IntelliJ IDEA, Maven, REST (Level 3), Scrum
Responsible for coordination, development, and deployment of the Product Information Service (microservice).
Prototyping of the internal deployment stack based on Docker (Swarm mode) including HTTPS reverse proxy (nginx), frontend (React), and database (Postgres)
Setup of the automated CI chain via Jenkins (declarative pipeline)
Further development and migration of the deployment stack toward Google Cloud Platform / GKE (Kubernetes)
Continuous tracking of runtime behavior (Spring Boot Admin)
Establishment of Domain Driven Design and PACT (testing)
Coordination with stakeholders from various business units and related developments
Active promotion of feedback culture
Agile process following Scrum
Internet end customers
Software Developer, Technical Coordinator
Spring Boot, RESTful HTTP, Docker, Jenkins, Git (Bitbucket), Gradle, Java, Groovy, Spock Framework, Letsencrypt, React
PIN/TAN Management
Migration of a complex Struts application to the Wicket web framework with temporary hybrid operation using the Zoning integration framework. Extension of functional features based on design specifications.
Backoffice, intranet
Core Developer
Struts, Wicket, Maven, Tomcat, Oracle WebLogic / RMI, Server, Oracle RAC, SAP, IntelliJ IDEA, Solaris
Uniform Client Platform
Setup and development of a business web framework and component library as a strategic platform for new web applications in the corporation. Classification and creation of generic, reusable web components, from basic rich UI controls to complex multi-step business dialogs.
All web-based frontends (e.g., Online Banking, Call Center Client, Direct Sales Client)
Core Developer
Wicket, jQuery, Maven, Tomcat, IntelliJ IDEA, Solaris
3D Secure MTan
International security project with RSA to develop a web service gateway for secure access to authentication and legitimization services in the Postbank multichannel architecture. In international online payment transactions, transactions can be flagged as high risk. These transactions must be further legitimized with MTan by the host bank.
Online payment platforms (Amazon, eBay, etc.)
Core Developer, Concept Author
JAX-WS, SOAP/WSDL, Tomcat, Oracle WebLogic / RMI, Server, SAP, IntelliJ IDEA, Solaris
Internet Client Back Office
Development of a web application for researching credit denial reasons and managing mobile phone numbers. Special conditions due to strict schedule requirements from legal regulations and high look & feel convergence with the SAP GUI.
Backoffice, intranet
Responsible Developer
Wicket, Maven, Tomcat, Oracle WebLogic / RMI, Server, SAP, IntelliJ IDEA, Solaris
Multichannel Sales Platform
Development of enterprise applications and business components in the multichannel architecture of the Postbank sales platform. Following product line engineering, components are developed and quality assured independently from target applications. A subsequent declarative process assembles the components into a channel-specific application. Development of channel-specific frontend adapters.
Nationwide multichannel sales platform
Core Developer, Component Owner
Java EE, Maven, Oracle WebLogic / RMI, Server, IntelliJ IDEA, Solaris
TMKP Platform Relaunch
Modernization and rebuild of the TMKP multichannel transaction platform across the entire stack. Refactoring and rebuilding the enterprise application (approx. 4000 classes) and migrating to new infrastructure components: JDK, application server, and operating system.
Nationwide: call center, account statement processing, brokerage, voice computer, Schufa client
Local: competence center compliance, output management
Responsible Developer, planning and execution of regression and load tests
J2EE, Swing, Oracle WebLogic / RMI, Server, Oracle RAC, Ant, JMeter, SAP, IntelliJ IDEA, Sun Fire, Solaris
J2EE z/OS Integration
Java calls CICS. Decoupling the TMKP enterprise platform from a BS2000 host application and transparently connecting to a z/OS backend using the J2EE architecture standard JCA. Transaction control from UTM to CICS/CTG. Transparent and faithful reimplementation without client impact.
Nationwide: call center, account statement processing, brokerage, voice computer, Schufa client
Local: competence center compliance, output management
Responsible Developer, planning and execution of regression and load tests
J2EE, Oracle WebLogic / RMI, Server, JCA, CICS, Ant, JMeter, SAP, IntelliJ IDEA, Sun Fire, Solaris
Data Driven Testing
Development of a web-based business test application based on data driven testing. Test data is uploaded as Excel files, analyzed in-memory, and executed synchronously on a remote J2EE platform. Test results are written back into the Excel file and sent back to the client via HTTP download in the same request/response cycle. User feedback during test execution via progress indicator.
Test operation
Responsible Developer
J2EE, Struts, POI, DDT, Oracle WebLogic / RMI, Server, Maven, IntelliJ IDEA, Solaris
IVTA
Initiative-driven development of a web application to support the software acceptance process before production launch. Recording of clients, software components, and deployment orders. Workflow control and generation of acceptance protocols as PDF or Word documents.
Test operation, change advisory board
Responsible Developer
J2EE, Struts, POI, iText, JBoss AS, IntelliJ IDEA, Solaris
Technical Multichannel Platform (TMKP)
Large IT project to develop a central J2EE multichannel banking platform.
Transparent transfer of financial and business partner transactions from the legacy core banking system KORDOBA to the new SAP platform. The mission was to minimize client effort during the gradual introduction of new SAP modules and decommissioning of KORDOBA. Design and implementation of peripheral systems to adapt channel specifics to TMKP. Open interface design to enable fast integration of new frontends. Design and implementation of peripheral and backend integration components for SAP, BS2000/KORDOBA, UTM, LDAP, and Oracle RAC. Development of frontend adapters based on CORBA and HTTP. Implementation of protocol translators and BEI gateways to deliver J2EE services to hardware-near client systems and terminals. Continuous adaptation to a dynamic technical environment using code generators and continuous integration. Design and implementation of high availability mechanisms (SLA Gold).
Extensive interdisciplinary team coordination and collaboration. Management of cross-team competencies.
Quality assurance and test automation of specialized systems with custom tools.
Long-term strategic development and follow-up projects to implement SAP expansion phases: Financial Services Business Partners, Account Management, Deposit Management, Customer Mortgage Loan, Transaction Banking. On-the-spot development with top management attention.
Nationwide: ATMs, account statement processing, online banking, online brokerage, direct portal, sales services, call center services, voice computer, EPOS terminals, Schufa client, HBCI
Technical Lead J2EE, Platform Owner until target architecture "Banking Services 8.0" in 2012
J2EE, Oracle WebLogic / RMI, Server, Ant, CCM, Subversion (SVN), IntelliJ IDEA, UTM, LDAP, SAP, Oracle RAC, Solaris
Technical Multichannel Platform (TMKP)
Development of service components and long-term enhancement of the TMKP multichannel banking platform. Rapid adaptation to frequent SAP rollouts via customizations, interface changes, and full platform releases. Long-term application support and planning and rollout of major releases.
Nationwide: ATMs, account statement processing, online banking, online brokerage, direct portal, sales services, call center services, voice computer, EPOS terminals, Schufa client, HBCI
Responsible Developer for the implementation of core banking services and components with technical and business focus in: account information/financial status, business partner management, payment orders/scheduled orders, garnishment/account blocks, procedural information, ANIS (Account Number Information Service), account/deposit management, compliance, card blocks, fee reimbursement, exemption orders, exposure/overall commitment, account holder changes, online account statement processing, legitimization, multi-tenancy, synchronization KOR → SAP, failover Telserve, 3rd level support and incident management. Member of task forces and problem management process according to ITIL. First contact in the change management process.
J2EE, Oracle WebLogic / RMI, Server, Ant, CCM, Subversion (SVN), IntelliJ IDEA, UTM, LDAP, SAP, Oracle RAC, Solaris
TXReloader
Development and implementation of a K-backup strategy to protect against core banking system failures. Identification of all inventory-changing transactions and creation of an intermediate storage for recovery procedures based on an Oracle RDBMS. Development of a reload algorithm to synchronize incoming transactions, differentiated by transaction type, execution date, and value date. Provision of a Java program for recovery with user documentation and internal audit approval.
Nationwide: ATMs, account statement processing, online banking, online brokerage, direct portal, sales services, call center services, voice computer, EPOS terminals, Schufa client, HBCI
Responsible Developer, Concept Author
J2EE, Oracle WebLogic / RMI, Server, Ant, CCM, Subversion (SVN), IntelliJ IDEA, SAP, JCO, Oracle RAC, Solaris
PBInsight
Development of a content system and predecessor to the corporate wiki to consolidate cross-departmental information and promote knowledge transfer and collaboration. Full-text indexing of user inputs and attached documents in various formats (e.g. HTML, Word, Excel, PDF). Tagging and organization of data into articles and thematic hierarchical containers.
Central data center operations
Initiator, Responsible Developer
J2EE, JBoss AS, Hibernate, Apache Lucene, IntelliJ IDEA, Linux
Location Management
Development of a location management system to manage building resources. The system records halls and building structures as well as detailed room information and attached plan documents, automatically indexed by a full-text search engine. A systematic query mechanism allows finding locations based on event parameters like room capacity, seating type, power supply, projector, etc., and manual tagging.
Event organization and marketing of the Düsseldorf Congress Center
Responsible Developer
Apache Tomcat, Hibernate, Apache Lucene, JDOM, IntelliJ IDEA, Solaris
Talent & Digital Asset Management
Development of a content storage and organization system for model agencies. The system manages talents with their attributes and associated media (images, setcards, promotion media) and allows grouping selected talents into castings by theme or client and sending the casting set as a public hyperlink on the agency’s homepage.
Model marketing/booking, agency homepage
Responsible Developer, Technical Consultant
Apache Tomcat, Hibernate, Apache Lucene, JDOM, IntelliJ IDEA, Linux
Subsystem for synchronous identification of substitute items
For picking online orders in a REWE store accessible to in-store customers, a software platform was created to guide the picker through the store and help gather the desired items in the shortest possible time. During picking, some items may be unavailable and providing substitute items is necessary. The substitute request is made synchronously via HTTP to the Substitute service, which wraps, orchestrates, and aggregates a series of further calls into a usable overall result.
The core component for identifying substitute items is based on a dedicated Elasticsearch cluster that performs HTTP More-Like-This searches for a given item. For each matching substitute item, additional current availability information is added and a quantified sorting is done. The bounded context "Substitute service" includes its own datastore for identifying appropriate substitute items (Elasticsearch index) and the stock information as a relational model (JPA & Cloud SQL). Populating the local datastore with substitute items and stock information is done by consuming external data provided via Kafka messages. This includes both ongoing updates of existing data and full population from scratch by resetting the topic offset. Re-indexing of item data and rebuilding of the stock database are each implemented as dedicated Jenkins jobs.
Furthermore, the relevance of availability data is supported by a synchronous REST call that, in addition to current stock data, also considers availability at a future point in time and any quantity already picked for another order.
Due to the synchronous nature of the end-to-end processing and defined response time behavior, availability and fault tolerance are primary quality objectives of the Substitute service. These are achieved mainly by using the container management platform "Kubernetes" and implementing the circuit breaker pattern with the Hystrix resilience library.
The use of meaningful HTTP status codes, hypermedia & self-describing resources (HATEOAS), and intuitive resource identifiers forms the foundation for highest REST conformity (Maturity Level 3). Comprehensive documentation of the entire web API using OpenAPI 3.0 with Swagger completes meeting the customer's high quality requirements and the constraints of the overall architecture.
Picker at the REWE fulfilment center
Software developer, architect
Microservices, Domain-Driven Design (DDD), RESTful HTTP, HATEOAS, Spring Boot, Spring Data (JPA), Spring JDBC, Hibernate, resilience, circuit breaker, Hystrix, Apache Kafka, Jenkins, Spock Framework, MockMVC, Groovy, WireMock, Swagger, Jackson, Gradle, git, Docker, Kubernetes, Jira, Confluence, Bitbucket, Scrum, IntelliJ IDEA
KOS-Web
Development of a framework to support migration and redevelopment of microservices based on Spring Boot. Encapsulation of logging, end-to-end monitoring, resilience, security, and testing aspects. Modular delivery as Spring Boot starter artifacts. Creation of a showcase application and test-driven REST API documentation using Spring REST Docs. Automatic management of versions and dependencies via Maven. Delivery of the showcase as a Docker Compose stack.
Lead developer
Kartenwelt
Design and development of a platform for purchasing digital vouchers connected to transaction providers epay and PAYBACK, consisting of three central REST-based microservices (Transactor, Purchaser, and Exporter) based on Spring Boot. The main feature of the platform is fast processing of incoming POS transactions. These are first accepted by the Transactor and stored in a central DB2 instance (mandated) for later asynchronous processing. Further processing is done by a Spring scheduler (Reloader) as decoupled REST calls to the Purchaser, which then supplies results to the Exporter. The Exporter provides the collected data to downstream systems such as the data warehouse, SAP, and a metrics platform via various channel-specific interfaces.
Architect, lead developer
Coupon-World
Coupon-World is a new development for providing pregenerated digital coupons. Designed according to Domain-Driven Design principles, the contexts of generation, redemption, validation, and support form the main parts of the platform. A campaign passed from an internal planning tool (KMT) via REST call triggers the generation of up to 10 million coupons in one operation. Following the proven reloader approach from Kartenwelt, campaign requests are first stored as job objects and acknowledged to the caller as quickly as possible. The near-realtime downstream generation of unique coupon codes takes place in-memory in the Coupon-Keeper component, is persisted in a central DB2 instance (dynamic table allocation based on coupon prefix), and is concluded by providing a download link as a CSV file to the caller. Up to a maximum of 10 million coupons per campaign, coupons can be regenerated any number of times. Further processes, such as coupon validation and redemption by the POS system, occur in dedicated components of the respective contexts. Parallelizing calls to involved services ensures maximum performance for the interactive systems. Detailed information about all operations in the Coupon-World is provided by the support context, which is integrated into various internal analytics systems. Providing REST API and architecture documentation (DDD context map, domain storytelling, call flows, etc.) completes the project.
Architect, lead developer
Relaunch KOS-Payback (alpha phase)
The project includes restructuring the entire KOS-Payback platform after 10 years of operation and development by various teams. All aspects of the platform should be analyzed, restructured, and possibly replaced according to modern criteria. The target architecture is slimmer, consolidated, and up to date, to be implemented on a modern container platform like Kubernetes in the Google Cloud. Another feature is decoupling REST-based service communication by using an event-driven streaming platform like Apache Kafka or Google Pub/Sub. The result of the work is a detailed analysis and risk assessment of the existing platform and the design of a custom solution focusing on containerization, cloud operation, event-driven design, monorepo usage (GitLab), automated deployment (GitLab CI), and documentation following Domain-Driven Design and domain storytelling. Due to the fixed-term nature of the assignment under the personnel leasing contract, only the service communication design, domain modeling approaches, and a prototype implementation of the monorepo and GitLab CI could be handed over to the team.
Introduction of Kotlin, Groovy, and Spock (BDD) within the development team
Introduction of Docker/Docker Compose to improve local development quality
Introduction of Domain-Driven Design and domain storytelling
Self-initiated and continuous coaching of team members through weekly developer meetings
Sharing of detailed expertise and acting as a constant point of contact for development questions (Kotlin, Spock, Groovy, Spring Boot, Docker, git, IntelliJ IDEA, RESTful HTTP, CI/CD, Kafka, NoSQL, etc.)
Promoter and reviewer of clean code principles such as readability, cohesion, decoupling, single responsibility, test coverage, etc.
Architect, lead developer
Kotlin, Java, Groovy, Spring Boot, Spock Framework (BDD), Docker, Docker Compose, Apache Kafka, git, GitLab CI, Maven, Gradle, RESTful HTTP, HATEOAS, Testcontainers, Liquibase, DB2, event-driven architecture, Domain-Driven Design, domain storytelling, Scrum
Big Data Dashboard
Design and implementation of a web interface to visualize statistical data from a big data platform. The focus was on an appealing and modern design with high usability, achieved by using Bootstrap, chart components, selected jQuery plugins, and modern UI concepts like progressive disclosure.
User group: management of the REWE Group
Market database
Development of a web-based information system for managing placement elements in stores, consisting of a JPA data layer, a REST interface to connect other systems, batch processing, a mock client library with an in-memory database, and a web interface. The application had additional security requirements like SSL encryption and a permission concept. Certain features needed to be enabled or disabled per environment via the build process. The application partially relied on existing tables in a DB2 database. For the application-specific model parts, SQL scripts were provided to create and initially populate the tables.
User group: store managers
Software developer (fullstack)
Apache Wicket, Twitter Bootstrap, HTML5, CSS3, jQuery, AJAX, Spring, Hibernate, JPA, SQL, Apache Tomcat, JBoss, CDI, DB2, IntelliJ IDEA, Eclipse, DBVisualizer, Subversion, Maven, Quickbuild (CI), JIRA, Confluence
Business Portal KAM/GFL
Functional extension of a web-based information system. Through refactoring the persistence layer based on Hibernate/JPA, generating schema diffs using the Hibernate Maven plugin, manual DB schema patches and SQL migration scripts, implementing business logic encapsulated in Spring beans, up to adjusting the AJAX-driven web interface with Apache Wicket.
User groups: category buyers, trade partners, billing staff, about 100 users in total
Web components showcase / prototype application
Building a component library as a strategic platform for developing new web applications in the REWE Group. The components, based on Wicket, jQuery UI & Twitter Bootstrap, offer top user experience, flexibility, and reusability in various projects through a clear internal structure, common architecture patterns, and a well-documented component API.
Support for modern web standards like responsive design through the components enables developing desktop, tablet, and smartphone applications from a single codebase.
High-level components such as Google Maps, geo-completion, tag clouds, Highcharts, collapsibles, tag fields, smart tables (paging, sorting, dissolvable columns), content slider, animated fullscreen background images, type aheads, masked input, etc. have since become part of the REWE Group web development repertoire.
In addition to the more technical showcase application, many components were successfully applied in a business-oriented application prototype (customer dashboard, online shopping, Payback data, etc.) and received strong approval from the specialist committee.
Application development for REWE-Informationssysteme-GmbH
Software developer (fullstack)
Apache Wicket, Twitter Bootstrap, HTML5, CSS3, jQuery/UI, AJAX, Spring, Hibernate, JPA, SQL, Apache Tomcat, Jetty, Solr, IntelliJ IDEA, Eclipse, DBVisualizer, Subversion, JIRA, Confluence
Support in the continuous team workflow using Kanban with focus topics:
Replacing the REWE online shop monolith
Customer registration and login
Customer self-services (profile updates, token-protected password reset, email change, etc.)
Data synchronization (application layer)
Session management, authorization
GDPR compliance
Fraud protection, geo-blocking
Consent management
technical migrations
Analysis and refocusing of the existing business structure and promotion of domain formation according to DDD.
Migration of existing application logic from a Tomcat-based shop monolith to microservices based on Spring Boot and Kotlin with integration to Apache Kafka.
Reimplementation of customer registration as a microservice using Kotlin and Spring Boot and as a microfrontend using Next.js and React.
Implementation of an authorization service based on Spring Security OAuth with connection to the central Redis cluster.
Redesign of a scalable data replication service for message-based synchronization of customer data to downstream systems (REWE commerce system, SAP, Salesforce, customer service back office).
Continuous adaptation and evolution of the monitoring and alerting platform using Kibana, Prometheus, and Grafana.
Establishment and documentation of clean REST APIs.
Implementation of a Kotlin DSL for fluent formulation of HTTP requests using Spring RestTemplate.
Introduction of Kotlintest/MockK (now Kotest) as an alternative testing stack to Spock/Groovy.
Introduction of aspect orientation to encapsulate and move technical cross-cutting concerns into code artifacts outside the business code.
Development of migration strategies for lossless transfer of Postgres data and Kafka topics.
Implementation of a stack for HTTP-based publishing of Kafka messages for local development.
Development of frontend services (BFF) and components using Node.js/Next.js and React.
Adaptation of self-contained systems for integration into a company-wide dynamic UI composition (aka transclusion) framework.
Further development of the CI chain from native to agent-based builds (Jenkins).
Implementation of Google reCAPTCHA (Enterprise) to secure the registration and login frontend.
Connection of backend and frontend services to the machine and user token workflows (OAuth2).
Impact:
End customers of the REWE online shop (shop.rewe.de)
Customers of the supply service for retailers
approx. 170 internal services of the e-commerce platform, including gateways for devices like voice & mobile
customer service and back office applications
Software developer (fullstack), domain architect
Kotlin, Java, Groovy/Spock, Spring Boot, AspectJ, Kotlintest (now Kotest), PACT, Maven, Gradle, Git (Bitbucket), Jenkins, RESTful HTTP, Apache Kafka, OAuth2, PostgreSQL, Docker, Nomad, Slash, Consul, Kibana, Grafana, Prometheus, ChatOps, IntelliJ IDEA, Kanban
With more than 20 years of professional experience as a software developer and architect, and after various renowned stints collaborating with agencies, corporations and external partners, Mr. Jarnot takes care of the diverse challenges between analysis, design and implementation of modern information systems. A holistic conception with a focus on the highest quality and reliability, as well as optimization for the operational target platform, is at the heart of his work.
Mr. Jarnot relies on the creative combination of established technologies such as Java, Kotlin, Spring Boot, Docker, Spock Framework (BDD) and Apache Kafka with long-proven concepts and architectural styles such as REST/HATEOAS, Domain-Driven Design, event-driven architecture, CI/CD, 12-Factor Apps, as well as focuses on security, monitoring and scalability.
As a senior fullstack developer and technical lead, he has been able to put this knowledge to profitable use for many years in designing interfaces, integrating legacy backends, conceiving and implementing high-availability systems, refactoring monoliths and numerous rollout projects in a dynamic and heterogeneous application environment.
Many years of experience in agile software development using Scrum and Kanban for the REWE Group, OBI digital, Postbank, HRS, DHL IT Services, Mercedes-Benz, RTL, Bank-Verlag, the AXA Group and others; as an initiator of a congress and exhibition platform; as a coach for software development with Java, Kotlin and Spring Boot; and as a contact person for modern architecture and design topics round off his skill set.
Discover other experts with similar qualifications and experience
2025 © FRATCH.IO GmbH. All rights reserved.