Jean Belanger (Industrial Physicist)
Summary
Mandate realized in the IT industry for the last 20 years cover a wide range of industrial settings.
Expertise
- Writing efficient code by using modern C++ features, and programming techniques
- Strong technical professional combining computer skills and scientific background
- Ability to analyze and synthesize large quantities of information
- Experienced in Object-Oriented architecture using design patterns to develop reusable component
- Experienced in physics-based simulation (numerical method and scientific library)
- High-level mathematical, engineering and scientific support to solve complex problems
Consultant Work
TEKsystems (June22 – ongoing)
Title | Senior Software Developer |
Project | EA (Math/Physics Lib deprecation) core engine |
Technologies | Math3D, physics engine, Modern C++, real-time, high performance math libraries, Google Unit Test, bash scripting, large system |
Description | Electronic Arts Inc. is a leading global interactive entertainment software company. EA delivers games, content and online services for Internet-connected consoles, personal computers, mobile phones and tablets. |
Responsibilities | Member of the Core Systems Group (Foundation), working on the multi-platform game development engine (developing cutting-edge engine features and tools). Working on the restructuring the engine to allow the deprecation of older Math libraries that are still supported in the code. ■ Clang AST tool programming (scripts to analyze code) address issues by modification to the script ■ Optimization math library (runtime optimization) ■ Runs scripts on subsector of code base ■ run unit tests, check platforms compile |
Morgan Stanley (October 21 – March 22)
Title | Consultant Programmer |
Project | eFX Trading System |
Technologies | C++17, Boost unit test, real-time, SQL, bash scripting, large system |
Description | Morgan Stanley is a world leader in finance. Electronic system (eFX) developed to execute trades through a software system using the FIX (Finance Information Exchange) protocol. Brokers use this to fill orders and track the progress of each order throughout the system. |
Responsibilities | The application is being deprecated and will be replaced by a new re-designed with modern technologies. I was assigned to fix bugs to support the transition towards the latest version of the trading system. Work in a production environment with tied deadlines. ■ Bash scripting to test and validate fixes ■ Integrated new features (in the legacy code) requested by brokers ■ Code analysis (workflow) of a complex and large code base (no documentation) and minimal supervision ■ Perform unit test and system functional test |
Zimmer Biomet Inc. (March 20 – November 20)
Title | Consultant Programmer |
Project | Robotics application (health care) (ROSA release) |
Technologies | C++11, Qt, Qml, Boost unit test |
Description | The Company designs, develops, and markets medical software, instruments and computerized systems designed to help orthopedic surgeons increase accuracy in knee implant surgery. |
Responsibilities | Integrated the Core Technology group supporting the team in delivering the next generation of the major product ROSA. ■ GUI programming (add new functionnalities) ■ Bugs fix to support the major release of the main product ROSA; ■ Integrated Qt Internationalization package with Dynamic Translation ‘’handle Language Change’’ ■ Perform unit test and system functional test ■ Documentation and system test; |
OpenMindCapital Inc (February 2019 – February 2020)
Title | Scientific and Technical Consultant |
Project | Financial application (programming and simulation) |
Technologies | R, Java, MatLab, Java Swing UI, Git, NetBeans, algorithm development, RStudio |
Description | OpenMindCapital is a quantitative and technology driven portfolio manager. Company develops an application a risk management and simulation platform designed to assist in the construction of efficient portfolios. It is written in Java and provides UI modules for easy navigation and report creation. |
Responsibilities | I was responsible for technical aspects financial app this include support, maintenance and development of new functionalities. ■ Design, implementation and tests of algorithmic trading programs ■ Develop simple or complex software functionality but with limited scope ■ Collaborate with the team to define, design, and ship new features ■ Help maintain code quality, organization, documentation and automatization R package development Developed a library (package) written with R language to automate the creation of financial report. Goal was to provides a set of services that will help task of creating report.The package provides services to read data from simulation platform and put it in a format more easily manageable to compute, plot of statistical data. User can create a report with pre-defined set of functions to extract, visualize and make graphical output that can be inserted in a report. Programming (simulation platform) ■ Refactored the FTP library (simulation application): re-design new class to support multiple connection and data provider in more modularity approach; ■ UI programming to the main application (added new report functionalities to main app). Implemented new functionnalty in the report builder; Financial Algorithmic development ■ Implemented/Integrated a new algorithm that compute the rank of a stock portfolio (measuring portfolio performance); ■ shell cmd function to calculate some stock parameter value by simply writing functions … strategy ); |
Adetel Group Inc (April 2018 – February 2019)
Title | Programmer-Consultant |
Project (Mandate) | Major Porting/upgrade streaming engine (video surveillance) |
Technologies | C++, OO, real-time Boost, STL, GStreamer (video streaming) GNU library |
Responsibilities | MPM10 CCTV (Control Console Television Video) console is a real-time complete video surveillance solution with real-time video/audio analytics capabilities, playback live and record video streams. It is used by Montreal public transit transportation (STM). Operators in the control room console can watch remotely constant stream of information from CCTV and surveillance cameras through access of the so-called NVR (“network video recorder”) and to be able to monitor, search, playback, camera viewer, remote live video, recording, and video file verification tool. |
Responsibilities | To migrate (porting) the application to a newer version of GStreamer to fix issues addressed by the customer. GStreamer library (GNU) is an open source multimedia framework which provides services for editing, rendering video/audio content. Purpose of the migration (upgrade) was to support new type of cameras for new Azure vehicle cars they bought. Also, to fix issues addressed by STM with the original version of the application. ■ C/C++ programming in the GLib framework of GNome; ■ Perform Code analysis; ■ Script programming for install process; ■ Upgrade some external lib and drivers; ■ Fix issues and bugs;Programmed new features … provided by the latest version of GStreamer; ■ Adapt code to support GStreamer newer version; ■ Test and validate; ■ Planification (schedule) and workload estimate; |
Technology 20-20 (June 16 – Feb 17)
Title | Consultant Software Developer C++/3D |
Project | Virtual Reality prototype (IKEA VR Extract) |
Technologies | Boost, STL, 3D math (linear algebra), C++11/14, Autodesk FBX, algorithm programming |
Description | IKEA is evaluating bringing more realism in the interior design with the help virtual reality that will allow people to not only experience a full 360° view, but to also experience walking around the virtual models and feel measurement.See video on ’YouTube’.https://www.youtube.com/watch?v=1S0GO5kbMYo,https://www.youtube.com/watch?v=Figi0Wcz2oE |
Responsibilities | Currently developing a prototype to design kitchen using virtual reality technology to evaluate the feasibility of using virtual reality to achieve higher truly three-dimensional (3D) interior design of a kitchen.My mandate was to create an application that takes a 3D model in the proprietary format and convert it to Autodesk FBX format that can be visualized by a virtual reality engine such as UNREAL. The prototype was released in February 2017 in 3 different stores (Canada, Asia and Europe). Tasks ■ Extracted scene graph data model from proprietary format 3D environment information needed to reproduce the whole 3D environment (meshing with polygons) in the new FBX Autodesk format; ■ Developed a library for reading/writing 3D scene graph and convert to FBX; ■ Adapted algorithm for parsing scene graph; ■ Refactored some of the algorithm in a modular approach (API); |
CAE Inc. (Sept. 15 – April 16)
Title | System Software Engineer |
Projects | Modeling And Simulation of Electro-Optical Sensor Systems |
Technologies | C++, Boost, STL, Real-Time, Object-Oriented, Distributed System, Google unit test |
Description | CAE (www.cae.com) is a global leader in providing advanced simulation and controls equipment and integrated training solutions for customers in the civil aviation, military and marine markets.System Engineer in the Electro-Optics group to support the integration of new sensor models in the simulation environment designed for use in (UAS: Unnamed Aerospace System) training system. |
Responsibilities | My responsibilities include participation in the, contributions to software development, system simulation and analysis. ■ Integrate new sensor model in the programming simulation environment (OO framework); ■ Refactored packages for better integration to support new features of image sensor; ■ Perform unit test and system functional test; ■ Documentation and system test; |
Elligno Inc. (March 14 to August 15)
Title | Scientific Programmer |
Projects | Numerical simulation |
Technologies | OON, numerical simulation, C++11/14, Boost, STL, Qt, 3D Modeling (OpenGL), Google unit test, Matlab |
Description | Development of a physics library which is an object-oriented of Dam-Break solution algorithms written in C++ |
Responsibilities | DamBreak++ Physics SimulatorProject is based on an Object-Oriented framework with main objective is to provide a programming environment for the rapid prototyping of mathematical/physics based algorithm using classes at a high abstraction level. In many industrial project, physicist need to experiment, test different alternative and this kind of library is needed to facilitate and accelerate the prototyping phase for programming numerical physics based algorithm. ■ Rewrite some of the numerical algorithm using optimized data structure; ■ Re-factored simulation code and migrated prototype to C++11 to obtain a more scalable and maintainable new generation; ■ Validated the code by using known solution taken from literature; ■ Set up guidelines and policies for automation (unit testing, documentation); ■ Write technical report and make presentation of the software packages; ■ Development of a GUI to facilitate testing and visualizing simulation result; ■ Performed manual testing as needed, create test cases and defect recorded; ■ Design, develop, debugs, performance optimization, and integrate third party library; ■ Review, research, analyze, and evaluate new software techniques, tools for simulation; Technical Report“A C++ Differential Equation Solver using Object-Oriented Numeric” – J. Belanger, Elligno technical report no. TR1-2004-05 () |
Morgan Stanley (Nov. 2012 to Feb. 2014)
Title | Software System Engineer |
Projets (Mandats) | Financial application (trade-support) monitoring and supporting the technical and operational stability of the trading systems |
Technologies | Unix (IBM AIX), Perl, C++, SQL (Sybase), threading |
Description | Top US major bank investment |
Responsibilities | Member of trade-support group, provide real-time front trade-support working directly with the trading desks and operation team to understand and react to issues as they arise during the trading day. Participate to the development and maintenance of the group’s application stack (writing script to monitor, including database load, cache requests, server requests, and outgoing bandwidth). |
L3 MAPS (March 2012 to Oct. 2012)
Title | Consultant-Programmer |
Projets (Mandats) | Computer-generated real-time surgical simulation |
Technologies | C++, Sofa (physics library), 3D, … |
Description | L3 MAPPS is a leading global supplier of naval handling and visual landing aids systems, control and simulation solutions products. Surgery simulator Virtual reality (Training System Simulation) is a networking client-server application (client collecting the data and sending to server to perform analysis by running algorithm (metrics). |
Responsibilities | I was hired as a consultant to develop and implement data gathering algorithm library to provide objective metrics for assessing the technical skills of trainees. Library of validated metrics algorithms, including the time needed to complete a task, errors, economy of motion, and psychomotor tracking, thus recording overall and task-specific scores for each student’s performance. |
Autolog Inc. (March 2011 to November 2011)
Title | Programmer |
Projects | Real-time network application programming |
Technologies | C/C++, OO, real-time, client-Server, TCP/IP, |
Description | Support a real-time (client-server/multi-thread) Windows-based sawmill optimization system |
Responsibilities | Programmed new functionnalities in the main applicationIntegrated a real-time network applications, serves as a backbone in sawmill facility to find an optimal solution to select cuts that maximize profit;Code optimization and solve performance issues; |
FPSC/Cofomo Inc (Jan. 2008 to Feb. 2011)
Title | Contractor |
Project | Migration, technical support and programming |
Technologies | Windows, Unix, C++, Object-Oriented, numerical simulation |
Description | Worked as independent contractor to provides services such as support, maintenance and programming |
Responsibilities | Act as a consultant for government agency to give technical support for the network infrastructure. Also worked as programmer on migration project and support a release product. I have ported an application (multi-threaded) from Windows platform to Unix AIX (IBM); Analyst-Programmer C++ for an Air management Traffic System (bugs fix, software evaluation and recommendation); Contracting government contract (network admin, user support) Worked on my company startup Developed a physics library algorithms written in C++;Implemented a math 3D library with main application in real-time physics modeling; Working on demo to present for collaborative work and partnership; |
Les Entreprises Barrette Inc (Sept. 2007 to June. 2008)
Title | Software Developer |
Project | Defect tracking by image processing |
Technologies | C, C#, OO, real-time, .Net framework, Halcon image library, Numerical Recipes |
Description | Hardwood industry (Imagery defect tracking) |
Responsibilities | Developed an image processing algorithm using a third party library (Halcon) and .Net framework for a sawmill facility.Programs featured an algorithm and image concepts, defined as a sequence of instructions that operates on a set of input images, transforming that information into an output image that is of interest to the user.Implemented a numerical library for shape fitting algorithm using numerical recipes |
Hexagram (June 2006 to October 2006)
Title | Programmer |
Project | 3D software that helps art director in the creation of theatrical scenery |
Technologies | Qt, C++, OO, 3D (Open Inventor), OpenGL |
Description | Support on art director graphics product to solve quality issues and prepare the product for final release |
Responsibilities | written in C++ and Open Inventor3D programmingBugs fix |