Nexure / Electrolux
2020 – Current
Back end senior software engineer at Nexure, a subsidiary of Electrolux which provides payment solutions and internal tools for support and sales agents in several countries in Europe and North America.
A substantial part of the work I have done has been focused on making our payment system more robust, in order to enable the company's transformation into a provider of subscription services, with an increased volume of recurring payments.
- Designed and built a new payment service from the first commit - Ktor-based, multi-module Gradle project with PostgreSQL/Ktorm, coroutines, and Sentry integration
- Implemented dynamic region switching with our payment provider, using circuit breakers to get automatic failover between regions
- Built a distributed scheduling and webhook delivery service with database-backed distributed locking and namespace-based isolation
- Expanded payment method support across multiple global markets with Apple Pay, SEPA, PayPal, Swish, iDEAL, Bancontact, and more
- Authored a production Rust feature flag HTTP service (Axum) with Redis backend
- Created tooling for more efficient merchant account configuration with our payment service provider, reducing configuration time from hours to just a few minutes
- Designed and published reusable JVM libraries: a type-safe finite state machine with coroutine support and a reflection-based dependency injection container
- Languages: Kotlin, Rust
- Databases: PostgreSQL, MongoDB
- Frameworks & Libraries: Ktor, Protobuf, Resilience4j, Jackson
- Build & Deployment: CircleCI, GitHub Actions, Gradle, Kubernetes, AWS
- Tools & Services: Datadog, Sentry, GitHub API, Auth0/OAuth2, Adyen, Claude Code