About me
My way of working in a few keywords:
- Collaboration: when working in a team, collaboration is key. On a professional level, this means discussing what to solve and how to solve it. Once that is nailed down sufficiently and clearly written down, all team members can pick up tasks without interfering with each other’s work. It is equally important to maintain a good group dynamic. Discussing the latest and greatest games over coffee, for example, or playing a board game during lunch.
- Self-sufficient: after discussing what needs to be done, it’s time for action! Once we, as a team, know what needs to be done, I can independently work on tasks and bring them to a successful conclusion. I continuously assess what the priority of each task is, and make sure to tackle the most important work first. When I have questions or hit a roadblock, I will proactively discuss these with other team members. That means I’m not waiting for anyone to ask me if everything is going smoothly, I make sure I can stay productive.
- Versatile: I have a broad interest in everything that has to do with programming. I know the basics of many technologies. That means I can get started a very wide range of tasks: high-performance GPU visuals, Java applications for desktop, robust server-side solutions, Javascript Solutions for in the browser, mobile applications for Android, you name it …
- Eager to learn: I can quickly get started with new technologies. I follow technology sites like Hacker News and follow up on technological trends. If anything interests me, I try it I’ll dig a little deeper into the documentation and experiment where possible.
- Fit and finish: I think the quality of my work is important. The task isn’t done simply when “it works”. A task is only truly finished when it is sufficiently tested and documented, and the code factored appropriately.
- Engaged: A better world starts with yourself. I try to look past the end of my nose and make choices that are not beneficial to just myself, but to my team and society at large.
Outside of work, I am also a devoted husband, father of 4, avid badminton player and a potter.
Career
As a senior software engineer, I was responsible for delivering roadmap features.
This went from the conceptual phase to the finishing phase. In other words, I
- sat down with the product manager and CEO to clarify requirements
- consulted with our architects to work out the design of the features
- managed a team to implement the functionality
- also co-wrote the code myself
For two years I was in charge of one of two developer teams at Datadobi. The focus here was on coordination and team working.
In this role I
- held regular one-on-one meetings with my 6 team members, 3 of which were remote
- followed up on the status of the various projects that were assigned to my team
- reported to the management team on progress and obstacles
- did the necessary administration for those team members who worked as consultants for Datadobi
After two years we hired a VP of Engineering, who took over many of these responsibilities.
I held this position in addition to my role as senior software engineer.
As a support engineer I helped customers when they had technical problems with our software or had problems with their migration projects. I also participated in the telephone on-call rotation.
As a software engineer I worked on various functionalities in all Luciad products.
Among others:
- Editing recorded radar data in a Java Swing-based desktop application
- Introducing “Clustering” to make visual analysis of nearby points on the map clear
- Extending an HTML5 based browser product with OGC WMS GetFeatureInfo support, an important open standard
- Extending the LuciadMobile Android library with support for a specific format for satellite images
- Bugfixes and improvements requested by customers
For 4 releases of our products, I managed 4 different teams to implement various features:
- Clustering (see above)
- Adding macOS support for OpenGL based applications
- Improvements to the speed and smoothness of visualizing satellite data
- Providing server-side solutions for managing large point cloud data sets.
As release engineer I was responsible for
- all build processes of all Luciad products
- maintaining all infrastructure for the build processes and automatic tests, in consultation with our system administrators.
- building and distributing patch releases on time
Some important things I achieved as a release engineer:
- modern source control: conversion from CVS to Mercurial, with full preservation of history.
- introduction of continuous integration: installation of Jenkins as CI server, and all processes to immediately start all compilation jobs and automatic tests with every change in source control.
As a quality controller I was responsible for the coordination in the development of new versions of our products
- coordinating all intermediate ‘milestones’, so that the different teams were ready at each milestone. Starting in 2008, I coordinated 2 releases per year, on time and with high quality.
- planning manual tests at each of these ‘milestones’.
- Setting up and adjusting ISO 9001:2015 processes in a Quality Management System.
As a support engineer I helped customers when they encountered technical problems with our software.
Education
Specialisation ICT. Graduated magna cum laude
Languages
| Language | Comprehension | Writing | Speaking |
|---|---|---|---|
| Dutch | Native tongue | Native tongue | Native tongue |
| English | Excellent | Excellent | Excellent |
| French | Good | Moderate | Moderate |