Christian Theriot
Senior Software Engineer
Career
Senior Software Engineer
NBCUniversal
September 2021 - Present
Mentored peers to develop critical thinking and invest in their own continued learning
Set the standard for code quality, application architecture, and developer tools in my team
Created a GraphQL API and Angular SSR app consuming data from a headless Drupal site to render a faster frontend
Created automated test infrastructure using PHPUnit, Jasmine, Cypress, and GitHub Actions
Coordinated with DevOps to configure the Kubernetes cluster architecture for our full stack application
Maintained documentation in Confluence to share our lessons learned, APIs, and software architectural diagrams with other teams and stakeholders
Software Engineer
Lockheed Martin
May 2018 - August 2021
Designed, developed, tested, integrated, documented, and maintained real-time embedded software using Agile methods such as peer programming
Met frequently with interdisciplinary teams including management and customers to discuss requirements, status, and new software proposals
Integrated tools and processes into our workflows enabling the team to operate more efficiently
Updated several GUI tools to integrate new software and improve usability
Refactored large software projects to remove critical runtime bugs and improve maintainability
Modernized development environment to enable the team to innovate and iterate
Software Engineer CWEP (College Work Experience Program)
Lockheed Martin (via UCF)
October 2016 - May 2018
Designed, developed, tested, integrated, and documented software in support of test engineers
Peer reviewed code to ensure software quality, application of coding standards, and security
Supported major version updates, including reviews with management, peer reviews, regression tests, and supporting customers with updates
Programming Languages
Technologies
Languages
English, C2
French, B2
Spanish, B2
Norwegian, B1
German, B1
Projects
Portfolio Website - 2023
Created a data-driven portfolio, generated using Angular 16 and Nginx. The contents of this site is provided essentially as a JSON object, with each section being rendered according to various angular templates. The OnPush change detection strategy is used throughout all components to make the site as efficient as possible, and allows features such as the "return-to-top" button to operate without triggering an excessive amount of change detection cycles.
Skills Used:
TypeScript, Angular
Prototype Self Driving Vehicle (Scale Model) - 2018
Developed a software package consisting of a ROS application, firmware for an Arduino-based custom PCB, and an ad-hoc transmission API. The ROS application implemented SLAM for object detection, which was processed and converted into signals for speed, direction, and an emergency stop signal. These signals were sent via the transmission API to the PCB via GPIO pins, enabling near-realtime reaction times. The custom PCB received these signals along with data from other hardware sensors such as a Hall sensor on the motor, to operate an ESC controlling the model autonomous vehicle's engine, steering servo, and battery monitor. This was my undergrad capstone project, which was done to enable a graduate research team to investigate cutting-edge autonomous vehicle research in the networking space.
Skills Used:
C++, Linux, OOP, Low-latency programming, Multithreading