Reid Howard

Software Engineer

Victoria, British Columbia, Canada

About

I'm a thoughtful software engineer with a passion for building usable and maintainable systems that meet requirements and customer needs. I believe in understanding problems before solving them, and always leaving code better than I found it. I have experience through the full life-cycle of building and delivering large software systems for customers with complex requirements. As a continuous learner, I'm excited about opportunities to flex and grow my technical skills while making an impact in challenging problem domains.

Experience

  • Senior Software Developer - Contract at ICBC (Insurance Corporation of British Columbia)
    Jul 2025 - Present · 1 yr

    * Implemented new requirements for upcoming changes to Graduated Licensing Program and Motorcycle Licensing * Proactively identified gaps in requirements and in planned tasks * Introduced some unit tests to a legacy C++ codebase

  • Software Engineer at Kabam
    Mar 2020 - Oct 2024 · 4 yrs 8 mos

    Kabam is a mobile-first game studio with 100M+ installs. I served on the Central Technology team, building shared tools and systems that enable other teams across the studio, using a range of technologies. • Created an internal product from the ground up: an extensible Unity package (C#) to manage build configurations and run custom Android/iOS build steps. Gathered design input from stakeholders, wrote code, unit tests, CI (GitHub Actions), and user guide, and integrated with prototype game projects • Identified pain points and added several quality-of-life features to our build dashboard (Node.js, Express, MongoDB), to aid decision-making and allocation of our on-prem build farm • Wrote a pipeline to aggregate and visualize build profile data (Python, BigQuery, Looker Studio), Dockerized and automated in Jenkins. It allowed us to pinpoint and fix several regressions. • Migrated build pipelines and infrastructure management utilities to Jenkins • Performed regular code and design reviews for peers

  • MDA Space (Vancouver, Canada Area)
    • Software Engineer III
      Jan 2016 - Mar 2020 · 4 yrs 3 mos

      ACE - Automated Charting and Encoding ACE is a platform for automated generation of publication-quality aeronautical charts ("maps for pilots") from a variety of data sources. Mostly (modern, OOP) Perl with a RESTful web component. I served in both IC and Technical Lead capacities. Some of my contributions: • Designed and implemented several major features, including: • A 'Registry' to track unique aeronautical features, for data traceability and change detection • A differencing tool to compare large datasets in PostgreSQL, supporting change detection • Customer-specific extensions to standard data sources and ingest modules • A reusable PDF reporting subsystem with pagination and layout algorithms - replacing a hard-to-maintain legacy XSLT-based system • Performed on-site customer training, deployment, and acceptance testing • As a Technical lead, led successive teams of 4 engineers over two release cycles: • Planned and decomposed work to implement a major ARINC-424 Encoding feature with ~200 requirements, eliminating manual encoding work for customer • Provided design reviews, code reviews, and other technical guidance to development and testing • Worked with other teams and stakeholders to integrate ACE with sibling tool GPD (see below) while not interfering with other ACE priorities

    • Software Engineer II
      Jul 2012 - Dec 2015 · 3 yrs 6 mos

      GPD - Global Procedure Designer A Procedure Design system commissioned by US Air Force, used around the world since 2004. 14K+ requirements, 5M+ LOC (mostly C++), deployed to Windows Desktop. Some of my contributions: • Implemented several GUI components (Windows MFC) as part of a major new feature set • Integrated third-party 'World Magnetic Model' library to compute magnetic declinations • Introduced compile-time optimizations and performed thorough regression testing • Implemented assorted requirements conforming to TERPS design criteria

    • Software Engineer I
      Dec 2010 - Jun 2012 · 1 yr 7 mos

      IPDS - Instrument Procedure Design System A modern procedure design tool for the FAA. 10K+ requirements, 3M+ LOC (mostly C++). Some of my contributions: • Contributed to several software releases, including development, test, deployment, and critical maintenance for multiple customers • Identified and fixed memory leaks and bugs in terrain processing subsystem • Wrote automated unit tests for geometry data structures and algorithms • Introduced compiler optimizations and performed tech upgrades to support Windows 7 • Created a Python tool to package terrain data sets for ingest, with accompanying user guide. This led to reduced errors while using terrain from a variety of sources

  • Research Assistant at Rutgers University
    Jul 2009 - Sep 2010 · 1 yr 3 mos

    • Conducted research in 3D shape modeling and animation • Devised a new method to interactively edit 3D polygonal meshes, combining and improving established free-form and variational mesh deformation methods from the computer graphics literature • Built small C++ OpenGL application as proof-of-concept, exploiting several existing APIs for mesh representation (OpenMesh), sparse matrix factorization (Cholmod), and GUI widgets (Qt) • Published "Hybrid Mesh Editing" in Eurographics 2010; presented work at conference in Norrköping, Sweden in May 2010 (PDF: https://doi.org/10.2312/egsh.20101043)

  • Teaching Assistant at Rutgers University
    Aug 2007 - May 2009 · 1 yr 10 mos

    • Gave supplementary lessons for several undergraduate and graduate-level classes • Held regular tutoring and exam preparation sessions • Prepared and graded homework and exam problems and solutions