SOFTWARE + ELECTRICAL ENGINEER
With a B.A.Sc in Electrical Engineering (UBC), I now have 5+ years experience developing firmware in C/C++. I’ve also worked as a beekeeper, carpenter, and off-grid systems maintenance manager.
With a focus on embedded systems development, I’m currently exploring new opportunities in Victoria, BC. If you’re developing technology with a team of great people, I’d like to hear from you.
Development Methods and Tools
Software Engineering
Embedded C
9s12 w/ paged memory
Off-target unit testing
ESP-IDF
x86, PPC (VxWorks)
Object oriented programming and design patterns in Java, C#, Python
Git
Many different IDEs and build systems
Electrical Engineering
EagleCAD Schematic/PCB layout
NI Multisim / LTSpice
Spectrum/Network Analyzer
Oscilloscope testing and measurement
Embedded circuit design
Test bench design + build
Professional Experience
Teledyne FLIR
November 2019 - Present
Embedded Software Engineer
FLIR is the world leader in the design, manufacture, and marketing of thermal imaging infrared cameras.
Key Responsibilities:
Sole developer for 7 software projects spanning 3 different architectures
9s12, dsPIC30,
Extensive CAN bus communication
Modernized legacy embedded C projects:
Custom code config/generation with Python and C#
Unit testing with CppUTest
Added source control (Git)
Design and construction of automated test bench
Desktop application development in Delphi Pascal
Firmware update/diagnostics console
Documentation of existing projects
Full scope: source code to system layout
State diagrams with yEd and Visio
Non-Engineering - Various
December 2016 - June 2019
Off-grid systems maintenance - Camp Fircom
OFA3 First Aid Attendant - Camp Fircom
Exterior Finishing Carpentry (Contract) - NW Woodcraft
Apiculture Technician (Contract) - Agriculture and Agri-food Canada
Heathstock Apiaries (Contract) - Beekeeper Assistant
Porter Engineering Ltd.
June 2013 - June 2016
Project Engineer - Scanning and Optimization
Porter Engineering is a leading supplier of Log Scanning, Optimization and Process Control Systems for sawmills.
Key Responsibilities:
Developed optimization software in C for the VxWorks RTOS to solve primary log breakdown
User interface development in C++ for Windows 7
Developed a novel control algorithm for in-feed press-rolls with dynamic skew/slew
Assisted in training and supporting customers across North America
Designed mechanical frames for a log scanning system using AutoCAD
Designed system-level electrical drawings with AutoCAD
Database reporting with MS Access and Visual Basic
ClearVision Technologies Inc.
August 2012 - September 2012 (contract)
Production technician
ClearVision is specifically focused on box, case and carton vision inspection solutions for the Corrugated Box, Folding Carton and Packaging Machinery Industries.
Key Responsibilities:
Managed all inventory, production, testing, packing and shipping
Machine Vision quality control systems for corrugated box manufacturing
Radio Science Lab, UBC
May 2011 - October 2011 (Internship)
Engineering Intern
Key Responsibilities:
Performed path loss measurements using a vector signal generator and spectrum analyzer
Assisted in channel sounding measurements in an underground mine
Demonstrated amplifier 3dB compression, UHF antenna design, and RF channel impulse response
Human Communication Technologies Lab, UBC
May 2010 - September 2010 (Internship)
Java Software Developer, ArtiSynth
ArtiSynth is a 3D modeling platform that supports the combined simulation of multi-body and finite element models, together with contact and constraints.
Key Responsibilities:
Learned Java on the job with no prior experience
Developed and integrated a rigid-body collision detection algorithm using a signed distance field
Tech Support: Set up and tested a Mercurial version control server for the development team
Atimi Software Inc.
May 2009 - May 2010 (Internship)
Software QA Intern
Mobile app development following an Agile methodology.
Key Responsibilities:
Managed test cases and software bug tracking using JIRA
Performed QA work for iPhone OS, OS X, and Blackberry OS development
Automated tests using AppleScript, BASH, and other scripting tools
Waveteq Communications Inc.
May 2008 - December 2008 (Internship)
Product Verification Intern
Key Responsibilities:
Testing and measurement of long range outdoor Wi-Fi equipment