https://daans.page/cv.html

Daniel Verstegen

Senior Full-Stack Software Engineer

About me:

Creative self-taught full stack software engineer with 9+ years of professional experience.

Experience

2024 - Present

DevOps Engineer V - Albert Heijn Engineering Enablement Platform

Consciously shifted sideways from a leadership position to a more technical role. While also becoming a dad during this time, I have worked in a team of fellow DevOps engineers to design and implement a solid org-wide Kafka Platform. Tailoring to the needs of the organization, ensuring proper governance and providing a smooth developer experience. In a large organization like Albert Heijn, automation and proactive enabling are essential to keep the velocity of dev teams high.

  • Designed, built and operated a data replication pipeline using several MirrorMaker2 clusters, enabling a zero downtime consumer-moves-first migration between Kafka clusters
  • Updated legacy custom Helm charts to be forwards compatible with a new Kubernetes environment and its custom resources
  • Deployed and operated multiple legacy Strimzi Kafka clusters on a new Kubernetes environment
  • Designed and co-wrote the org-wide consolidated Kafka Infra As Code framework using Pulumi TypeScript, running on GitHub Actions. Utilizing an adapter pattern to reduce vendor lock risk and ensuring backwards compatibility with existing systems
  • Operated multiple Kafka Connect Clusters running on Azure AKS
  • Revised the legacy Kafka Connect IaC tooling to use and run on Strimzi based Kafka Connect
  • Designed and implemented the GitHub Action pipelines for Kafka Connect image building, enabling streamlined Kafka Connect plugin management
  • Provide technical support to teams utilizing Kafka
2022 - 2024

Senior Software Engineer, Engineering Manager & PO - ChargePoint

Assumed a more leading and facilitating role in a core software domain after a reorganisation. In this role I am backed by the many learnings of past years, and apply them in such a way so that our team can enjoy a healthy way of working and priorities are set with a good balance between new features, tech debt and support tickets.

  • Leading a team, where we own the vehicle domain and legacy ViriCiti systems
  • Facilitating scrum ceremonies
  • Managing product backlog, incoming support tickets and addressing technical debt
  • Organizing and performing 1 on 1's and feedback sessions
  • Facilitating periodic Way of Working meetings
  • Conducting code reviews
  • Facilitating knowledge sharing sessions
  • Steering and making architectural decisions
  • Key player and engineering representative in multi stakeholder initiatives
  • Member of advisory cloud software council, where I advocate for a "you build it you own it" mentality
  • Rebuilt legacy J1939 DM processor into scalable Kafka Streams application using Kotlin
2017 - 2022

Lead Developer - ViriCiti, later part of ChargePoint

Starting in a junior software engineering role I have developed myself over the course of four years to become a Senior Software Engineer and Lead Developer. Now, together with an amazing team I'm building, maintaining and owning multiple legacy & modern services/architectures in our domain driven microservices framework. One day you're digging in the bits and bytes of a CAN-frame, the next you're spinning up 12 replicas of a service you've built.

  • Massively refactored and improved legacy event streaming service
  • Built efficient Kafka to AWS S3 offloader
  • Implemented 3rd party SSO SAML2.0/OAuth2 support
  • Co-wrote back end architecture for new domain using federated Apollo GraphQL services
  • Acquired solid understanding of Mongo aggregations (and their verbosity...)
  • Built services integrating with 3rd party ITCS systems
  • Built several NodeJS and Rust apps running on our in-vehicle device
  • Built IFTTT-like service for sending commands to vehicles
  • Maintained and improved public WebSocket server; exposing live data streams
  • Performing job interviews
  • Organizing hackathons
  • Organizing and performing 1 on 1's and feedback sessions
  • Lots more that I can't remember
2016

Freelance

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

  • RAT Android app with hand-built (lol don't do that) TCP communication protocol
  • Java C&C server
  • ExpressJS file server
2007 - 2016

Bartender & Manager - Café de Laurierboom

9 Fantastic years working and running the family bar.

  • Cash counting Android app connecting to (dad's) custom-built Access back office
  • Python server for syncing data
  • Small contributions to AOSP Cyanogenmod
  • Android APK code injector script h4x
  • 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 | repo

    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