Résumé

Work Experience

Dimenco

Product Owner Calibration, January 2023 – Present
(LeiaInc acquired Dimenco in September 2023)

A separate team has been formed to manage the increasing number of pieces of factory equipment delivered to customers. Hardware, software, support, delivery, operations, are all under one team. I was the single manager responsible for all of the calibration team’s activities.

Delivering new pieces of equipment to customers, was at first a rather chaotic process. There were no clear procedures in place for manufacturing and releasing new equipment, new software, providing technical support. There was no overview of all equipment in the field or in production. I quickly prepared these procedures and administration to get a grip on this process. At the customer side, I introduced operator training as an integral part of the delivery.

Once the routine of producing equipment was in place, there was an opportunity to streamline the license fee payment per unit produced. This number of units was not independently verifiable. We worked with a company that specializes in software licenses to introduce a software license to our system. I took an active role throughout the project. Our team implemented storing unique keys with the calibration data, which must be present for the device to function.

To make our own operations more efficient, we outsourced hardware manufacturing to an external vendor and improved the order process and inventory administration for materials. We can now order a new piece of equipment on demand, with a fixed price and lead time. We introduced installers for our own software for fast installation.

The machines themselves were made more accurate and faster, allowing more products to be produced.

Dimenco

Product Owner Software, January July 2020 – December 2022

The first client will bring autosteroscopic 3D displays to the mass market in the form of a 3D laptop. The collaboration with the client is crucial to make the product a success.

As product owner, I was responsible for defining what software features are to be implemented on the SR Platform. These were presented as product roadmaps to management and customers, and an up-to-date product backlog for the engineering team.

I helped this customer bring the product to market. In the following years, this customer would continue to launch 4 other products. This convinced other customers to follow later, of which 2 have launched products of their own. More are in other stages of launching a product (as of 2023).

Technical points of concern were the low reliability of the software platform and the quality of the eye tracking. I introduced a new QA role within the team to find and fix the many small bugs in the system. The number of tests and iterations was slowly increased with each release. At one time, a failure that used to be common did not occur once in 10 000 repetitions before it was declared fixed.

The point of eye tracking quality was addressed by linking arms with an AI strategic partner specializing in eye tracker software. Our task was to evaluate the quality of the eye tracker on many different metrics, both quantitative and qualitative. We did extensive user trials before launch of the new eye tracker. Special attention was given to tracking faces of different ethnicities and of masked faces.

Alstom

Software Engineer, January 2020 – June 2020

The VIRMm train series dates from the early 1990’s. By 2020 it is becoming increasingly difficult to find replacement parts for the control systems. The choice was made to modernize the hardware and software. For the Dutch national railways (NS), Alstom would port the existing software to run on contemporary systems.

My main contribution was to help TMC in their bid on this project in the first place. This included making a project plan and quote together with the account manager, for which I did a deep dive into all technical aspects of the project. I analyzed project scope and risks, estimated the effort required, as well as more technical investigations into porting old Turbo C++ to modern C++14 standards, and moving from a 16-bits to a 64-bits architecture.

In the project itself, I rewrote the communication layer between the train system and the outside diagnostics systems. I built the software for maintenance staff from scratch in C#.NET/WPF, and wrote documentation for it. This maintenance software was designed such that maintenance staff experienced in the older version would not have to be retrained, while still offering a more modern application.

Philips Healthcare

Lead Software Designer, March 2019 – December 2019

The Hemo system combines sensor information about the patient’s heart collected by a third-party device. It shows this information to the physician during heart operation. It interfaces with other hospital systems for auditing, medical decision making and billing.

The current third-party device is scheduled for end-of-production. A new device from a different vendor was found which was vastly different than the previous device, but also provided new business benefits.

As team lead, improving the engagement of the team has been a very rewarding task. We also directly involved clinical experts in the development process. Technically, I implemented tickets as part of a Scrum team, wrote and reviewed requirements documents, started a project on technical debt reduction, and diagnosed field issues from log files.

Before I started, the team had a problem with frequent missed deadlines. I worked on improving the team’s output and predictability, while also working with product owners and clinical experts on realistic goal-setting and planning. This resulted in releases which were on time. Our release for the new device was even ahead of schedule, in time for the previous device’s end-of-production date, allowing uninterrupted delivery to customers.

Dimenco

Software Architect, September 2018 – February 2019

Simulated Reality aims to blend the real and virtual by providing 3D displays, 3D audio and haptic controls and feedback – without any wearables.

Design and implement a Software Development Kit for third-party developers to create their solutions on Simulated Reality products. The SDK is used by a game development studio to develop a demonstration for a prestigious exhibition in 4 months. Demonstrated the finished product at the Consumer Electronics Show 2019, Las Vegas. Praised for reliable and accurate estimation

Modular architecture allows adding, removing or replacing processing blocks easily. Simple interface for third-party developers using C++, C, C# or Unreal Engine 4.

TNO-ESI, Thermofisher

Scientific Programmer, November 2017 – August 2018

The Renaissance project makes tools for large-scale refactorings on large (millions of lines) legacy codebases. It (1) extracts a model from source code (in C++, IDL/COM, C#), (2) allows analysis and transformation on the model, and (3) applies the transformations to the source code.

Bring the prototype tools to a finished product usable by software architects outside the project. This includes much refactoring and redesigning, documentation and testing. We organized a training session where software architects were able to use the product within only an hour of training.

Improve the performance of the model extraction. Analyzing 4 million lines of code is no small task. The prototype took 5 hours to produce a model from the code base. I reduced this to 2 hours. Moreover, I made the model extraction modular, meaning users can analyze only the part of the code base they are interested in in a fraction of the time.

Made a robust, tested and reliable product. The model extraction now runs every night without failing, in time to deliver an analysis report to the engineers at the start of their day.

Sioux CCM

Software Designer, July 2017 – October 2017

Our team developed a handheld real-time 3D scanner from the ground up. The user slowly moves the device along the object, and the system makes a 3D scan in real-time. Being a handheld device, the hardware needs to be light and small, which increases the software challenge to reach the desired accuracy. Furthermore, processing should be real-time on a typical consumer laptop.

Implemented realistic 3D rendering.

Improve the computer vision algorithms. In a short time, I learned how the computer vision algorithms worked and was able to make substantial improvements. Benchmarks showed that my improvements increased the number of recognized points by more than 25% and greatly reduced point mislabeling. This improves the scan accuracy and resolution.

Designed a user feedback system to improve the scan quality. It matters how the user makes the scan, so the user feedback system intuitively guides the user to obtain the best result.

Skalar Analytical

Software Engineer, December 2016 – June 2017

Skalar Analytical manufactures machines for performing chemical experiments. Their Robot product can be fitted with shakers, heaters, diluters, measuring devices and other equipment to perform any experiment the customer wishes.

The software department wanted to make the software as versatile as the hardware configuration. The robotics project was a rewrite of core functionality, to be more flexible, robust and maintainable. 

Designed the communication module of the robot to be fully independent of protocol details. The software contained the raw instructions directly in many places, including control bytes and other protocol details. I singled out all of the protocol functionality into a separate module. The result of this was two-fold: first, the main application does not have to deal with protocol details. Second, the protocol can now be changed without changing the main application.  

Improved the movement functionality. Before, the movements were rather detailed movement instructionsThis can be rather complex, as multiple moving parts can collide and the application programmers needed to check for that. The firmware requires this detail, but the application programmers only wanted to move to a fixed position, so separated the details required by the motor instructions to a “go to position” function. This logic finds its way to the destination. The algorithm was an adaptation of BFS to a grid graph. The algorithm avoids collisions, making it impossible for the application programmers to accidentally cause a collision. We also implemented obstacle avoidance around stationary objects, a new feature

Mapscapems_logo_transparant

Software Engineer, May 2016 – November 2016

Mapscape creates maps for use in car navigation systems and similar products. The real-world data is provided from different suppliers and is being combined at Mapscape according to the wishes of their clients, which are well-known car manufacturers. Together with their parent company NavInfo, Mapscape delivers maps for every region of the world.

The Location Input team is responsible for everything to do with names. This involves names in many different languages, writing systems or organization systems (street naming, house numberings, postal codes). Finally, it includes phonetic names, for example in speech recognition or text-to-speech features.

The software engineers manipulate the map databases in C++ with SQL. Because of the high detail of Mapscape’s maps, these databases are large. Furthermore, with maps from all over the globe, every seemingly impossible corner case is probably reality in some distant corner of the world. Accurately handling every possible map, however strange, is an interesting challenge.

TMC

Employeneur Software, May 2016 – July 2021

Improving my skills in software development at different assignments. Following courses for self-improvement, both in hard skills and soft skills.

RWTH Aachen University2000px-RWTH_Logo_3.svg

Research assistant, February 2013 – January 2016

In the Distributed MILS project, designed the software modeling language MILS-AADL and was lead programmer for the team implementing this language in the COMPASS verification suite. The verification suite reads the model, translates it to an internal data structure, and checks the model’s consistency. It then interfaces with various back-end verification tools to perform the verification and displays the results to the user.

Developed a verification technique for MILS-AADL based on security type checking. This resulted in the paper “Security Type Checking for MILS-AADL Specifications”, published by the International MILS Workshop 2015.

Give lectures for the practical sessions for the university courses “Introduction to Model Checking” and “Semantics of Programming Languages”. This includes preparing the weekly homework exercises, grading the solutions, and preparing the exam exercises.

Co-supervise a student’s Master’s thesis. In this thesis, we explore a case study in formal modeling and verification for a file system with mandatory access control: Files that are designated to be confidential, can only be accessed by users who have clearance for confidential files. I supervised the student in her research approach and execution, technical writing and the final presentation.

For the MOVES seminar course, supervise students in improving understanding of academic literature, technical writing skills and presentation skills. The students are required to perform literature research, write an academic paper and give a presentation on a topic related to formal verification of software.


Education

Msc. Computer Science & EngineeringLogo TUE

Graduated cum laude, 2013

Completed my thesis on “Symbolic Compositional Model Checking for mCRL2” under the supervision of Tim Willemse. The bulk of this work is in defining a syntactic rewriting procedure for model checking problems and in proving its correctness. The thesis was awarded a 9 in the Dutch grading system.

BSc. Technische InformaticaLogo TUE

Graduated with honors, 2010

Completed the two-year extracurricular Honors program for outstanding students. The Honors program consists of both courses and research projects across disciplines. One research project on the perception of rubbing sounds with Dik Hermes resulted in an academic publication.

Completed the minor program Entrepreneurship at the Department of Industrial Engineering. The program includes courses on business strategy, accounting, intellectual property, and others. As a final project, I wrote an excellent business plan for a real-world startup company.