BRUCE A HAINES
 
smily+banner.jpg

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.

portereng1.jpg

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.

0.jpg

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

Screenshot-from-2014-12-06-152648.png

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.

o.png

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.

images.jpg

May 2008 - December 2008 (Internship)

Product Verification Intern

Key Responsibilities:

  • Testing and measurement of long range outdoor Wi-Fi equipment

 

CONTACT

 
color-3.png