Jean Bélanger Resume (Industrial Physicist)

­­­Professional Summary

Multi-disciplinary professional (scientific background from graduate study in physics) who has worked for top organization developing applications in different domain using numerous technologies and languages. I have played many of the roles in the IT industry taken numerous software projects from initial conception to deployment, both as a founder of a new startup and as a consultant.

Time Line in The Business

  • Worked for world leader L-3 COMM Mapps (healthcare surgery simulator), Morgan Stanley (financial bank investment) and IKEA (virtual reality) and world leader CAE (simulation), EA (video game);
  • As a contractor developed custom software programs for different industrial domain of application;
  • Worked as a scientific programmer for a Research Center on Computation (technology transfer);
  • Founded a software consulting, scientific programming, and technology transfer company;

Key Strength

  • Strong technical professional combining computer skills and scientific background, can handle mathematical side as well as coding
  • Ability to analyze and synthesize large quantities of information, to evaluate the issues, and solid problem-solving skills to resolve them efficiently
  • Algorithm development for math intensive problems in numerical simulations/physics modeling
  • Strong entrepreneurial spirit and driven by an intrinsic need for continuous improvement and growth
  • Good communication skills, through progress reports, presentation, technical reports communicate to peer’s project advancement (across team present idea keep on top of any issues that arise)

Relevant Achievements

  • Developed a set of tools (R scripts) for extracting statistical data to a more manageable format for visualizing and report creation (financial application) 
  • Major port of a real-time video monitoring application used by Montreal Public Transit (STM)
  • Developed a 3D model converter, export format to be visualized by a virtual reality engine for the next generation of an interior design web app. Released in February 2017(Canada, Asia, Europe)
  • Developed a library for data collection system to quantitatively measure surgeon motor behavior in the operating room (virtual surgery simulator for training medical professionals)
  • Ported a client-server application for a credit card/bank payment transactions from Win API to Unix IBM AIX (project with critical deadlines) used by Vancouver Public Transit (TransLink)
  • Implemented an image processing algorithm to detect wane (default) on rough hardwood lumber
  • Re-factored (non-linear shape fitting) package, increased performance twice as fast as the original
  • Developed programming environment to validate physics algorithm using modern software practice

Software Development

Software Development15+ years of proven experience designing and developing using object-oriented designs and patterns.Experienced in scientific programming using OO/C++, numerical libraries, programming techniques for performances issues.
Architecture and DesignExperienced in Object-Oriented architecture integration using design patterns to develop reusable software component or module (particularly targeting scientific software application) in large scale systems as well as smaller stand-alone systems.
Software development processExperienced in the use of Agile, SCRUM approaches to the software lifecycle to release quality products on time. Use and conduct code peer revues to establish best practices among team.
Best practicesUtilize proven design patterns, custom libraries/components, and 3rd party libraries, to produce highly modular and quality code.

Programming Languages

LanguageAdvancedIntermediateBasicStatus
C++15 yearsCurrently in use
C++11/14/175 yearsCurrently in use
Java1 yearUsed a year ago
Perl2 yearsUsed 4 years ago
FORTRAN 90/957 yearsUsed 4 years ago
STL C++ 11/14/174 yearsCurrently in use
Mathematica, R3 yearsCurrently in use
Object-Oriented programming10 yearsCurrently in use

Simulation and Scientific Programming

TechnologyFieldApplication domainStatus
Numerical Simulation programmingCoded advanced CFD numerical algorithms in Computational physicsTransfer technology project (University-Industry) in Open Channel Flow SimulationMany years ago
Physics Algorithm programmingDeveloped scientific libraries.for a variety of applicationsMedical simulation, defense domainMany years ago
Math programmingLinear algebra, 3D API3D modelingUsed 3 years ago
3D programming3rd party API based on OpenGLCAE in-house librarydefense domain and virtual reality. physics 3D modelingUsed 3 years ago
Video StreamingGStreamer GNUTransportation video surveillance2 years ago
Image processingHalcon imagingSawmill industry defect tracking algomany years ago

Library and practices

TechnologyLibrary (tools)Status
Unit testGoogle unit test, VS unit test frameworkCurrently in use
Scientific libraryNumerical Recipes in C++, Boost Ublas, std numerical containerCurrently in use
Object-Oriented programmingCurrently in use
3D modelingOSG (Open Scene Graph), OpenGL, Autodesk FBXUsed 3 years ago
GUI DevelopmentQT and QML, Java Swing, Win32 APICurrently in use
Agile, Scrum, KanbanJira, Rallye, Azure DevOpsCurrently in use
BoostLibraries Currently in use
UMLEnterprise ArchitectCurrently in use
DocumentationDoxygen, markdown, pandoc, LatexCurrently in use
IDEVS, Netbeans, eclipse, visual studio codeCurrently in use

Education

  • Bachelor degree in Physics, University of Montreal (1990)
  • Master Degree in Physics, University of Montreal (1993)
  • Student at Ph. D. Physics level (Computational Physics) (1998) (proposal done but did not complete the final examination)

(Courses completed, proposal done but did not completed the final examination)

Jean Bélanger’s Experience

Elligno Inc. (June 2006 – ongoing)

TitleFounder (independent contractor)
ProjectConsulting (scientific and technical)
TechnologiesC++11/14/17, design pattern, Boost, STL, OpenGL, OSG, Autodesk FBX, Qt, real-time, Perl, Java, R, Matematica, FORTRAN90/95, numerical simulation, algorithm programming
DescriptionI have been working as consultant and contractor in the IT industry to develop and support company in their project and business product development. My experience covers a wide range of the IT industry and technologies.
Tasks and resposibilitesAs a consultant, I have developed applications for solving challenging real-world problems using technologies such as vision computer, real-time simulation, 3D modeling and scientific programming.
■ Image processing algorithm based on image recognition and edge detection (sawmill industry)
■ Data gathering algorithm for real-time surgery simulator training system (health care industry)
■ Major porting video streaming application
■ Developed a set of tools (R scripts) for extracting statistical data to a more manageable format for visualizing and report creation (Financial application);

Worked as a contractor for small and large sized organization to support development of existing projects; experience involving designing, testing, implementation and support of applications.
■ Scientific programmer responsible of the math library: (Biotechnology molecular imaging)
■ Software developer C++/3D create a 3D environment: (Virtual reality 3D modeling)
■ System software developer to integrate sensor model: (Military training system)
■ System software analyst supporting trading system: (Financial banking investment)

Startup (my company) working on the development of a scientific programming environment (physics modeling) to facilitate and accelerate the programming physical algorithm.

Oerlikon Contraves Inc. (October 2005 – June 2006)

TitleSoftware Systems Analyst
ProjectVirtual environment simulation (military)
IT TechnologiesC++, OO, CAE Simulation Framework, rigid body simulation
DescriptionThe project consists of building a simulator (training system) for ADATS operator. The software was developed in distributed object environment using a COM framework in multi language (FORTRAN95/C++) environment.
Tasks and responsibilities ■ Analyze an existing software (rigid-body library) and make recommendations concerning the re-use of some part (based on budget and time line);
■ Work on the integration of a rigid-body library in CAE STRIVE framework (real-time simulation environment);
■ Programmed new class (cross-language: call FORTRAN routine from C++) by using new features of FORTRAN95 language;
■ Developed a prototype to ease the integration process (testing functionalities);

Technical Report
On the Re-Use of the ADATS Missile Model for the CAT Simulator”, – J. Belanger, Technical Note Oerlikon Contraves Inc. (November 2005)

ART Inc. (February 2005 – September 2005)

TitleScientific Programmer (Applied Research)
ProjectMolecular Imaging (biotechnology)
ITC++, Boost, numerical programming, scientific programming
Project DescriptionART (Advanced Research Technologies) Inc., develops and commercializes molecular imaging products for the healthcare and pharmaceutical industries. Molecular imaging involves illuminating the part of the body of interest with, non-ionizing radiation and analyzing the emergent pattern for signs of pathology.
Tasks and resposibilities ■ Performed a Monte Carlo simulation for photon migration in a 3D medium (particle simulation);
■ Re-designed the curve fit library (optimization problem) architecture and promoted modular approach by using Object-Oriented paradigm. This new version of the library featured:
— use STL numerical container for fast floating point operation;
— use numerical recipes library for reliable algorithm;
— could be extended for new optimization algorithm.
■ Participated in the R&D effort;
■ Manage the development and the implementation of new algorithms (numerical coding) into a stand-alone software package(s) for end-users of ART’s optical products

CAE Inc. (November 2000 – May 2004)

TitleSoftware Developer
ProjectSynthetic virtual environment and simulation
ITC++, math programming, 3D programming, OO, distributed software, real-time
DescriptionCore Technology group (warfare simulation) is responsible for the development of the next generation of simulation framework used through the company (STRIVE: Synthetic Tactical Real-Time interactive Virtual Environment). It is an open, extensible, distributed object based architecture featuring COM approach written in C++.
Tasks and responsibilitiesResponsible for the maintenance, product development of the 3D engine library as part of the Core Technology Department. Military’s Synthetic Environment;

■ Data Representation and Interchange Specification (SEDRIS);
■ Responsible of the 3D engine library (rendering and terrain representation). Give support for customer demo (conversion of terrain file format and bug fix);
■ Designed prototypes for technology evaluation (R&D project). For example physics library for collision detection-response;
■ Act as a technical lead to define database format (requirement) for terrain representation;
■ Coordinated meeting across department for schedule, planning and work plan. Requirement definition, technical design and coding;
■ Develop prototype and architecture for new concepts and technology that would eventually be used by other department
■ Implemented an atmosphere model;In charge of the design of the mathematical library (coordinate transformation) for map projection package based on SEDRIS API (used for Global Positioning System);

Technical Report
Coordinate Transformation Services” – J. Belanger, API Specification Document (April 2004) CAE Inc.

Annex : Physics Modeling Project (Elligno Inc)

Scientific Programming

RôleSenior Scientific Architect and Programmer
ProjectPhysics Modeling
TechnologiesC++11/14/17/20, numerical programming, scientific programming, software architecture, OO, UML, physics library, NR in C++, OSG (Open Scene Graph), Boost, STL, Qt,
DescriptionProject SFX (Scientific Simulation Framework)
This simulation project was initiated from my experience in industrial applications at CERCA (technology transfer center) working on Computational Physics simulation of Open Channel Flow simulation (Hydro-electricity industry). Also, from my experience as software developer at CAE Inc. a world leader in simulation.

Development of a scientific framework efforts are focused on the development of scientific software aimed at understanding physics via modern modeling techniques and using new software development paradigms. Main objective is to provide a programming environment for the rapid prototyping of mathematical/physics based algorithm with emphasis on reusability and extensibility of software components. Scientific Simulation Framework Overview.
Tasks and responsibilities ■ C++ programming using Object-Oriented technique (program different modules);
■ Optimization technique (Numerical programming/data structure);
■ Perform simulation test to validate algorithm on the well-known solution;
■ Re-factored simulation code to obtain a more scalable and maintainable new generation;
■ Writing technical specifications for development projects (gather requirements);
■ Rewrite some of the numerical algorithm using optimized data structure;
■ Analyze the existing code to make modification (architecture);Program numerical algorithm based on physics;