Experienced Software Developer and Data Engineer with a Ph.D. in Software Verification & Cluster Computing. Skilled in distributed systems, big data processing, and full-stack development. Passionate about solving complex problems and driving innovation in data-intensive applications.
Work History
-
Software Developer at Yoppworks (acquired by Improving)
January 2022 - Present- Worked for the migration of Bell's data pipelines to Google Cloud, implementing data enrichment for cloud functions that process terabytes of telecom data per day.
- Maintained and upgraded workflows for Bell's Cloudera cluster, utilizing Apache Spark, Hive, Impala, Oozie, and Hadoop.
- Developed automation scripts using bash, python, awk, and sed to optimize data processing workflows.
- Worked on a demo called ProjectX for Canada Post using Scala with the typelevel stack (http4s, cats, doobie, circe, spec2cats), deployed on Kubernetes and Google Cloud.
- Contributed to the Dokn mobile app for delivery drivers, working on the React-Native front-end with React-Native Maps.
-
Software Engineer at Timesphere
August 2021 – December 2021- Full-Stack Engineer for Timesphere Application, used by SAQ (Société des alcools du Québec) for employee schedule management.
- Developed new features and fixed bugs in the Java Spring Framework backend.
- Ported existing features to the new React/Redux-toolkit frontend, improving user experience and application performance.
-
Lecturer, Université du Québec à Chicoutimi
2015-2021- Taught 8INF803 (Distributed Databases): Covered distributed databases, crawling, and distributed data processing. Introduced students to data structures like B+Trees, LSM, Bloom Filters, and HyperLogLog.
- Taught 8GIF128 (Web programming): Instructed students in HTML, CSS, JavaScript, DOM, REST, and WebSockets.
Education
-
Ph.D in Software Verification & Cluster Computing
2013-2021
Université du Québec à Chicoutimi
Thesis: Extended Combinatorial Testing using Graph Algorithms and Apache Spark -
M.S
2011-2013
Université du Québec à Chicoutimi
Thesis: Algorithms for the minimum spanning tree problem -
B.S
2008-2011
Université du Québec à Chicoutimi
Publications
Journal Article: La Chance, Edmond, and Sylvain Hallé. "An investigation of distributed computing for combinatorial testing." Software Testing, Verification and Reliability 33, no. 4 (2023): e1842.
Ph.D. Thesis: La Chance, Edmond. "Extended combinatorial testing using graph algorithms and Apache Spark." Ph.D. dissertation, Université du Québec à Chicoutimi, 2021.
Conference Paper: Hallé, S., La Chance, E., Gaboury, S. "Graph Methods for Generating Test Cases with Universal and Existential Constraints." In Testing Software and Systems. ICTSS 2015. Lecture Notes in Computer Science, vol 9447. Springer, Cham, 2015.
Projects
-
TSPARK – A distributed combinatorial test generator
Open-source project developed for Ph.D. thesis. Written in Scala using Apache Spark, with 30k lines of code. Implements distributed algorithms for graph coloring and hypergraph vertex problems. -
CTL Simulator
Implements the CTL labeling algorithm for model checkers in C++ (1k lines of code). -
Cerberus Spells
Website for Cerberus RPG spells. Built using React, MUI, node.js, JSON, pandoc, with LaTeX for PDF output. -
Cerberus Bot
Discord bot written in Javascript. -
Morphopoetic.com
Website for older texts of Michaël La Chance, generated using a custom static website generator with node.js and TOML. -
ASM FORUM
Discussion forum implemented in x86 assembly language, CGI processes, and SQLite.
Skills
- Scala, Java, C/C++, Python, JavaScript, TypeScript, x86 assembly
- Apache Spark, Spring Boot, React, Redux Toolkit, React Native, Node.js, Socket.io
- Google Cloud, BigQuery, Hadoop, Hive, Impala, Oozie
- SQL, SQLite, Postgres
- GitLab CI/CD, Docker, Git, GitHub
- UNIX Shell Scripts, awk, sed, grep, HTML, CSS, LaTeX, Pandoc, JIRA, Slurm
Certifications
-
LightBend Certified Reactive Architect
Issued Jan 2022, Expires Jan 2025