Montreal, Quebec, Canada
I am a software developer, entrepreneur, instructor, and technical communicator with over twenty five years of professional experience. My passion is solving software related problems, and making software more effective and accessible.
I am working on the next generation of 3D CAD and BIM tools for AEC professionals. I regularly write code in C#, TypeScript/JavaScript, GLSL, and C++. I have developed a high-performance real-time rendering engine using OpenGL that can handle millions of instanced objects. I work regularly with numerous APIs, data formats and libraries, including, but not limited to, Revit API, IFC, Three.JS, Unity, React, and WPF. I do a lot of work with geometry algorithms, and have designed several high-performance data formats for geometry and BIM (Building Information Model) data. I developed my own programming language, Plato, for designing the data-structures and algorithms used in the math and geometry processing modules.
Taught CS321, Advanced Programming Techniques, and the associated lab. Covered algorithms, data-structures, and basic software engineering using C#
Responsible for company research strategy, developing technological innovation, managing a portfolio of intellectual property, and applying research to current and near future products. Lead and contributed significantly to development of 3D geometry processing pipelines and data formats for extracting large amounts of BIM data from Revit, IFC, and Navisworks for real-time immersive experiences, web-applications, Power BI analytics, game-engines, and desktop applications. Developed numerous features and prototypes using C#, C++, JavaScript, and TypeScript.
As a senior member of the Clemex R&D team, I helped in a number of areas including mentoring and guidance of team members, interviewing candidates, defining job roles, and full-stack software development in JavaScript, TypeScript, Python, and C++, along with some product manager and product owner responsibilities.
Worked in various roles at Autodesk including Principal Software Engineer on the 3ds Max team. Developed features and samples using C#, C++, Python, JavaScript, and MAXScript. Designed a visual programming language for 3ds Max 2016 called MCG (Max Creation Graph). Worked with numerous product APIs, libraries, and frameworks.