Resume

Electrical engineer by training and software developer by passion.

Professional Ambitions

  • Use my engineering skills to solve complex problems that will benefit the society and my employer's clients
  • Continuously acquire new software development knowledge in order to implement robust, maintainable, and elegant solutions
  • Be part of a dynamic and motivated team that expands the limits of what's possible

Education

2013/12

Baccalaureate in Electrical Engineering - Polytechnique Montréal
Favorite classes:

  • Systems, simulation, control and numerical commands
  • Coding (C/C++, MATLAB/Simulink, VHDL, and assembly)

Work Experience

My various responsabilities at OPAL-RT Technologies gave me the opportunity to enrich my technical skills, but also to understand how to apply the agile method and the V-model development process.

2020/07
Present

Software Developer - OPAL-RT Technologies

  • Refactor the build system of OPAL-RT's main real-time simulation software using Conan and CMake
  • Improve CI/CD pipelines using pre-compiled artifacts, Jenkins, Docker and GitLab CI
  • Support new C/C++ compilers and manage the obsolescence of older ones

2020/02
2020/06

Linux Software Developer - Schneider Electric (via Intitek)

  • Implement new features for the central control unit of an intelligent residential system that integrates the latest technologies from the IoT world
  • Maintain the dependencies around a custom Linux-based distribution and a SDK
  • Add component-level and system-level tests in order to build a robust test pyramid

2018/02
2019/01

Scrum Master and Software Developer - OPAL-RT Technologies

  • Ensure the team's proper functioning and that agile values and principals are followed
  • Add new features to the real-time simulation software (C/Python API, data acquisition, serialization system, etc.)
  • Maintain technological dependencies and resolve bugs (C/C++, Python, MATLAB/Simulink and Java)
  • Participate in architecture and technical specification meetings

2016/10
2018/02

Expert in Integration, Verification & Validation - OPAL-RT Technologies

  • Write integration tests in Python to validate API robustness
  • Carry out test campaigns with customer use cases
  • Ensure the quality of the OPAL-RT software suite delivery process
  • Supervise an intern working on the integration of new MATLAB/Simulink versions
  • Provide advanced support to key customers

2015/05
2016/10

RT-LAB Product Owner - OPAL-RT Technologies

  • Communicate customer needs to the software development team
  • Meet with stakeholders to ensure maximum added value to the product
  • Create a backlog in Jira with specifications written as user strories
  • Update the roadmap and present it to the directors

2014/09
2015/05

Driver Expert - OPAL-RT Technologies

  • Integrate third-party drivers with the real-time simulation core in order to support new communication protocols (C/C++)
  • Assist the technical support team and resolve bugs
  • Write technical documentation

2014/01
2014/06

Driver & FPGA Intern - OPAL-RT Technologies

  • Design a PWM signal generator for RCP applications
  • Implement the FPGA logic with Xilinx System Generator and the software application in C++

2012/05
2013/01

Embedded Systems Intern - CS Communication & Systems Canada

  • Work on three software DO-178B (level A) certification projects
  • Create new test procedures that run on DSP
  • Develop proof of concept MATLAB tools for new certification needs

Personal Projects

Travel blog powered by Hugo, a static site generator, and GitLab Pages
https://alarencontredumonde.gitlab.io/

  • Write content and configure website using Markdown, Front Matter, and TOML
  • Customize an existing template (HTML, CSS, and Golang html/template)
  • Optimize page loading time
  • Manage the source code and the CI/CD pipeline with GitLab

Post treatment of my travel GPS coordinates and automatic online deployment
https://alarencontredumonde.gitlab.io/carte

  • Write Python scripts for filtering and changing the format of my GPS data
  • Integrate the result on my travel blog using the JavaScript Leaflet library
  • Manage the source code and the CI/CD pipeline with GitLab

Computer Science Knowledge

I have advanced knowledge with the following tools since I used them on a regular basis at work and/or for my personal projects.

  • Python 2.7/3.6+ including poetry, pytest, numpy, pandas and many more
  • C/C++ including Conan, CMake and gtest/gmock
  • Bash scripting
  • Docker
  • MATLAB/Simulink
  • Git, GitLab, Jenkins, Bitbucket and Bamboo
  • Jira and Confluence
  • Windows and Linux

For me, having a DevOps mindset is key for doing good work. I strive to have a fully reproducible development environment with explicit dependencies and well designed CI/CD pipelines. I believe in a robust test pyramid strategy and, most importantly, a collaborative team that challenges design decisions.

Social Involvement

During my studies, my active social involvement forged my leadership and teamwork skills.

  • 2013: Responsible of the 2013-2014 edition of AEP's student planner (3800 printed copies)
  • 2011-2012: AEP's vice-president for education
  • 2010-2011: Participant in the CIPO 2011 international cooperation project in Malawi
  • 2008-2011: Advisor on AEP's board of directors
  • 2008-2011: Director (10-11), treasurer (09-10) and member of PolySphère, AEP's environmental committee

AEP: Association des étudiants de Polytechnique (the university's student union)

Awards abd Scholarships

  • 2012: AVENIR Entraide, paix et justice award from FORCES AVENIR (group prize won by CIPO 2011)
  • 2010-2011: Volunteer of the year award from AEP
  • 2009-2010: Versatility award from AEP
  • 2008-2009: Recruit of the year award from AEP
  • 2008: Millennium Excellence Award (provincial laureate) from the Canada Millennium Scholarship Foundation

Interests and Leisure

Listening to Python podcasts, traveling, rock climbing, camping, hiking, bicycling, snowboarding, cross-country skiing and soccer.

Languages

  • French: Mother tongue
  • English: Advanced level, excellent written and spoken skills
  • Spanish: Capable of carying on a conversation