Engels / English
Curriculum Vitae of Frans Faase
Contact: email.
Persoonlijke website.
Persoonlijk github account.
Samenvatting
Senior software engineer met voornamelijk ervaring met C(++) in technische
omgevingen, client software in mechatronica oplossingen en een jaar ervaring
met embedded software. Voldoende kennis van mechatronica en electronica om
software te ontwikkelen die daarmee samenwerkt.
Opleidingen
- Augustus 1967 - Mei 1973: Basisschool.
- Augustus 1973 - Mei 1981: HAVO en VWO.
(VWO cijferlijst)
- Augustus 1981 - Maart 1986: Informatica aan Universiteit Twente. Afgestudeerd bij de vakgroepen Theoretical
Computer Science and Formula Manipulation (TIF) en Computer Architecture
and Programming Tools (CAP). De afstudeeropdracht was
An attribute evaluator generator en werd gedaan
bij de compiler constructie groep van TIF. Met lof geslaagd.
(Cijferlijst)
Persoonlijke karaktertrekken
Ik zie mezelf als een senior software engineer die:
- beseft dat alles draait om samenwerking met collega's en eindgebruikers,
- altijd klaarstaat om vragen te beantwoorden of een kijkje te nemen,
- een sterk verantwoordelijkheidsgevoel heeft,
- risico's kan inschatten en prioriteiten kan stellen,
- zijn werk zelfstandig organiseert,
- een pragmatische houding heeft en complexe problemen in kleinere stappen
kan opsplitsen en deze indien nodig aan anderen kan delegeren,
- graag zijn ervaringen gebruikt om andere ontwikkelaars te helpen groeien,
- een voorkeur heeft voor continuous integration / continuous delivery (CI/CD).
Ik ben een creatieve denker en begaafd met betrekking tot non-verbale, visuele
en ruimtelijke intelligentie. Ik versla de meeste, regelmatig alle, van mijn
collega's in programmeeruitdagingen, zoals Advent of Code met behulp van gewoon C. In 2024 was ik de 1719te deelnemer
die alle puzzels oploste. Zie mijn persoonlijke statistieken.Ik ben goed in het vinden en implementeren van
algoritmen, soms met oplossingen die honderd keer sneller zijn. Ik ben vaak
degene die de oorzaak van bugs vindt die anderen niet konden vinden na dagen of
weken zoeken.
Werkervaring
23 september 2024 - 22 september 2025: Senior software engineer bij KITT Engineering
Werkte aan embedded software in C. Dit omvatte het ontwikkelen van een
applicatie specifiek Hardware Abstraction Layer (HAL) voor een aantal
peripherals, waaronder I2C op het niveau van lezen en schrijven naar
hardwareregisters. Het werk omvatte het bestuderen van datasheets voor sensoren
en actuatoren.
Daarnaast ook enige ervaring opgedaan met het ontwikkelen van software voor
een embedded Linux toepassing met de Yocto ontwikkelomgeving en het inrichten
van de device tree voor een Arm Cortex System-on-Module.
Oktober 2019 - April 2024: Senior software engineer bij Bond3D
Werkte aan de ontwikkeling van de Bond3D Slicer in C# in nauwe samenwerking met
andere afdelingen. Vervulde ook de rol van product owner, hield contact met
andere afdelingen, prioriteiten bepaalde voor de issues en andere software
engineers ondersteunde bij het oplossen van de issues. Ontwikkelde domeinkennis
van printen met Polyether ether ketone (PEEK).
De Bond3D Slicer neemt als invoer een 3D-model (in de vorm van STL-bestanden) en snijdt dit in plakken (slices) met een bepaalde dikte,
genereert paden volgens instellingen, bepaalt een sorteervolgorde voor de
paden, verbindt ze met verplaatsingsbewegingen en genereert G-code die klaar is
om naar de printer te worden gestuurd om de onderdelen te printen. Ik
ontwikkelde verschillende algoritmen om de print- en slicerprestaties te
verbeteren (een paar met een factor van meer dan honderd).
Vanwege het experimentele karakter van de Bond3D Slicer heeft het een groot
aantal instellingen, die vaak onderlinge afhankelijkheden hadden. Ik
ontwikkelde ook een repository om instellingen en apparaatdefinities op te
slaan en te beheren. Deze repository werd geïmplementeerd met een
REST-gebaseerde interface met een webserver die stored procedures uitvoert in
een Microsoft SQL Server-database.
Voor de slicer-instellingen heb ik de wiki beheerd met de documentatie van alle
instellingen en hun mogelijke interacties. Hierdoor werd ik de expert met
betrekking tot deze instellingen.
(Ik heb Bond3D op eigen initiatief verlaten omdat het management er op aandrong
om CI/CD te vervangen door de watervalmethode van software ontwikkeling en vanwege organisatorische
veranderingen. In de maanden na mijn ontslag volgde er een grote reorganisatie
gevolgd door een overname.)
Oktober 2018 - Oktober 2019: Senior software engineer bij ADLINK Hengelo
Gewerkt aan de ontwikkeling van een IDL compiler in C voor Eclipse
CycloneDDS. Mijn commits voor het project. Ook gewerkt aan de documentatie voor Vortex
Lite. Ervaring opgedaan met cmake, Doxygen en Sphinx.
(Besloten om mijn jaarcontract niet te verlegen omdat de open source
ontwikkeling van het CycloneDDS project niet in lijn was met de
commerciële doelstellingen.)
April 2002 - Oktober 2018: Software engineer bij BiZZdesign B.V.
Bij BiZZdesign heb ik gewerkt aan de ontwikkeling van de BiZZdesign Architect
applicaties voor respectievelijk het modelleren van bedrijfsprocessen en
enterprise architectuur volgens de ArchiMate methodologie. Deze applicaties zijn ontwikkeld in C++ met Visual
Studio 2008. Ik heb onder andere gewerkt aan de ontwikkeling van:
- Een revisiebeheersysteem dat het mogelijk maakt om met meerdere mensen
tegelijk een enkel model te bewerken. Dit maakt gebruik van een geavanceerd
semantiek-gebaseerd locking systeem.
- De implementatie van een repository voor modellen in een relationele
database.
- Een scripttaal en evaluator voor het bevragen van modellen.
- Verschillende importfuncties van third party modellen: BWise, Protos,
CaseWise en Archi.
- Gewerkt aan de ontwikkeling en implementatie van het ArchiMate uitwisselingsformaat, mede-auteur van A Guide to the ArchiMate® Model Exchange File Format.
(Ik heb het bedrijf op eigen initiatief verlaten, op zoek naar een nieuwe uitdaging.)
Juli 2001 - Maart 2002: Senior software engineer bij TLI B.V.
Telic maakte een ERP application baseerd op software generatie. Onderhoud
gepleegd aan de client applicatie in Visual Studio C++ with OBDC, OleDB, and
COM.
(Het contract werd ontbonden vanwege een faillissement.)
April 1999 - Juli 2001: Software system designer bij Philips Analytical B.V.
Ik was nauw betrokken bij de verdere ontwikkeling van de
SuperQ applicatie, die werd gebruitk voor de high-end X-ray fluorescentie
spectrometers vaak voorzien van een sample handling robot, voor welke Philips
Analytical (nu Malvern Panalytical) de globale martkleider is. De applicatie werd
ontwikkeld in Visual Basic 6.0 en bestond uit verschillende COM gebaseerde
servers en MDI applicatie die parallel draaide.
(Ik heb het bedrijf op eigen initiatief verlaten op zoek naar een baan dichter
bij huis.)
September 1997 - April 1999: Software engineer bij Tecnomatix B.V.
Het werk bestond uit het verder ontwikkelen van de PART applicatie in C++, SQL
(Oracle), ACIS en X-windows (Motif). Technomatix is nu onderdeel van Siemens.
Juni 1994 - September 1997: Research assistant bij the ESPRIT project TransCoop aan de Universiteit Twente
In samenwerking met GMD uit Duitsland en VTT uit Finland. Het project
onderzocht coöperatieve transactiemodellen en de specificatie van
coöperatieve scenario's. Ik was betrokken bij Werkpakket 2: "Analysis of
selected applications" en Werkpakket 4: "Design of the specification
language". De specificatietaal is gebaseerd op de procesalgebraïsche taal
LOTOS en de databasespecificatietaal TM. Er werd een compiler ontwikkeld in C++ voor deze specificatietaal en een
simulatieomgeving met Java.
January 1990 - June 1994: System analyst/programmer bij Seki-Riesewijk B.V.
Werkzaam als softwareontwikkelaar voor diverse applicaties ontwikkeld met
behulp van C. De hoofdwerkzaamheden betroffen de ontwikkeling van een
multi-user databasesysteem voor de opslag en selectie van grafische gegevens
(in het AutoCAD-formaat) en diverse koppelingen met AutoCAD.
Februari 1986 - Juni 1989: Medewerker bij de Universiteit Twente
Gewerkt als medewerker onderwijs (MOW) en als medewerker onderzoek (MOZ), bij de
vakgroep Theoretische Informatica en Formule manipulatie (TIF). De onderwijstaak bestond
uit het geven van inleidend programmeeronderwijs in PASCAL en het begeleiden van
studenten bij hun afstudeeropdracht. Het onderzoek werd uitgevoerd bij de groep
vertalerbouw en bestond uit het ontwikkelen en documenteren van een onderdeel van een
compiler-compiler. (Een deel van dit werk heeft ook aan de basis van
SLADE gelegen.)
Samenvatting van ervaring en vaardigheden
- Allround software engineer met een sterk kwaliteitsgevoel.
- Bekend met moderne softwareontwikkelingstechnieken en -standaarden.
- Wordt vooral aangetrokken door complexe problemen: complexe algoritmen,
parallelle systemen, complexe implementaties en grote systemen.
- Geïnteresseerd in en ervaring met het ontwikkelen van compilers en softwaretools.
- Goed bekend met objectgeoriënteerde methoden en implementatietechnieken.
- Ervaring met systeemontwerp en softwarearchitectuur.
- Ervaring met reverse engineering en dataconversies.
- Onderzoekservaring met betrekking tot coöperatieve systemen, met name
met betrekking tot transactiemodellen en formele specificatiemethoden.
- Meer dan 20 jaar programmeerervaring in C en C++ (MSVS, g++, clang++).
Daarnaast ervaring met C#, Java, JavaScript en vele anderen.
- Bekend met verschillende IDE's: Visual Studio, Eclipse, Visual Studio Code.
- Ervaring met relationele databases, waaronder SQL Server en Oracle.
- Ervaring met verschillende soorten CAD/CAM-systemen.
- Ervaring met de volgende besturingssystemen: Windows, Linux (Ubuntu, Arch)
Publicaties
- Andrew Josey, Phil Beauvoir,
Frans Faase, A Guide to the ArchiMate® Model Exchange File Format
- ArchiMate® Model Exchange File Format (contributor)
- Frans Faase, Arno Harteveld, Roland Hartman,
XP maakt korte metten met bestaande ontwikkelingsmethoden,
p. 17, Automatisering Gids,
nr. 35, September 1, 2000.
- F.J. Faase, S.J. Even, R.A. de By, The Transcoop Specification
Environment, Chapter 6 in Transaction Management Support for Cooperative Applications,
R.A. de By, W. Klas, J. Veijaleinen
(editors), Kluwer Academic Publishers, 1998. ISBN 0-7923-8100-9.
(Technical report)
- F.J. Faase, On counting specific spanning subgraphs of the graphs
G x P_n, Ars Combinatoria, Volume 49, August 1998.
- F.J. Faase, S.J. Even, R.A. de By, P. Apers,
Integrating Organisational and Transactional Aspects of Cooperative
Activities. 6th International Workshop on Database Programming Languages
(DBPL).
- S.J. Even, F.J. Faase, R.A. de By,
Language Features for Cooperation in an Object-Oriented
Database Environment, International Journal of Cooperative
Information Systems. Vol 5, No. 4 (1996) 469-500.
- P.A.C. Verkouwen, F.J. Faase, A.W. Selders and P.J.J. Oude Egberink,
Requirements for an Advanced Database Transaction Model to Support
Design for Manufacturing,
"Flexible Automation and Intelligent Manufacturing"
conference in Stuttgart, 1995, Begell House, New York.
- H. Alblas and F.J. Faase, Attributed Abstract Program Trees,
in Essays on concepts, formalisms and tools, p. 217-230,
Stichting Mathematisch Centrum, Amsterdam.
Beschikbaarheid
Hoewel ik op dit moment werkloos ben, ben ik nog niet actief op zoek naar een
nieuwe baan. Wat betreft software ontwikkeling gaat mijn voorkeur nu uit naar
freelancer werk, omdat intrinsieke motivatie voor een project voor mij erg
belangrijk is gebleken.
Ik voel me vooral aangetrokken tot projecten die een positief effect hebben op
de maatschappij of op de gezondheid van individuen. Ik ben er ook achter
gekomen dat het mij meer aanspreek om beloond te worden voor het leveren van
een dienst (software die werkt zoals de klant verwacht) dan betaald te worden
voor mijn aanwezigheid op vaste werktijden. Ik werk het liefst op basis van
"no cure, no pay", waarbij de facturatie pas plaatsvindt na oplevering van de
software, in overleg met de klant.