Interbank messaging between financial institutions in 205 countries.
- Develop and maintain the Java and Spring Boot platform behind eight Swift products: transaction management, instant payments gateway, Alliance Cloud messaging, data and analytics, event monitoring, infrastructure as code. Every microservice gets its packaging, encryption, observability and resilience from it.
- Designed and built the network outage detection of the platform with Java, Spring and Kafka.
- Wrote a Maven plugin and its website that collect the failures of the 2,200 tests across builds. About a hundred tests were flaky: race conditions between Kafka producers, consumers and processors. Rewrote them with exact assertions, correct thread synchronisation, distinct inputs and isolation. The suite went from 80 % passing in sequence to 100 % in parallel.
- Cut the release from three days to three hours with four Maven plugins, twenty goals. They cut the release branches and tags, build the Helm charts and container images, and publish the audit reports on tests, dependencies, properties and observability events to Confluence.
- The Helm plugin renders a chart from test values and compares it with the expected output, takes dependencies from Maven or Helm repositories, interpolates Maven properties, and publishes to a Helm repository, a Maven repository or an OCI registry.
- Migrated the platform from Java 8 to 17, then 21, and from Spring Boot 2 to 3, then 4, with the base image upgrades. The support branches stayed releasable throughout.
- Designed the Jenkins pipelines that build, test, release and deploy to OpenShift: retries, cancellation of outdated builds, Coverity and Nexus IQ scans as quality gates.
- Coached five newcomers. Planned their work with the product manager, wrote and prioritised their tasks, and fixed their working methods when their productivity was questioned.
Stack: Java 8 to 21, Spring Boot 4, WebFlux, Spring Data JPA, Spring Security OAuth2, Kafka and Kafka Streams, Flyway, Oracle, Micrometer, Prometheus, Zipkin, JUnit 5, Mockito, Testcontainers, Maven, Jenkins, Helm, Docker, OpenShift, Nexus