My name is Jacques de Hooge and I am specialized in designing and building technical and scientific software. Via my one man company, GEATEC engineering, I've worked for diverse large and small companies, often as lead engineer in a team of developers, the other team members being employees of the company concerned.

My added value is an unusually deep experience with the development of very diverse and often innovative applications, ranging from real time controls of container cranes, via flow simulation of oil fields to software for non-invasive cardiological imaging. Besides these activities I teach Artificial Intelligence, Real Time Control Systems, Image Processing and Mathematics at the Rotterdam University of Applied Sciences and I am co-author a number of scientific publications on Medical Imaging. Also I provide in-house training about diverse aspects of software development, not based on textbook wisdom but on real world development, combined with "hard" theoretical knowledge. Training subjects:

The focus and level can be tuned to the needs of your company.

If I have a choice, I prefer developing technical and scientific software using a combination of C++ and Python. This combination, if used sensibly, leads to maintainable, portable and efficient software, the latter both with regard to development and execution. However, I also have broad experience with other development platforms and languages, ranging from PLC's to Java, C#, Fortran, Pascal, Basic and diverse assembly languages.

Often I get involved in a company at a time when there is already quite an amount of "legacy" software, and developers start running into persistent problems: Adaptation as an answer to new requirements turns out to be increasingly difficult, a thorough redesign is desired, but pressure of current projects leads to postponing this over and over. How to get out of this deadlock without risky "big bang" operations has become my specialty. It boils down to restructuring the software step by step, as a byproduct of running projects, in cooperation with all developers and using their shared knowledge. Even after a relatively short time, development times start to decrease by virtue of the improved structure. This in turn speeds up the restructuring process and enthusiasm grows.

What I can provide, in building new durable software as well as for the described stepwise renovation, is (a lot of) design experience. It is necessary to have a clear image of the end result and to communicate this to all developers. This is not a matter of one way communication, but of respectfully utilizing the insights of the developers that often know the application area involved for many years. My role in this process is "harvesting" these insights and combining them into a robust, modularly testable and extensible design. This is what I'm good at, the proof of the pudding is the eating. Of course extensive references are available at request.

Finally: My cooperation style is straightforward and down to earth, with an open eye for the human aspect. Are you interested, then first take a look at my CV and, if so desired, contact me. This contact and the conversation(s) that follow are non-committal, cooperation is only useful once a basis of mutual trust is established. How to exactly to formalize this is another matter and open to consultation.