Mandats Consultants
Jean Bélanger (Physicien Industriel)
Sommaire
Professionnel multidisciplinaire qui combine 20 années d’expérience en programmation combiné à une solide formation scientifique. Candidat idéal pour des projets qui requiert de l’analyse et résolution de problème (projet de migration). Également le développement d’applications à caractère scientifique. Ci-dessous la liste des mandats que j’ai réalisés et qui couvre un large éventail de l’industrie de la technologie de l’information.
Expertise
- Méthodologie Orientée-Objet OO et pratiques modernes de logiciel
- Optimisation de code utilisant les dernières avancées C++ moderne et techniques de programmation
- Historique de résolution de problèmes industriel complexe et support scientifique
- Confortable dans l’analyse et la synthèse de larges quantités d’information
- Expérience en architecture de logiciel de type “framework” et développement par composantes
- Expérience en simulation et modélisation physique (méthode numérique et librairie scientifique)
Mandats Consultant
Elligno Inc (Août 2023 – Présentement)
Titre | Programmeur Scientifique Senior |
Projet | DamBreak++ Simulator |
Technologies | C++11/14/17, algorithme physique, Qt, enterprise architect, google unit test, Math3D |
Description | Elligno est une entreprise de consultation scientifique et technique. Expertise dans le développement des produits technologiques industriels pour rendre les entreprises plus compétitives et rentables. |
Responsibilités | Développement d’un environnement de programmation pour le prototypage rapide d’algorithmes physique pour la validation sur le problème du « DamBreak » (propagation d’une onde). ■ Développement d’un GUI pour faciliter la validation et la visualisation des résultats ■ Architecture logiciel OO (prototypage de différents design) ■ Validation des algorithmes sur des solutions connues (papier scientifique) ■ Rapports techniques (présentation des résultats) et documentation ■ Programmer de nouveaux algoritmes physique (publie papier scientifique) ■ Mise au point d’une démo pour l’obtention de crédit de R&D ■ Développement des affaires (partenariats, collaboration scientifique, nouveaux clients) |
EA Vancouver, B.C. (Juin 2022 – Juin 2023)
Titre | Programmerur C++ (contracteur) |
Projet | Refactorisation à grande échelle de la librairie Math3D |
Technologies | Modern C++(11/14/17), temps-réel, Google Unit Test, algèbre linéaire 3D, math 3D, Clang AST Tools kit, librairie mathématiques de haute performance |
Description | EA Vancouver est un studio majeur du géant américain de jeux Electronic Arts (EA) qui possède de nombreux studios dans le monde entier. — Frostbite: Core Systems Group (Foundation) Frostbite est une équipe centralisée, c’est le moteur de développement de jeux multiplateforme de pointe d’EA. |
Responsibilités | La librairie math3D (ibliothèques mathématiques de haute performance) est au cœur du moteur de jeux (Renderer, Animation, Physique, Shader, Camera …) on doit travailler avec diverses équipes de jeux et groupes d’ingénierie. But: restructurer le moteur Frostbite pour permettre la dépréciation des anciennes bibliothèques Math qui sont toujours prises en charge dans le code. Mon rôle en charge du projet (adapter le code, tests, validation, déploiement). Ce projet demandait de solides compétences en mathématiques, particulièrement connaître la structure de données du code mathématique 3D (vector, matrice, transformation, rotation), mais également en programmation C++ (metaprogramming, …). Refactorisation à grande échelle en deux étapes 1. Première étape (automatisation) — (qui consiste en une série de scripts (ClangAST Tools kit) qui analyse le code et fait une partie des changements. Ex : exécute des scripts (ClangAST) sur un sous-secteur de la base de code, vérifie la base de code. 2. Deuxième étape (adapter le code) — La conversion, par exemple, des systèmes d’animation Frostbite d’une API mathématique à un autre n’est pas triviale. ( plusieurs changements qui ne sont pas pris en compte par les scripts) nécessite de nombreuses astuces mathematiques mais également en programmation C++ (metaprogramming, …). Finalement la validation des changements, exécuter les tests unitaires et fonctionnels sur toutes les plates-formes (XBox,PS5, …), compile le code, effectue un test du curseur, etc. ■ Programmer/modifier des scripts au besoin (selon les problèmes rencontrés) ■ Adapter certains algorithmes afin être compatible avec la nouvelle version ■ Application des scripts Clang AST (ajout de nouvelles fonctionnalités) ■ Fixer les problèmes informatique et mathématique suite aux changements ■ Rouler les tests et procéder à la validation des changements sur toutes les plateformes |
Morgan Stanley (Octobre 2021 – Février 2022)
Titre | Consultant Programmerur |
Projet | eFX Trade Capture System |
Technologies | C++11, Unix, bash script, |
Description | Application financiere (banque d’investissement) eader mondial |
Responsibilités | Système électronique utilisé par les courtiers pour exécuter les commandes et suivre la progression de chaque commande. L’application est obsolète et sera remplacée par une nouvelle version. J’étais chargé de corriger des bugs pour prendre en charge la transition. Environnement de travail de production avec des délais serrés. ■ Bash cripting et programmation C++; ■ Programmation de nouvelles fonctionnalités; ■ Uinit test et tests fonctionnels; ■ Suivi de bugs fix en production; ■ Bugs fix et test intégration; |
Elligno Inc (Décembre 2020 – Septembre 2021)
Titre | Programmeur Scientifique Senior |
Projet | DamBreak++ Simulator |
Technologies | C++11/14/17, algorithme physique, Qt, enterprise architect, google unit test |
Description | Elligno est une entreprise de consultation scientifique et technique. Expertise dans le développement des produits technologiques industriels pour rendre les entreprises plus compétitives et rentables. |
Responsibilités | Développement d’un environnement de programmation pour le prototypage rapide d’algorithmes physique pour la validation sur le problème du « DamBreak » (propagation d’une onde). ■ Prototypage d’un GUI pour faciliter la visualisation des résulttats ■ Architecture logiciel OO (prototypage de différents design) ■ Validation des algorithmes sur des solutions connues (papier scientifique) ■ Automatisation des tests unitaires dans l’environnement de programmation ■ Bugs fix et test intégration |
Zimmer Biomet Inc. (Mars 2020 – Novembre 2020)
Titre | Consultant Programmerur |
Projet | Robotics application (soins sante) (ROSA release) |
Technologies | C++11, Qt, Qml, Boost unit test |
Description | Entreprise biomédicale qui développe une plateforme robotique pour assister les chirurgiens dans la planification et l’exécution de chirurgies complexes (mise en place de la prothèse). |
Responsibilités | J’ai intégré l’équipe responsable de la “release” officiel du produit principal “ROSA” (support programmation) soutenir l’équipe pour rencontrer les échéanciers. ■ Programmation Qt et QML (ajout de nouveaux éléments graphiques) ■ Migration de fonctionnalités dans la nouvelle architecture () ■ Intégration du module de traduction Qt dans la nouvelle architecture. ■ Documentation technique afin d’être conforme aux exigences médicales ■ Bugs fix et test intégration |
OpenMindCapital (Février 2019 – Février 2020)
Titre | Consultant Technique et Scientifique |
Projet | Application financière (programmation et simulation) |
Technologies | R, Java, MatLab, Java Swing UI, Git, NetBeans, algorithm development, RStudio |
Description | Entreprise de Gestion de portefeuille qui développe à l’interne une plateforme de simulation destinée à assister les traders dans la construction de portfolios afin d’évaluer le risque selon la stratégie. |
Responsibilés | Responsable de la maintenance de la plateforme de simulation: programmation de nouvelles fonctionnalités, programmation algorithme, support technique et autres tâches connexes. Principales réalisations au cours de mon mandat ■ Mis au point une librairie d’outils de programmation sous forme de scripts R qui a permis de faciliter et d’automatiser la production de rapports financiers avec un minimum de manipulation. ■ Re-factoring majeur de l’architecture du module FTP dans une approche plus modulaire de type API. Ceci a permis de rendre l’ajout le support de plusieurs fournisseurs facilement intégrable/modifiable et une standardisation des paramètres lors de l’initialisation de la connexion. ■ Intégrer un processus de documentation automatiser des procédures pour l’utilisation plateforme de simulation, guide de l’usager) sous plusieurs formats accessibles dans intranet de la compagnie. |
Bo-Duc Transport (Mars 2017 – Avril 2018, …)
Titre | Consultant |
Projet | Système gestion de transport afin d’automatiser le travail du répartiteur |
Technologies | C++11/14, architecture, OO, Boost library, Qt API |
Description | Entreprise de transport routier (flotte de camions pour la livraison de nourriture pour animaux de ferme) |
Responsibilités | Mise au point d’une application dans le domaine du transport routier qui permet d’automatiser le travail du répartiteur (sous forme visuelle et interface usager). Le travail du répartiteur se fait manuellement (réception des bons de commandes) et production de bons de livraison. Compagnie veut automatiser ce travail (la chaine de la réception à la livraison) et des rapports. Mis au point une architecture logicielle pour l’extraction des données et la production de rapports. Architecture logicielle de type Orientée-Objet. L’environnement est sous de composantes avec une librairie d’algorithmes qui supporte plusieurs types d’extraction. Intégration d’un outil pour l’extraction a partir de fichier de format PDF. ■ Mise au point d’une librairie pour les algorithmes ■ Développement interface usager (GUI); ■ a completer |
Adetel Group Inc (Avril 2018 – Février 2019)
Titre | Programmeur-Consultant |
Projet | Migration majeur et mise à jour d’une application de vidéo surveillance |
Technologies | C++, OO, real-time Boost, STL, GStreamer (video streaming) GNU library |
Description | Adetel développe des applications dans le domaine du transport de passagers par train. A titre de consultant, j’ai travaillé sur la migration du module de vidéo streaming utilisé par l’application MPM10, console pour la surveillance vidéo en temps-réel du métro de Montréal STM (Société de Transport de Montréal). |
Responsibilities | La librairie GStreamer (GNU) est un framework multimédia open source qui fournit des services d’édition et de rendu de contenu vidéo/audio. Le but de la migration (mise à niveau) était de prendre en charge un nouveau type de caméras pour les nouveaux véhicules Azure achetés. ■ Analyse du code afin d’identifier les changements pour la migration; ■ Programmation avec le Framework GNome et de la librairie GLib; ■ Débogage et fix de bogues Programmation de nouvelles fonctionnalités; ■ Participe aux tests de validation. Test (benchmark test) de régression; ■ Développement interface usager (GUI); ■ Intégration de la librairie de GStreamer dans l’environnement de developpement; |
Technology 20-20 (Juin 2016 – Février 2017)
Titre | Consultant Developeur Logiciel C++/3D |
Projet | IKEA VR Extract |
Technologies | Boost, STL, 3D math (linear algebra), C++11/14, Autodesk FBX, algorithm programming |
Description | IKEA envisage d’intégrer la réalité virtuelle dans leur application en ligne de design intérieur de cuisine afin de rendre l’expérience du design plus réaliste. |
Responsibilities | Prototype de la nouvelle génération de l’application de design d’intérieur de cuisine afin d’évaluer la faisabilité de l’utilisation de la réalité virtuelle pour obtenir un design intérieur véritablement tridimensionnel (casque 3D) d’une cuisine et ainsi rendre l’expérience plus réaliste. Le prototype est sorti en février 2017 dans 3 magasins (Canada, Asie et Europe). Voir vidéo sur ’YouTube’ .https://www.youtube.com/watch?v=1S0GO5kbMYo, https://www.youtube.com/watch?v=Figi0Wcz2oE Mon mandat était de développer un module qui permet de convertir les modèles 3D (cuisine au complet) à partir du format interne de la compagnie vers le format FBX, afin d’être visualisé par un moteur de réalité virtuelle tel qu’UNREAL. Tâche principale Extraire les données du modèle 3D format interne (représentation graphique de la pièce) et de reproduire l’équivalent avec la technologie FBX. Cuisine 3D est un containeur de modeles 3D tels que chaises, armoires, etc. … connecté par une relation hiérarchique de nœuds (info géométrique, orientation, position). Pour plus de details voir page PortFolio/simulation. ■ Analyse du code afin d’identifier les changements pour la migration ■ Analyse du code source, identifier les parties de code pouvant être réutiliser ■ Débogage et fix de bogues Programmation de nouvelles fonctionnalités ■ Participe aux tests de validation. Test (benchmark test) de régression ■ Mise à niveau de certaines librairies de la compagnie pour le support du projet ■ Mise au point d’un environnement pour tester et valider le rendu des modèles) ■ Programmation d’un algorithme qui permet de construire le ‘’scene graph’’ complet dans le nouveau format FBX |
CAE Inc. (Septembre 2015 – Avril 2016)
Titre | Ingénieur système |
Projet | Modélisation et simulation de systèmes de capteurs électro-optiques |
Technologies | C++, Boost, STL, Real-Time, Object-Oriented, Distributed System, Google unit test |
Description | CAE (www.cae.com) est un leader mondial en simulation |
Responsibilités | Ingénieur système dans le groupe Electro-Optics pour soutenir l’intégration de nouveaux modèles de capteurs dans l’environnement de simulation conçu pour être utilisé dans le système de formation (UAS : Unnamed Aerospace System). ■ Ma principale tâche était de résoudre des bugs de l’application principale ■ re-structure de la librairie d’image de polarisation pour une meilleur intégration) support de nouvelles fonctionnalités ■ Documentation et test unitaires, fonctionnels et système ■ Re-factoring de certaines parties de code pour les rendre conforme avec le reste de l’architecture |
Elligno Inc. (Mars 2014 – Août 2015)
Titre | Programmeur Scientifique Senior |
Projet | DamBreak++ Simulateur |
Technologies | OON, numerical simulation, C++11/14, Boost, STL, Qt, 3D Modeling (OpenGL), Google unit test, Matlab |
Description | Développement d’un environnement de programmation scientifique pour la programmation d’algorithme physique |
Responsibilités | DamBreak++ Simulator est un environnement de programmation pour le prototypage rapide d’algorithmes physiques. Dans les projets industriels, les physiciens doivent expérimenter, tester différentes alternatives et ce type d’application facilite et accélère la phase de prototypage (validation sur le problème du bris de barrage). ■ Re-écriture de certaines parties de code et migration vers C++11/14 pour une nouvelle génération de code optimisée ■ Design d’architecture et prototypage (évaluation de nouvelles techniques) ■ Rédaction de rapports techniques (nouvelle architecture) ■ Automatisation des tests unitaires et de la documentation ■ Effectuer des tests manuels selon les besoins, créer des cas de test et tests de validation (fonctionnels) base sur des solutions connues pris de la littérature scientifique ■ Présentation de l’architecture API RAPPORT TECHNIQUE “A C++ Differential Equation Solver using Object-Oriented Numeric” – J. Belanger, Elligno technical report no. TR1-2014-05 |
Morgan Stanley (Novembre 2012 – Février 2014)
Titre | Ingénieur Système Logiciel |
Projet | Application financière (système de transactions temps-réel) |
Technologies | Unix (IBM AIX), Perl, C++, SQL (Sybase), threading |
Description | Morgan Stanley est une banque d’investissement multinationale américaine et une société de services financiers |
Responsabilités | Membre du groupe BigMac, application centrale du système de transactions (hub), base de données de toutes les transactions qui entrent et qui sont utilisées par plusieurs groupes: opération, trader, …), La stabilité du système est d’une importance capitale. L’équipe est en charge du support et de la maintenance de l’application (maintenir la stabilité du système). ■ Participer au développement de l’application (algorithmes, fonctionnalités) ■ Programmation des scripts (maintenance) et la production de rapports financiers sur une base quotidienne ■ Support temps réel (production) réagir aux problèmes à mesure qu’ils surviennent au cours de la journée de négociation |
L3 MAPS (Mars 2012 – Octobre 2012)
Titre | Consultant |
Projet | Réalité virtuelle (Système Simulation Chirurgicale) |
Technologies | C++, Sofa (librairie physique), 3D, temps-réel |
Description | L3 MAPPS est l’un des principaux fournisseurs mondiaux de systèmes et services de solutions de contrôle et de simulation |
Responsibilities | Projet de R&D développement d’un simulateur d’aide à la chirurgie qui est une application client-serveur en réseau (le client collecte les données et les envoie au serveur pour effectuer une analyse en exécutant un algorithme (métriques). J’ai développé le module pour la collection de données afin de fournir des mesures objectives pour évaluer les compétences techniques des stagiaires pour accomplir une tâche durant une simulation enregistrant ainsi les scores globaux et spécifiques à la tâche. Parallèlement à ma tâche principale, je supervisais un employé (problèmes techniques) et m’assurer que le projet avance selon les échéanciers. J’ai également participé au développement du module des algorithme (métriques). ■ Architecture de la librairie (design OO) ■ Présentation du projet (avancement du projet sur une base hebdomadaire) ■ Guide d’utilisation, documentation, participé aux revues de code ■ Développé une librairie de ‘parser’ des fichiers xml pour la lecture et l’écriture des données ■ Support technique (membres de l’équipe) débogage ■ Intégration, optimisation de code et test de validation |
Elligno Inc (Juillet 2008 – Février 2012)
Titre | Consultant |
Projet | Migration, support technique et programmation |
Technologies | Windows, Unix, C++, Orientee Objet, simulation numerique, math3D |
Description | Elligno est une entreprise de consultation scientifique et technique |
Responsibilities | Forest Product Sector Council (FPSC, Ottawa, Ont.), CTPayment, Cofomo (mandats), Autolog Consultant pour une agence gouvernementale federale pour le support infrastructure du réseau informatique et support aux usagers Consultant sur un projet de migration d’une application de transaction guichet (Windows platform vers Unix AIX (IBM)) utilise par la société de transport de Vancouver (Translink) Consultant Programmeur C++ pour une application de gestion du trafic aérien, préparé à la release, recommandations, évaluation. Support à la mise en production d’un système débiteuse de la coupe de bois. Profilage de code (performance), identifier les régions à problème et apporter les correctifs nécessaires. Démarrage de mon entreprise Parallèlement à mes contrats comme pigiste, j’ai travaillé à mettre en place mon entreprise. Site web, développement de programmes informatique, développement des affaires, demande de subventions. ■ Mise au point d’un environnement de programmation scientifique ■ Développement d’une librairie math3D (physique3D) ■ Préparation d’une démo pour présenter aux clients potentiels ■ Rédaction de rapports techniques (simulation) |
Les Entreprises Barrette Inc (Septembre 2007 – Juin 2008)
Titre | Consultant |
Projet | Détection de la flache (imperfection) par imagerie (industrie du bois d’œuvre) |
Technologies | C, C#, OO, real-time, .Net framework, librairie imagerie Halcon, Numerical Recipes |
Description | Barrette-Chapais est une entreprise forestière chef de file dans la production de bois de sciage au Québec |
Responsibilités | Développement d’une application d’imagerie utiliser dans une scierie (algorithme pour détecter les imperfections sur une planche de bois). Permet de classer le bois selon les standards de qualité et optimiser la coupe. Algorithme Le programme reçoit en entrée une image du scanner, série de points (section) qui sont transformés en une image (échelle de gris). Algorithme consiste en une série d’étapes (séquence d’instructions): segmenter l’image en sous images (applique des filtres (imagerie)) transformant ces informations en une image de sortie d’intérêt pour l’utilisateur. ■ Implémenté une librairie numérique pour interpolation linéaire (algorithme de fit) ■ Programmation du module et architecture sous forme API ■ GUI (Graphical User Interface) faciliter le déboggage et validation des résultats ■ Tests de validation en production ■ Tests unitaires et documentation de l’API ■ Intégration du module dans environnement de production (scierie) |
Hexagram (Juin 2006 – Octobre 2006)
Titre | Consultant |
Projet | SetDesign (logiciel 3D pour la création de scène de théâtre) |
Technologies | Qt, C++, OO, 3D (Open Inventor), OpenGL |
Description | Hexagram est un réseau de recherche-création en arts, cultures et technologies |
Responsibilities | SetDesign est un logiciel de modélisation 3D pour assister le scénographe dans la conception de scène d’un espace à usage théâtral. ■ Lead technique, support à la commercialisation d’un logiciel de modélisation 3D ■ Support sur le produit graphique pour résoudre les problèmes de qualité et préparer le produit pour la version finale |