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
- Implemented functionality for customer identifcation and credit check with BankID
- 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
- Kotlin
- Rust
- PostgreSQL
- MongoDB
- Ktor
- Protobuf
- Resilience4j
- Jackson
- CircleCI
- GitHub Actions
- Gradle
- Kubernetes
- AWS
- Datadog
- Sentry
- GitHub API
- Auth0/OAuth2
- Adyen
- Claude Code