https://daans.page/cv.html

Daniel Verstegen

Senior Full-Stack Software Engineer

About me:

Senior engineer with 9+ years shipping event-driven systems, real-time telemetry platforms, and self service cloud infrastructure platforms at enterprise scale. I get happy across the stack, from in-vehicle services to Kafka platforms serving 100+ teams. I love automating, making LEDs blink, and building things people directly benefit from.

Experience

2024 - Present

Senior DevOps Engineer - Albert Heijn Engineering Enablement Platform

Designed, implemented, and operated an enterprise-wide Confluent Cloud Kafka Platform used by over 100 teams. Focused on developer experience, data governance, and auditable lineage, utilizing GitHub for the frontend and Pulumi (TypeScript) for infrastructure provisioning.

  • Designed the organization's consolidated Kafka Infrastructure as Code (IaC) framework using Pulumi and GitHub Actions, utilizing an adapter pattern to mitigate vendor lock-in and maintain backwards compatibility.
  • Overhauled Kafka Connect infrastructure on Azure AKS, migrating legacy IaC to Strimzi-based tooling and implementing automated GitHub Actions for Connector deployment, streamlined image building and Connect plugin management.
  • Designed and operated a data replication pipeline using MirrorMaker2 along with the on-boarding process, enabling more than 50 teams to seamlessly migrate from 6 separate Kafka clusters into 2.
  • Migrated multiple legacy Strimzi Kafka clusters to a new Kubernetes environment using MirrorMaker2 data replication and a coordinated hard DNS cutover with dozens of teams on standby. Upgraded legacy custom Helm charts for forwards compatibility to unblock the move.
  • Provided architectural guidance, technical support, and platform governance for the 100+ engineering teams utilizing the Kafka ecosystem.
2022 - 2024

Senior Software Engineer, Engineering Manager & PO - ChargePoint

Moved into a leading and facilitating role in a core software domain after a company reorganization, applying lessons from the previous years to keep the team's way of working healthy and ensured a good balance between new features, tech debt, and support tickets.

  • Led the team owning the vehicle domain and legacy ViriCiti systems
  • Rebuilt the legacy J1939 DM processor into a scalable Kafka Streams application in Kotlin
  • Drove architectural decisions and balanced feature work, tech debt, and support load
  • Sat on the advisory cloud software council, advocating for a "you build it, you own it" culture
  • Performed 1-on-1s, feedback cycles, knowledge sharing sessions, and team way-of-working sessions
2017 - 2022

Lead Developer - ViriCiti, later part of ChargePoint

Started in a junior software engineering role and grew over four years into a Senior Software Engineer and Lead Developer. Worked with the team on multiple legacy and modern services in our domain-driven microservices framework. One day you'd be digging in the bits and bytes of a CAN-frame, the next you'd be spinning up 12 replicas of a service you had built.

  • Massively refactored a legacy event streaming service
  • Built a storage optimized Kafka to S3 offloader
  • Implemented 3rd party SSO (SAML2.0 / OAuth2)
  • Co-wrote the backend architecture for a new domain using federated Apollo GraphQL services and MongoDB
  • Built several Node.js apps running on our in-vehicle device
  • Built an IFTTT-like service for sending CAN commands to vehicles
  • Built an in-vehicle HTTP to CAN proxy in Rust using Rocket
  • Maintained and improved the public WebSocket server exposing live vehicle data streams
  • Interviewing, hackathon organization, 1-on-1s, and mentoring
2016

Freelance

Demonstrated insecurity of Android apps for the AVROTROS TV show "Opgelicht?! Cybercrime" during a live stand-up comedy show.

  • RAT Android app with a custom TCP protocol
  • Java C&C server
  • ExpressJS file server
2007 - 2016

Bartender & Manager - Café de Laurierboom

Nine fantastic years working and eventually running the family bar.

  • Cash counting Android app connecting to (dad's) custom-built MS Access back office
  • Python server for syncing data
  • Small contributions to AOSP Cyanogenmod
  • Android APK code injection scripts
  • Lots and lots of gezelligheid
2004 - 2007

Kitchen Staff - Bistro 't Stuivertje

Coming of age, learning a tonne from my strict, but awesome chef

  • Dishwashing, later cold side
Always be Coding

Pet Projects

I like to build things in my spare time

  • pont.app | repo

    Server-side rendered schedule app for the Amsterdam GVB ferry times, with auto GTFS importing

    Rust, Rocket, Sqlite, GTFS, Nginx
  • Can holder | model

    Can holder to easily bring in your cans for deposit. (Picked up by Amsterdam based paper Het Parool)

    Fusion 360, Concepts
  • vbpool.web.app | repo

    Responsive digital version of the football pool form we do at the bar, with auto saving functionality

    VueJS, Firebase
  • esp32-woohoo

    3D printed, battery powered ESP32 + BME280 sensor project, using MQTT protocol for data transfer and Prometheus as for timeseries storage

    CAD, Arduino, Rust, MQTT, Prometheus, Grafana

Education

2016

Codaisseur

Intensive two month web development bootcamp

  • Ruby on Rails, ES6, React, git, NodeJS, functional programming, and more
2001 - 2006

Montessori Lyceum Amsterdam

Not much to see here...

  • HAVO