Movatterモバイル変換
[0]ホーム
Dutch / Nederlands
Curriculum Vitae of Frans Faase
Contact:email.Personal website.Personal github account.Education
- Augustus 1967 - May 1973: Primary education.
- Augustus 1973 - May 1981: Secondary education.(Grade list)
- Augustus 1981 - March 1986: Computer Science at theUniversity of Twente. Graduated from the departments of TheoreticalComputer Science and Formula Manipulation (TIF) and Computer Architectureand Programming Tools (CAP). The graduation assignment entitledAn attribute evaluator generator was carried outat the compiler construction group of TIF. Passed with honors.(Grade list)
Personal characteristics
I see myself as a senior software engineer who:- realizes that everything revolves around collaboration with colleagues andend-users,
- is always ready to answer questions or take a look,
- has a strong sense of responsibility,
- can assess risks and set priorities,
- organizes his work independently,
- has a pragmatic attitude being able to break-down complex problems insmaller steps, and delegate these to others, if needed,
- likes to use his experiences to help other developers grow,
- has a preference forcontinuous integration / continuous delivery (CI/CD).
I am a creative thinker and gifted with respect to nonverbal, visual andspatial intelligence. I beat most, often all, of my colleagues in programmingchallenges, such asAdvent of Code using plain C. I am great at finding and implementingalgorithm sometimes finding solutions that a hunderd times faster. I am theguy that find the cause of bugs that others could not find after searchingfor days or weeks.Work experience
September 23, 2024 - Now: Senior software engineer atKITT Engineering
I am developing embedded software in C. This includes developing a customHardware Abstraction Layer (HAL) for a number of peripherals including I2C atthe level of reading and writing to hardware registers. The work includesstudying data sheets for sensors and actuators.October 2019 - April 2024: Senior software engineer atBond3D
Worked on the development of the Bond3D Slicer in C# in close cooperation withother departments. Also fullfilled the role of product owner, keeping contactwith other department, priotizing issues, and support other software engineersin solving the issues. Developend domain knowledge of printing withPolyether etherketone (PEEK).The Bond3D Slicer takes as input a 3D model (in the form ofSTL files) and slices this into slices with a given thickness, generatepaths according to settings, determine a sorting order for the paths,connecting them with travel movements, and generateG-code that is ready to besent to the printer for printing the parts. I developed several algorithms toimprove printing and slicer performance (a few with a factor of more thanhunderd).
Because of the experimental nature of the Bond3D Slicer, it has large number ofsettings, which often interact with each other. I also developed a repositoryto store and manage settings and device definitions. This repository wasimplemented with a REST based interface with a webserver executing storedprocedures in aMicrosoft SQL Server database.
For the slicer settings, I maintained the wiki with the documentation of allthe settings and their possible interactions. In doing so, I became the expertwith respect to these settings.
(I left Bond3D on my own accord because in the last year management wanted torevert from CI/CD tothe waterfall model of software development and because of organizationalchanges that I am not allowed to disclose at the moment and.)
October 2018 - October 2019: Senior software engineer atADLINK Hengelo
Worked on the development of anIDL compiler forEclipse CycloneDDSin 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 opensource CycloneDDS project did not match well with the other commercialactivities.)
April 2002 - October 2018: Software engineer atBiZZdesign B.V.
At BiZZdesign I worked on the development of the BiZZdesign Architectapplications for respectively modeling business processes and enterprisearchitecture according to theArchiMate methodology. These applications are developed in C++ with VisualStudio 2008. Among other things, I worked on the development of:- A revision control system that makes it possible to edit a single modelwith several people at the same time. This uses an advanced semantics-basedlocking system.
- The implementation of a repository for models in a relational database.
- A scripting language and evaluator for querying models.
- Various import functions of third party models: BWise, Protos, CaseWise andArchi.
- Worked on the development and the implementation of the ArchiMateexchangeformat, co-authoredA Guide to the ArchiMate® Model Exchange File Format.
(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 developedclient 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 theSuperQ application, which is used for all high-end X-ray fluorescencespectrometers, for which Philips Analytical (nowMalvern Panalytical) is the global market leader. The package isimplemented in Visual Basic 6.0 and consists of several COM servers and MDIprograms 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 nowpart of Siemens.June 1994 - September 1997: Research assistant atthe ESPRIT project TransCoop at the University of Twente
In cooperation with GMD from Germany and VTT from Finland. The projectinvestigated cooperative transaction models and the specification ofcooperative scenarios. I have been involved in Work Package 2: "Analysis ofselected applications" and Work Package 4: "Design of the specificationlanguage". The specification language is based on process algebraic languageLOTOS and the database specification language TM.A compiler was developed in C++ for this specification language and asimulation 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. Themain activities concerned the development of a multi-user database system forthe storage and selection of graphic data (in the AutoCAD format) and severalcouplings with AutoCAD.March 1986 - March 1988: Employee at University Twente
Worked as an education employee (MOW) and as a research employee (MOZ), at thedepartment of Theoretical Computer Science and Formula Manipulation (TIF). Theteaching task consisted of giving introductory programming lessons in PASCALand supervising students with their graduation assignment. The research wascarried out at the translator construction group and consisted of developingand documenting a component of a compiler-compiler. See:Documentation and Source of the AAPT-Evaluator Generator. (Part of thiswork also formed the basis ofSLADE.)Summary of experience and skills
- All-round software engineer with a strong sense of quality.
- Familiar with modern software development techniques and standards.
- Is particularly attracted to complex problems: complex algorithms, parallel systems, complex implementations and large systems.
- Interested in and experience with developing compilers and software tools.
- Well acquainted with object oriented methods and implementation techniques.
- Experience with system design and software architecture.
- Experience with reverse engineering and data conversions.
- Research experience with regard to cooperative systems, in particular with regard to transaction models and formal specification methods.
- More than 20 years of programming experience in C and C++ (MSVS, g++, clang++). In addition, experience with C#, Java, JavaScript and many others.
- Familiar with several IDEs: Visual Studio, Eclipse.
- Experience with relational databases including SQL Server and Oracle.
- Experience with different types of CAD/CAM systems.
- Experience with the following operating systems: Windows, Linux (Ubuntu, Arch)
Working conditions
At the moment, I am not open for a new work position.As an older software engineer, I notice that I have different needs thanyounger software engineers. My requirements are mainly in the area of workingconditions, an optimal work-life balance for me, and less in financial rewardand many days off.
I am especially motivated when I can help others with my efforts or help themsolve their problems. I like short lines of communication with the users ofthe software I develop.
I like working in a team, but I also like autonomy with regard to what I workon. I do not cope well with a manager interfering too much with the content ofwhat I have to work on, but a 'product owner' who tells me which issues havethe highest priority, so that I can judge for myself what I can best work on.(I quickly feel responsible and tend to take on too many subjects rather thantoo few.) I like to be able to occasionally spar about my work with someonewho is not substantively involved in my work.
I am a supporter of theManifesto forAgile Software Development. I also like to focus on indicators foreffective software development as, for example, determined byDevOps Research and Assessment (DORA). I prefer a more chaoticdevelopment method over a very structured method (such as Scrum) with manyadministrative steps. I am also not convinced of the usefulness of a dailystand-up meeting. Maintaining documentation for the users is a natural part ofthe development process, but documenting the development process itself isusually a waste of time. I have noticed that I function best when I can workan average of six hours a day. I find it difficult to be present for pay. I amusually present from 10 to 5 (also half past 5) when I work in the office. Ialso like to work half a day from home on Tuesdays and Thursdays. But it alsohappens that I spend them on the weekend or in the evening if I have an issuethat I can solve so that the end users can use it the next day. I have no needfor vacations that last longer than a week. I do like to take a day off everynow and then. I usually have trouble using up my vacation days. I prefer aworkweek of between 24 and 30 hours.
I am not someone who actively exercises (besides taking walks), but I reallyappreciate the exercise of cycling to work. The maximum cycling distance forme is half an hour (one way to the office). That is why I have a strongpreference for working in Enschede when it is required to be in the officemore than a few days per week.
[8]ページ先頭