Dutch / Nederlands

Curriculum Vitae of Frans Faase

Contact: email. Personal website. Personal GitHub account.

Summary

Senior software engineer with experience primarily using C(++) in technical environments, client software in mechatronics solutions, and one year of experience with embedded software. Sufficient knowledge of mechatronics and electronics to develop software that works with them.

Education

Personal characteristics

I see myself as a senior software engineer who: I am a creative thinker and gifted with respect to nonverbal, visual and spatial intelligence. I beat most, often all, of my colleagues in programming challenges, such as Advent of Code using plain C. In 2024, I was the 1719th contestant to complete the challenge. See my personal stats. I am great at finding and implementing algorithm sometimes finding solutions that a hundred times faster. I am the guy that find the cause of bugs that others could not find after searching for days or weeks.

Work experience

September 23, 2024 - September 22, 2025: Senior software engineer at KITT Engineering

Developed embedded software in C. This included developing a custom Hardware Abstraction Layer (HAL) for a number of peripherals including I2C at the level of reading and writing to hardware registers. The work included studying data sheets for sensors and actuators.

Also gained some experience with embedded Linux using Yocto and editting device tree for an Arm Cortex SoM.

October 2019 - April 2024: Senior software engineer at Bond3D

Worked on the development of the Bond3D Slicer in C# in close cooperation with other departments. Also fulfilled the role of product owner, keeping contact with other department, prioritizing issues, and support other software engineers in solving the issues. Developed domain knowledge of printing with Poly-ether ether ketone (PEEK).

The Bond3D Slicer takes as input a 3D model (in the form of STL files) and slices this into slices with a given thickness, generate paths according to settings, determine a sorting order for the paths, connecting them with travel movements, and generate G-code that is ready to be sent to the printer for printing the parts. I developed several algorithms to improve printing and slicer performance (a few with a factor of more than hundred).

Because of the experimental nature of the Bond3D Slicer, it has large number of settings, which often interact with each other. I also developed a repository to store and manage settings and device definitions. This repository was implemented with a REST based interface with a web server executing stored procedures in a Microsoft SQL Server database.

For the slicer settings, I maintained the wiki with the documentation of all the settings and their possible interactions. In doing so, I became the expert with respect to these settings.

(I left Bond3D on my own accord because in the last year management wanted to revert from CI/CD to the waterfall model of software development and because of organizational changes. After a few months, a major reorganization took place, followed by a takeover.)

October 2018 - October 2019: Senior software engineer at ADLINK Hengelo

Worked on the development of an IDL compiler for Eclipse CycloneDDS in C. My commits to the project. Also worked on documentation for Vortex Lite. Gained experience with cmake, Doxygen and Sphinx.

(After one year, I decided not to continue my contract because work on the open source CycloneDDS project did not match well with the other commercial activities.)

April 2002 - October 2018: Software engineer at BiZZdesign B.V.

At BiZZdesign I worked on the development of the BiZZdesign Architect applications for respectively modeling business processes and enterprise architecture according to the ArchiMate methodology. These applications are developed in C++ with Visual Studio 2008. Among other things, I worked on the development of:

(I left the company on my own accord, looking for a new challenge.)

July 2001 - March 2002: Senior software engineer at TLI B.V.

Telic makes an ERP application based on software generation. Further developed client application in Visual Studio C++ with OBDC, OleDB, and COM.

(Contract was terminated due to bankruptcy.)

April 1999 - July 2001: Software system designer at Philips Analytical B.V.

In my position I have been very closely involved in the development of the SuperQ application, which is used for all high-end X-ray fluorescence spectrometers, for which Philips Analytical (now Malvern Panalytical) is the global market leader. The package is implemented in Visual Basic 6.0 and consists of several COM servers and MDI programs running in parallel.

(I left the company on my own accord for a job closer to home.)

September 1997 - April 1999: Software engineer at Tecnomatix B.V.

The work concerned the further development of the PART application in C++, SQL (Oracle), ACIS and X-windows (Motif). Technomatix is now part of Siemens.

June 1994 - September 1997: Research assistant at the ESPRIT project TransCoop at the University of Twente

In cooperation with GMD from Germany and VTT from Finland. The project investigated cooperative transaction models and the specification of cooperative scenarios. I have been involved in Work Package 2: "Analysis of selected applications" and Work Package 4: "Design of the specification language". The specification language is based on process algebraic language LOTOS and the database specification language TM. A compiler was developed in C++ for this specification language and a simulation environment including Java.

January 1990 - June 1994: System analyst/programmer at Seki-Riesewijk B.V.

Working as software developer for various applications developed using C. The main activities concerned the development of a multi-user database system for the storage and selection of graphic data (in the AutoCAD format) and several couplings with AutoCAD.

March 1986 - March 1988: Employee at University Twente

Worked as an education employee (MOW) and as a research employee (MOZ), at the department of Theoretical Computer Science and Formula Manipulation (TIF). The teaching task consisted of giving introductory programming lessons in PASCAL and supervising students with their graduation assignment. The research was carried out at the translator construction group and consisted of developing and documenting a component of a compiler-compiler. See: Documentation and Source of the AAPT-Evaluator Generator. (Part of this work also formed the basis of SLADE.)

Summary of experience and skills

Publications