Experience
Consultant — Kamer van Koophandel (KVK)
2023 - present
Group9
I joined KVK to help launch their new real-time data-delivery platform for
the Handelsregister (the Dutch business register), then stayed on to
modernise how the engineering teams ship software.
Data-delivery platform:
- I built a custom Kafka-based replication mechanism that projects the Handelsregister into a fast, read-only store holding only current records — the source database is large and history-heavy, so direct queries are slow.
- I helped design the Kafka event messages and the reconciliation system that keeps the read model real-time and aims for strong consistency.
- I cut the initial full load of all KVK records from a projected several months to under a week.
Platform & delivery modernisation:
- I introduced GitOps and ArgoCD across KVK: ran a workshop for 100+ developers, set it up with the platform teams, and reworked the shared CI/CD pipeline templates.
- I migrated around twenty applications to ArgoCD continuous delivery, cutting their deployment from days of manual steps to ~30 minutes, fully automated.
AI-assisted engineering:
- I was closely involved in the internal community that used GitHub Copilot fanatically, and went deep on agentic coding myself. In June 2026 I gave an internal talk on the secure use of agentic-coding tools — it's where I think the work is going, and I want us ready for it.
Getting other teams moving — running the workshops, doing the convincing —
is the work I keep coming back to.
KubernetesAzureIstioService MeshArgoCDGitOpsKafkaEvent-Driven ArchitectureObservabilityOpenTelemetryPrometheusGrafanaJaegerELKElastic StackJavaKotlinPerformance optimizationPlatform EngineeringSREDevOpsDevSecOpsSonarQubeClaude CodeGitHub CopilotAgentic codingAI-assisted developmentSecure AI-tooling adoptionTechnical leadershipTechnical consultingCoaching/mentoringAPI-First DesignBash/CLILinuxDB2PostgreSQLSQLLiquibaseFlywayScrumAgile
Software Architect — Ampere (Bol.com spin-off)
2021 - 2023
Group9
I was one of four architects on this Bol.com spin-off, owning the
software-engineering platform. I pushed hard for domain-driven design,
event-driven architecture and zero-friction CI/CD, so a small team could
keep shipping fast without the platform turning into a mess. GitHub
Copilot was already part of my toolkit here; being early with that kind
of tooling is a pattern of mine.
- In three months we went from nothing to live in production: real route planning, drivers with apps, actual parcels moving. I still think that pace is a little ridiculous.
- I set up the platform on GKE with GitOps through ArgoCD, and Terraform for infrastructure-as-code, so the whole environment was reproducible from scratch.
- I designed a zero-trust security model with Workload Identity, so services authenticated by identity rather than network location from day one.
- I helped design the real-time driver tracking: a GraphQL ingestion API feeding Google Pub/Sub, which the teams then built. Every truck's position showed live on the planning dashboard — watching them move across it never got old.
- We launched in summer, kept scaling, and the platform took its first Black Friday peak without a hitch.
What I'm proudest of is how fast we built something genuinely new — and that
the quality held up, which the business noticed and valued. I also loved
being close enough to talk to the drivers using the app and hear first-hand
what happens out in the wild; moving things from A to B sounds mundane, but
it's strangely satisfying.
KotlinYAMLGoogle Cloud PlatformGKEKubernetesTerraformInfrastructure as CodePlatform EngineeringCloud architectureSoftware architectureArgoCDGitOpsKustomizeHelmIstioService MeshGraphQLGoogle Pub/SubPostgreSQLFlywayEvent-Driven ArchitectureZero Trust SecurityWorkload IdentityDevSecOpsDockerMicroservicesHPAKEDALinuxGitLab CIGitCI/CDcontinuous deliveryDevOpsObservabilityOpenTelemetryPrometheusGrafanaSRECloud-nativeDomain-Driven DesignGitHub CopilotChatGPTAI-assisted developmentSonarQubeTechnical leadershipAPI-First DesignBash/CLISQLScrumAgile
Senior Software Engineer / Tech Lead — Bol.com
2019 - 2021
Group9
I worked at BRMG — Bol Retail Media Group, the advertising side of bol.com
— where I got a front-row seat on how the internet actually makes money.
High tech, high volume, genuinely great people. Two projects stand out.
Sponsored-products platform:
- We built the platform sellers use to promote their products across bol.com.
- I built a new REST API for external advertisers, with Kafka event-streaming for real-time updates.
- I tuned the Kubernetes autoscaling so it held up through the busiest campaign weeks, and stood up the Prometheus/Grafana monitoring behind it.
Cookie Consent platform:
- I rebuilt the legacy system into a cloud-native service on Kubernetes — the official GDPR consent registry for every bol.com visitor.
- I brought response times down from 500ms to 50ms.
- I migrated 8 million daily users with zero downtime.
I became known as "Mr Cookie" while I was there. Nobody loves cookie
consent, but somebody had to own it, and I didn't mind. The performance and
zero-downtime numbers are the ones I'm proudest of.
KubernetesGKEGoogle Cloud PlatformIstioService MeshGitOpsGoogle Pub/SubCloud-nativeJavaSpring BootDockerMicroservicesRESTful APIsgRPCEvent-Driven ArchitectureKafkaRedisPostgreSQLFlywayGitLab CIGitCI/CDcontinuous deliveryDevOpsPrometheusGrafanaObservabilityELKSRESLI/SLOGatlingPerformance testingPerformance optimizationHigh-throughput systemsGDPRLinuxSonarQubeAPI-First DesignBash/CLISQLScrumAgile
Lead Research & Development — OK.APP
2018 - 2019
OK.APP
I led R&D at this mobile-payments start-up: four remote teams across
Serbia and Romania — two mobile, two back-end — plus the back-end API
architecture and the operations team.
- I took deployments from weekly to several times a day with feature flags, automated testing and deploy automation. Getting a system to deploy in minutes instead of days is sort of my thing.
- I owned the back-end API architecture and put real work into the platform's performance — profiling and tuning until it held up.
- I built a serverless proof-of-concept on AWS Lambda that made it into production.
- I explored PSD2 for payment initiation, and we built on a major Dutch gift-card operator's wallet system.
Coaching the teams on engineering practices and watching their productivity
climb is what made the role click for me.
KotlinJavaSpring BootRESTMicroservicesKubernetesDockerAWSServerlessAWS LambdaLinuxCloud-nativeTerraformInfrastructure as CodePostgreSQLLiquibaseNew RelicELKObservabilitycontinuous deliveryFeature flagsTest automationDeployment automationGatlingPerformance testingPerformance optimizationGitGitLab CIDevOpsMobile paymentsPSD2Digital walletSonarQubeEngineering managementTechnical leadershipAPI-First DesignBash/CLISQLScrumAgile
Lead Engineer — EDIA
2015 - 2018
EDIA
EDIA is an education-technology software consultancy; I came in as a team lead
and grew into lead engineer for the company — four development teams plus
operations, around 20 engineers. I set the technical architecture and
looked after knowledge sharing, developer productivity and software quality
across the teams.
- This was the deep-learning wave. I worked at the architecture level alongside the team's TensorFlow/PyTorch work, and moved us onto AWS, Kubernetes and microservices.
- Beyond education, I built an e-healthcare integration on Koppeltaal and FHIR.
- I led two teams on a proof of concept for an AI-supported learner-management system in Abu Dhabi.
The Abu Dhabi project was a bit mad, honestly — but being in it with the
teams is something I'm proud of.
JavaJavaScriptTypeScriptPythonSpring BootTensorFlowPyTorchDeep LearningMachine LearningAIFHIRKoppeltaalHealthcare interoperabilityAWSS3EC2EBSRoute 53PuppetLinuxInfrastructure as CodeKubernetesMicroservicesgRPCDockerMongoDBPostgreSQLLiquibaseRabbitMQHashiCorp VaultReactJenkinsGitGitLab CICI/CDcontinuous deliveryDevOpsScrumAgileTest automationSonarQubeEngineering managementTechnical leadershipAPI-First DesignBash/CLISQL
Senior Software Engineer — Energyworx
2014 - 2015
Energyworx
Energyworx builds a meter-data-management platform for the energy and
utilities sector. This was my move from consulting into an in-house product
team, and my first proper cloud work — on Google Cloud (App Engine), with
Cassandra.
- I migrated the platform's Cassandra store from on-prem into Google Cloud.
- I helped the team mature its continuous delivery.
- In-house I focused on the team's development productivity; externally I helped clients integrate the Energyworx REST API into their own systems.
Google Cloud PlatformGoogle App EngineCassandraLinuxJavaJavaScriptAngularJScontinuous deliveryREST APIProduct developmentFront-end developmentDockerGitJenkinsTest automationScrumAgileSonarQubeAPI-First DesignBash/CLI
Lead Front-end Engineer — ABN Amro
2013 - 2014
Capgemini
A year on ABN AMRO's internet-banking front-end: first leading a front-end
team, then advising the bank on faster front-end development.
Team lead:
- I led a 6-person scrum team rebuilding the rights- and identity-management front-end: pure HTML/CSS/JS single-page apps on a REST backend.
- I owned the front-end build, and migrated it from the legacy Maven setup to Grunt/Gulp.
Prototype & workflow:
- I built an architectural prototype for the internet-banking app on Backbase and AngularJS.
- I advised on the front-end developers' workflow; we brought the release cycle from three months down to one.
These were wild days for JavaScript — a new framework seemingly every week,
peak Angular hype. I came in as a backend developer and held my own in a
front-end field that was maturing fast.
JavaScriptHTMLCSSKnockoutJSAngularJSBackbaseRESTNode.jsGruntGulpRequireJSMavenJenkinsDockerSeleniumTest automationcontinuous deliveryBDDScrumAgileTeam leadershipIdentity managementFront-end architectureBuild automationSonarQubeAPI-First DesignBash/CLI
Team Lead / Nuxeo ECM — NFI, MVB
2012 - 2013
Capgemini
Two Capgemini engagements on the Java-based Nuxeo ECM platform.
NFI (Netherlands Forensic Institute):
- I was technical lead of the team that built a digital case-management system for forensic investigations, used in real casework. It was Capgemini's first Nuxeo ECM implementation in the Netherlands.
- I set up the team's CI/CD with Jira, Jenkins and Git, and coached the other NFI IT teams to adopt continuous deployment.
MVB (Frankfurt — distributor of all German books to retailers):
- I advised their team of experienced Java developers, ran a small proof of concept, and recommended Nuxeo ECM for their 25 TB catalogue of e-books and audiobooks.
This is where my DevOps streak really started — an early Docker adopter,
running Nuxeo locally for dev and test back in 2013.
Nuxeo ECMJavaSpringSOAP web servicesXMLXSDRESTJenkinsGitJiracontinuous integrationcontinuous deploymentCI/CDDevOpsDockerPostgreSQLSonarQubeTeam leadershipEnterprise Content ManagementTomcatMavenTDDScrumAPI-First DesignBash/CLISQL
ECM & Enterprise Search Consultant — UWV, BZK
2011 - 2012
Capgemini
Two short Capgemini assignments, both around enterprise content and search.
- At UWV, I built a migration tool that moved a legacy "fast" digital archive of over 100 million documents into IBM FileNet, and advised the team on continuous integration.
- At BZK (Ministry of the Interior), I tested an internal news-aggregation and search system that indexed news sources and alerted people to new articles in their areas of interest.
IBM FileNetSolrAutonomyJavaSpringSOAP web servicesXMLXSDcontinuous integrationHudsonGitEnterprise SearchFAST SearchEnterprise Content ManagementTomcatMavenTDDScrumAPI-First DesignBash/CLI
Oracle UCM Developer — KPN, ICTRO
2008 - 2009
Capgemini
My first two Capgemini assignments, both implementing Oracle UCM for
enterprise content and document management.
KPN:
- I integrated Oracle UCM into KPN's invoicing process, generating and archiving the invoices as PDF.
- I optimised invoice generation from 5k to 50k invoices per hour.
ICTRO (IT services for the Ministry of Justice):
- I migrated the document-management layer of GPS — the judiciary's case-handling system — from Hummingbird to Oracle UCM.
Oracle UCMJavaSpringSOAP web servicesXMLXSDTomcatMavenSubversionTDDScrumHummingbirdDocument generationEnterprise Content ManagementAPI-First DesignBash/CLISQL
Senior Software Developer — ING
2006 - 2008
ING
After my bachelor project I stayed on at ING, building content-management
web applications for the dealing-room back office — a business-critical
Java/EMC Documentum environment. I worked with end users and a business
analyst to turn requirements into designs, and started assigning and
reviewing other developers' work.
- I automated a contract-chasing process with Documentum workflow: it chased counterparties by fax or email on its own. Faxes were generated on the fly and sent via a third-party web service.
- I built a Java Struts application for the security operations department to streamline Documentum user management. It tied into the company-wide LDAP directory and could export users and their roles to Excel.
JavaEMC DocumentumDFCStrutsSpringjQueryAjaxLDAPSOAP web servicesXMLXSDTomcatMavenSubversionTDDScrumJavaScriptCSSDocumentum workflowAPI-First DesignBash/CLI
Junior Software Developer — ING
2002 - 2006
ING
My first job in tech: a traineeship at ING combined with my bachelor study
— four days a week at the bank, one day studying at the Haagse Hogeschool.
I started in support and moved into building software, which was where I
wanted to be.
- I provided third-line support for around ten of ING's custom EMC/Documentum applications.
- I took on Java/Documentum development as projects came up.
- For my bachelor project I led the technical side of a desktop-to-web migration: a Struts web front-end over a fast-growing archive of more than 5 million contracts. I used Ajax to keep the responsiveness of the old desktop client — back when nobody called it a single-page app yet.
- I built a low-volume scanning application on Input Accel with a Visual Basic front-end.
A bachelor project usually ends up on a shelf; this one shipped and stayed in
use. That's where I caught the bug for building software, and I never
really stopped.
JavaEMC DocumentumStrutsAjaxTomcatMavenWebSphereSOAP web servicesXMLXSDSOATDDSubversionVisual BasicInput AccelAPI-First DesignBash/CLI