Experience

Sixteen years, mostly in banks

Started as a consultant in Bangalore in 2010, moved to Switzerland with the job, and have been building trading, onboarding and credit systems in Zurich since 2017. The thread through all of it: I end up owning quality and speed, not just features.

2010 NTT DATA · Bangalore, then Bern 2016 ZoralisSA · Fribourg 2017 Credit Suisse · Zurich 2020 UBS · Zurich

UBS, Zurich

Senior Java Developer June 2020 – now
2024 – now · Credit risk, mortgages
½

The pipeline rebuilt to take half the time

I lead a team of ten on the REST APIs behind mortgage credit decisions. When I joined, the build did everything on every run: unit and integration tests as one block, nothing cached, nothing reused, steps with no reason left to exist.

I took it apart and rebuilt it. Unit tests split from integration and run first, outputs cached across stages, dead steps gone. Time dropped by more than half. Embedded Kafka lets the team verify business logic on their own machines instead of waiting for the integration environment, and framework upgrades go through OpenRewrite recipes.

Spring BootCI/CDEmbedded KafkaOpenRewrite
2023 · Client onboarding
Every build

Load tests that stopped being a release event

Onboarding needed new Spring Boot services and a separate authentication service with JWT and role-based access. The question nobody could answer was how it behaved under load until the week before release.

I put Gatling into the CI pipeline so every build answered it. Underneath that, a test matrix: REST Assured for API contracts, Cucumber for business journeys, JUnit 5 and Mockito for the rest.

GatlingREST AssuredCucumberJWT
2020 – 2022 · Trading application
19 → 9 min

The build that got its ten minutes back

I led ten engineers on client data infrastructure and the regulatory engines (FINIG, MiFID) behind the trading platform, with REST and GraphQL APIs side by side and data flowing both ways.

The build took nineteen minutes. I profiled it like a production problem and brought it to nine, then set up the CI/CD pipeline with Cucumber acceptance tests and built the Splunk dashboards the team watched in production.

GraphQLRESTSplunkAppDynamics

Before UBS

2017 – 2020
Senior Java DeveloperHCL Technologies, at Credit Suisse, Zurich
SOAP and REST services exposing protected client data to global trading systems. Designed the data model for regulation and client entities. Wrote the high-volume batch layer in Oracle PL/SQL.
2016 – 2017
Software EngineerZoralisSA, Fribourg
Full-stack Java for enterprise clients. Earned the Oracle Java SE 8 certification here.
2010 – 2016
Technical ConsultantNTT DATA, Bangalore and Bern
Six years of Java consulting on enterprise projects, first in Bangalore and then on site in Bern. The years where I learned to be the person clients call when a release is late or a system is slow.

Toolkit

What I reach for

Languages

Java 17–25SQLPL/SQLTypeScriptPython

Frameworks

Spring Boot 3 / 4Spring SecurityHibernate / JPAFlyway

Testing and performance

Gatlingk6REST AssuredCucumberPlaywrightTestcontainersJUnit 5MockitojqwikPIT / StrykerArchUnit

CI/CD and ops

GitHub ActionsJenkinsDockerGradle / MavenOpenRewriteSemgrep / Trivy / gitleaks

Observability

OpenTelemetryGrafana / Loki / TempoPrometheusSplunkAppDynamics

AI-augmented engineering

Agent orchestrationClaude CodeGeminiGitHub / Microsoft CopilotGoogle AntigravityPrompt and gate design

Data

PostgreSQLOracleRedisKafka