Jean Belanger (Industrial Physicist)

Summary

Mandate realized in the IT industry for the last 20 years cover a wide range of industrial settings.

Expertise

  • Software development using modern C++ for effective Object-Oriented coding
  • 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
  • Experience in Object-Oriented architecture integration using design patterns to develop reusable software component or module
  • Experienced in physics-based simulation (numerical method and scientific library)
  • High-level mathematical, engineering and scientific support to solve complex problems

Consultant Work

Morgan Stanley (October 21 March 22)

TitleConsultant Programmer
ProjecteFX Trading System
TechnologiesC++17, Boost unit test, real-time, SQL, bash scripting, large system
DescriptionMorgan 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.
ResponsibilitiesThe 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)

TitleConsultant Programmer
ProjectRobotics application (health care) (ROSA release)
TechnologiesC++11, Qt, Qml, Boost unit test
DescriptionThe Company designs, develops, and markets medical software, instruments and computerized systems designed to help orthopedic surgeons increase accuracy in knee implant surgery.
ResponsibilitiesIntegrated 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)

TitleScientific and Technical Consultant
ProjectFinancial application (programming and simulation)
TechnologiesR, Java, MatLab, Java Swing UI, Git, NetBeans, algorithm development, RStudio
DescriptionOpenMindCapital 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.
ResponsibilitiesI 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)

TitleProgrammer-Consultant
Project (Mandate)Major Porting/upgrade streaming engine (video surveillance)
TechnologiesC++, OO, real-time Boost, STL, GStreamer (video streaming) GNU library
ResponsibilitiesMPM10 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.
ResponsibilitiesTo 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)

TitleConsultant Software Developer C++/3D
ProjectVirtual Reality prototype (IKEA VR Extract)
TechnologiesBoost, STL, 3D math (linear algebra), C++11/14, Autodesk FBX, algorithm programming
DescriptionIKEA 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
ResponsibilitiesCurrently 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)

TitleSystem Software Engineer
ProjectsModeling And Simulation of Electro-Optical Sensor Systems
TechnologiesC++, Boost, STL, Real-Time, Object-Oriented, Distributed System, Google unit test
DescriptionCAE (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.
ResponsibilitiesMy 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)

TitleScientific Programmer
ProjectsNumerical simulation
TechnologiesOON, numerical simulation, C++11/14, Boost, STL, Qt, 3D Modeling (OpenGL), Google unit test, Matlab
DescriptionDevelopment of a physics library which is an object-oriented of Dam-Break solution algorithms written in C++
ResponsibilitiesDamBreak++ 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)

TitleSoftware System Engineer
Projets (Mandats)Financial application (trade-support) monitoring and supporting the technical and operational stability of the trading systems
TechnologiesUnix (IBM AIX), Perl, C++, SQL (Sybase), threading
DescriptionTop US major bank investment
ResponsibilitiesMember 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)

TitleConsultant-Programmer
Projets (Mandats)Computer-generated real-time surgical simulation
TechnologiesC++, Sofa (physics library), 3D, …
DescriptionL3 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).
ResponsibilitiesI 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)

TitleProgrammer
ProjectsReal-time network application programming
TechnologiesC/C++, OO, real-time, client-Server, TCP/IP,
DescriptionSupport a real-time (client-server/multi-thread) Windows-based sawmill optimization system
ResponsibilitiesProgrammed 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)

TitleContractor
ProjectMigration, technical support and programming
TechnologiesWindows, Unix, C++, Object-Oriented, numerical simulation
DescriptionWorked as independent contractor to provides services such as support, maintenance and programming
ResponsibilitiesAct 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)

TitleSoftware Developer
ProjectDefect tracking by image processing
TechnologiesC, C#, OO, real-time, .Net framework, Halcon image library, Numerical Recipes
DescriptionHardwood industry (Imagery defect tracking)
ResponsibilitiesDeveloped 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)

TitleProgrammer
Project3D software that helps art director in the creation of theatrical scenery
TechnologiesQt, C++, OO, 3D (Open Inventor), OpenGL
DescriptionSupport on art director graphics product to solve quality issues and prepare the product for final release
Responsibilitieswritten in C++ and Open Inventor3D programmingBugs fix