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