Dec 2025 — present
Motiveren versus rapporteren
Lead .NET developer · Wigo4IT, The Hague
Socrates has no shortage of screens for capturing data, but there was no clear way to make that data legible. Every mutation lands in a historical database; on top of it we introduced a timeline that shows a caseworker the status of a client at a glance.
The cities are also used to recording every action in separate reports, even when the information already sits in the application — double entry. By letting decisions be motivated in the timeline itself, that second route becomes unnecessary. I own the timeline end to end: queries over the mutation history, the API, the Blazor screens and the automated tests. Socrates is used daily by 7,500 caseworkers.
- C#
- .NET 10
- Blazor
- Web API
- Azure
- EntraID B2C
- Azure DevOps
- xUnit
- bUnit
- Cypress
- Oracle
Nov 2024 — Dec 2025
ITP to the cloud
Full-stack .NET developer · Wigo4IT, The Hague
ITP is the document product in the Wigo4it landscape: a third-party package on a Windows VM, behind the five million documents Socrates produces every year. To let it take part in the cloud-native landscape it was lifted and shifted to Azure and reconfigured accordingly.
My focus was the infrastructure and the test pipeline: the Azure environment as infrastructure as code with Terraform, build and release pipelines in Azure DevOps, a Cypress smoke test that prints a document to confirm the chain works at all, and a BDD suite in TypeScript with Gherkin that checks 60 document types against their specifications.
- C#
- .NET 9
- Azure
- Terraform
- PowerShell
- Azure DevOps
- Cypress
- Gherkin
- TypeScript
Jan 2022 — Jul 2024
Web screens
Full-stack .NET developer · Wigo4IT, The Hague
Wigo4it is the non-profit IT cooperative of Amsterdam, Rotterdam, The Hague and Utrecht. Its core application Socrates calculates and pays out benefits on 4,400 built-in legal rules, good for €2.2 billion in social provisions a year and used daily by 7,500 professionals.
To make the service cheaper and more future-proof, Socrates had to be rebuilt from WPF to Blazor and opened up to the four cities over the public cloud. We went live with the full Blazor application in December 2023, followed by six months of hypercare.
- C#
- TypeScript
- .NET Framework 4.7 → .NET 8
- Blazor
- Azure
- Terraform
- Helm
- Kubernetes
- Cypress
- Oracle
Nov 2020 — Dec 2021
Right of First Pick
Lead .NET developer · CarNext B.V., Amsterdam
LeasePlan offers CarNext the chance to buy vehicles before they are offered to other parties. I designed the architecture for the backend service that groups the information and orchestrates that process, after which the vehicles are remarketed on the auction and e-commerce platform.
CQS through MediatR, Kafka for publishing and consuming domain events, Okta for authentication and authorisation, and a CI/CD pipeline on GitLab with CloudFormation and a OneFlow branching strategy.
- C#
- .NET 5
- AWS
- CloudFormation
- Kafka
- MediatR
- Okta
- Docker
- xUnit
Sep 2019 — Oct 2020
Invoicing
Backend .NET developer · CarNext B.V., Amsterdam
CarNext was splitting off from LeasePlan as an independent company, which meant taking over invoicing for 23 countries, with PwC as the partner handling settlement per country.
We hooked into the existing LeasePlan systems and turned the messages we listened to into actions towards PwC through an event-sourcing system. Along the way all services moved from .NET Core 2.2 to 3.1 and from MSSQL to PostgreSQL.
- C#
- .NET Core 3.1
- AWS
- Cognito
- Kafka
- Event sourcing
- PostgreSQL
- Grafana
- Prometheus
2019 · RDC InMotiv
Backend .NET developer — ViaBovag.nl: broke up the monolith into microservices on Azure Functions, each with its own repository, pipeline and ARM templating.
2017 — 2019 · RDC InMotiv
Lead .NET developer — ROC-Hub: IoT bridge between dealer management systems and Azure. Guarded the architecture, led the migrations to .NET Core and EF Core, brought test coverage to 80% and moved CI/CD from Bamboo to Azure DevOps.
2017 · LeaseWeb Global
Backend .NET developer (interim) — IPAM web tool and the CAS customer administration.
2017 · KPMG Netherlands
Lead .NET developer — ePlanning: led the junior developers and the team in India, refactored to dependency injection, restructured the database model and set up the CI environment.
2016 · Triple-IT
Backend .NET developer — greenfield backend for an educational hospitality app: Web API with GraphQL and authentication through IdentityServer 3.
2016 · Parkmobile
Backend .NET developer — ParkNow Switzerland and France: high-traffic multi-tier web applications and RESTful APIs, security to the OWASP Top 10.
2015 — 2016 · Stichting SENA
Full-stack .NET developer — MySena: the PCI-compliant portal for rights holders, built to the OWASP standard.
2013 — 2015 · ZyLAB Benelux
.NET developer and consultant — eDiscovery and archiving software, with implementations at clients at home and abroad.
2008 — 2013 · CCL, Experience-Groep, NOSK IT, Regeltante
.NET developer and consultant.
Studied Information Engineering (HBO Informatica, 2004–2009). Certified in Programming in C# (70-483) and Querying Microsoft SQL Server (70-461), plus Cisco CCNA. Screened by the AIVD in 2013 and 2014 and by the DSI in 2016; all three have since expired. Reachable at marcel@roozekrans.nl.