Software Engineer
Building systems
that last.
I'm a fullstack software engineer with nearly a decade of experience, currently working at the Netherlands Forensic Institute via Sopra Steria. I specialize in backend architecture with Java and Spring Boot, mobile development with React Native and Swift, and DevOps practices. On this blog I share what I learn along the way.

Experience
- Jun 2025 — Present
Fullstack Software Engineer | Project Lead
Nederlands Forensisch Instituut · via Sopra Steria
- Lead a four-person engineering team while remaining hands-on in Java and Spring Boot development.
- Act as the primary client contact, aligning technical decisions, delivery priorities and stakeholder expectations.
- Improved the team satisfaction score from 6.4 to 8.0 by strengthening collaboration, ownership and engineering practices.
- Design and build secure backend services for the Dutch DNA Database and PRÜM, supporting reliable DNA-profile exchange with multiple EU member states.
- Led the greenfield design and implementation of a new backend API and established its initial architecture.
- Introduced contract testing, reducing integration risk and increasing confidence in API changes.
- Improved Kubernetes and OpenShift environments and introduced Docker-based local development for greater consistency.
- Strengthened delivery through retrospectives, branching-strategy evaluation and clearer Definitions of Ready and Done.
Tech: Java, Spring Boot, REST APIs, Kubernetes, OpenShift, Docker, CI/CD, Contract Testing, PostgreSQL, Security
- Mar 2021 — Present
Fullstack Software Engineer (Java, Spring Boot, Kotlin)
Sopra Steria
- Deliver backend functionality end-to-end using Java, Kotlin and Spring Boot, extending into React and React Native where product delivery requires it.
- Contribute to architecture decisions for secure, business-critical systems within large organizations.
- Translate complex business and technical requirements into maintainable software solutions.
- Maintain engineering standards through code reviews, automated testing, CI/CD and trunk-based development.
- Mentor engineers and help teams improve technical quality, ownership and delivery practices.
- Collaborate with client stakeholders, product owners, designers and engineers in multidisciplinary teams.
- Completed long-term assignments within highly regulated organizations, including the Netherlands Forensic Institute, VGZ and de Volksbank.
Tech: Java, Kotlin, Spring Boot, REST APIs, React, React Native, CI/CD, Automated Testing, Trunk-Based Development
- Nov 2021 — Jun 2025
Backend & Mobile Developer
Coöperatie VGZ · via Sopra Steria
- Developed and maintained Java and Spring Boot APIs supporting core mobile-application functionality.
- Designed and scaled the React Native application architecture using React Navigation, Redux Toolkit, i18n, Zod and runtime validation.
- Advised stakeholders on Elasticsearch-based search and presented the proposed technical approach and product vision to management.
- Built CI/CD pipelines and release automation in Azure DevOps, improving repeatability and delivery reliability.
- Helped introduce trunk-based development, shortening feedback cycles and simplifying integration.
- Mentored junior and medior engineers through one-to-one coaching, code reviews and pull-request feedback.
- Collaborated across backend, mobile, product and design disciplines within a large healthcare organization.
Tech: Java, Spring Boot, React Native, TypeScript, Elasticsearch, Azure DevOps, CI/CD, Trunk-Based Development
- Sep 2021 — Dec 2021
iOS App Developer
de Volksbank · via Sopra Steria
- Delivered user-facing iOS features end-to-end using Swift and SwiftUI.
- Applied MVVM and clean-architecture principles to keep the application maintainable and testable.
- Improved engineering quality through code reviews, automated testing and continuous improvement.
- Collaborated with product and engineering stakeholders in a regulated banking environment.
- Translated functional requirements into reliable and accessible mobile functionality.
Tech: Swift, SwiftUI, MVVM, XCTest, Git
- Jun 2018 — Mar 2021
Software Developer
MoneyMonk B.V.
- Migrated a legacy PHP API to a modern backend built with Java, Kotlin and Spring Boot.
- Designed and built a greenfield KYC platform using Kotlin and Spring Boot.
- Implemented secure integrations with PSD2 banking providers, enabling automated access to financial data.
- Owned functionality end-to-end, from solution design and backend implementation through mobile integration and release.
- Applied clean-architecture principles to improve maintainability, stability and separation of concerns.
- Contributed across backend, iOS and Android while helping the product and engineering organization scale.
Tech: Java, Kotlin, Spring Boot, REST APIs, PSD2 Integrations, Swift, React, iOS, Android
- Jul 2017 — Jun 2018
Mobile Developer
MoneyMonk B.V.
- Built and released mobile features end-to-end for iOS and Android.
- Improved application performance and stability through automated testing, code reviews and structured debugging.
- Applied clean-architecture patterns to improve maintainability and separation of concerns.
- Collaborated closely with backend developers, product stakeholders and designers.
- Expanded into Kotlin and backend development, creating the foundation for progression into a fullstack role.
Tech: Swift, Kotlin, iOS, Android, Automated Testing, Git
- Sep 2016 — Jan 2017
Junior Backend & iOS Developer
MoneyMonk
- Contributed to early Java and Spring Boot API development alongside frontend and iOS work.
- Built responsive iOS interfaces using UIKit and RxSwift.
- Wrote unit tests and participated in code reviews to improve software quality.
- Collaborated with designers, testers and developers to deliver customer-facing functionality.
- Developed a broad engineering foundation across backend, frontend and mobile development.
Tech: Java, Spring Boot, Swift, UIKit, RxSwift, Unit Testing, Git
Technologies
Writing
- What building Orevox taught me
- How Large Pull Requests Are Killing Your Delivery Speed
- Drone detection with code!
- Building a Drone Detection System with YOLO and Python
- When Business Meets IT
- Event Driven Systems
- Package Structure
- Immutability in java
- The Code That Knew What It Wanted
- Why Zod Is a Game Changer for Runtime Validation in TypeScript
- The Builder Design Pattern
- The Factory Method: Encapsulating Object Creation
- Understanding the Singleton Pattern in Kotlin
- The C4 Architecture Model
- CQRS with Spring Boot and Java: The Why Behind the Pattern
- Developing a Simple Game in Plain Java with Swing: My Journey So Far
- The Case for Small Pull Requests: Lessons Learned from a Big Mistake
- API Idempotency
- Understanding OWASP and Authentication
- Navigating the Murky Waters of JavaScript Exceptions: A TypeScript Perspective
- Demystifying Docker and Containerization: A Beginners Guide
- Exploring the Power of TypeScript