Experience

Research In Progress, Vancouver, BC

Founder • April 2017 — Present

Responsibilities

  • System design, architecture, and implementation of consumer electronics hardware prototypes.
  • Implement device security best practices to protect sensitive consumer data over public/private networks.
  • Research, source, and integrate newly released microcontrollers and sensors for ambient interactivity.
  • Design and produce test jigs to verify assembly and programming of electronic products.
  • Generate product renderings and assembly views for in-progress prototypes.
  • Assess emerging software/infrastructure technologies to enable rapid application development.
Accomplishments
  • Developed and published an open-source C++ library for programming microcontrollers using an Actor model based on Erlang.
  • Created serverless backend prototypes for remote device control using Firebase, AWS Lambda, and AWS AppSync.
  • Created frontend prototypes (web + mobile) using React Native, and Flutter.
  • Implemented a USB-C Power Delivery (PD) subsystem to increase power available for USB LED lighting peripherals.
  • Configured and maintained a CI system using a hardware test suite to fully verify potential code changes.

Awesense, Vancouver BC

Operations Engineer • May 2015 — April 2017

Responsibilities

  • Automation of existing deployment processes; designing process updates and architecture to facilitate a SaaS platform using the cloud, within a security-focused, enterprise environment.
  • Improve developer team productivity through the use of new software tools, workflows, and automation frameworks.
  • Network design and implementation of enterprise deployments in multiple regions, across multiple cloud and IaaS vendors.
Accomplishments
  • Refactored large existing application for use with scheduled bare-metal clusters using Kubernetes/Docker.
  • Fully automated deployment process for server provisioning and application deployment.
  • Implemented centralized logging and metrics analytics systems including dashboard design.
  • Created CI pipeline implementing containerization and supporting continuous delivery.

Limbic Media, Victoria BC

Project Engineer • June 2010 — May 2015

Responsibilities

  • Software engineering design and development for industrial, automated sensing contracts, and including hardware sourcing, firmware design, driver development, OS customization, and developing production architectures and internal tools.
  • Developing electronics, sensor, and new-user-interface applications for real-time interactive art installation contracts, working with artists to deliver a polished work.
  • System administration/operations, web architecture design and implementation for custom web services relating to art installation and/or industrial contracts, including maintenance and analytics through the lifecycle of the deployment.
Accomplishments
  • Sourced and designed the electronics and control software for the G++ Interactive Gallery Sign outside the Limbic Headquarters, featuring a public website with fast+interactive control of video playback and messages, to advertise and demonstrate to potential clients.
  • Designed and implemented a real-time, audio-reactive lighting control platform, using STM32F4 ICs and DMA/I2S audio processing pipeline.
  • Architected and implemented a robust, vehicle-mounted embedded Linux device integrating multiple sensors, multi-bearer networking, and a distributed queueing system.
  • Designed desktop applications and sensor processing algorithms for eight different art installations, with city-wide exhibitions.

Simbioses Lab, University of Victoria, Victoria, BC

Researcher • June 2009 — August 2010

Accomplishments

  • Received NSERC USRA grant for researching computer vision.
  • Developed a rapid software prototyping environment using tangible objects based on fiducial markers and a conventional LCD monitor.
  • Adapted the prototyping application for a high-school workshop highlighting computer vision, presented at Brentwood College, Victoria BC.

Schneider Electric, Victoria, BC

Experimental Web Technologies Developer (Co-op) • September — December 2008

Responsibilities

  • Implement proof-of-concept solutions for linking power monitoring devices to the web.
  • Research upcoming W3C web standards and emerging social network APIs.
  • Develop prototypes highlighting benefits of new standards.
  • Present findings to senior developers.
  • Write SR&ED Canada research reports documenting innovations.
Accomplishments
  • Created several prototypes able to communicate with existing, deployed power meters without requiring firmware/hardware upgrades.
  • Wrote a parser for an established serial protocol, building packets which are forwarded to the appropriate power meter, which can alter settings and/or generate reports.
  • Implemented a similar web application targeting mobile devices.

TheNumber Inc., Victoria, BC

Web Performance Developer (Co-op) • March — May 2008

eTraffic Solutions Inc., Victoria, BC

Junior Developer (Co-op) • September — December 2006

Neverblue Media Inc., Victoria, BC

Programmer / Data Enterer (Co-op) • January — April 2006

Skills

Software

C/C++ - Python - Shell - GDB - Valgrind - VIM - Linux - Git

Firmware

FreeRTOS - Yocto - DMA - lwIP/Sockets - OTA - SPI - Serial - I2C - I2S - WiFi - Bluetooth/BLE

Electrical

KiCAD - Sourcing - Oscilloscope/Analyzer - ESP32 - STM32 - FTDI - RaspberryPi

Mechanical

Fusion 360 - Modo - Rhino/Grasshopper - 3D Printing - Laser Cutter

Architecture

Serverless - GraphQL - REST - MQTT - Firebase - DynamoDB - Redis - PostgreSQL - Elastic - InfluxDB - Protocol Buffers - FlatBuffers

Networking

Network design - Routing - TCP/IP - IPv6 - BGP - IPSec - PXE - VyOS software router

Cloud/Datacenter

AWS - Google Cloud - Kubernetes - Docker - Ansible - CI/CD - Gitops

Abilities

Software Development

  • Fully proficient in C/C++, Python, Javascript, SQL, some assembly when required.
  • Broad knowledge of free/open-source databases (SQL and NoSQL).
  • Network and distributed application architecture design.
  • HTML5 web application front-end/back-end development.
  • Desktop applications with OpenGL/GPU programming.

System Administration

  • Extensive UNIX/Linux utilities/techniques experience.
  • Cloud/SaaS platform service provisioning, and system monitoring/maintenance.

Circuit Design

  • Schematic and PCB design.
  • Construction and assembly of circuits.
  • Firmware development of sensor/interface drivers.
  • Circuit testing/debugging.

Teaching/Learning

  • Ability to adapt to new technology and processes extremely rapidly.
  • Skilled in the distillation of information and the instruction of others.
  • Using intuitive grasp of machinery and electronics.

Interpersonal

  • Adept at creating relationships quickly.
  • Skilled at determining and matching a community vibe.
  • An excellent attentive listener.

Education

University of Victoria

B. Eng, Computer Engineering, Systems Specialization • 2004 — 2009

  • Engineering Student's Society Director of Communications, 2006-2007

Selected Publications

ISVC 2011, Las Vegas NV, USA

Paul Reimer, Alexandra Branzan Albu, and George Tzanetakis

"Raydiance: a tangible interface for teaching computer vision", In the Proceedings of Advances in Visual Computing

ISMIR 2010, Barcelona Spain

Scott Miller, Paul Reimer, Steven Ness, and George Tzanetakis

"GeoShuffle: Location-aware, content-based music browsing using self-organizing tag clouds", In the Proceedings of the International Symposium on Music Information Retrieval

ICAD 2010, Washington DC, USA

Steven R. Ness, Paul Reimer, Norman Krell, Gabrielle Odowichuk, W. Andrew Schloss and George Tzanetakis

"Sonophenology : A tangible interface for sonification of geo-spatial phenological data at multiple time-scales", In the Proceedings of the International Conference on Auditory Display

Art Exhibitions

Royal Victoria Museum, Victoria, BC

April 2013

  • Laterna Magica: An audio puzzle; a series of hurricane lanterns retrofitted with LEDs and three distinct audio-segmentation algorithms.

Downtown Victoria Business Association, Victoria, BC

Winter 2012

  • Wintertree: An audio-reactive, ~1600 LED node installation.
  • Winterplay: An SMS-triggered video jukebox via large-scale projection.

G++ Gallery, Victoria, BC

December 2011- March 2013

  • Fish.e: A custom-built paper-mache and LED structure, with video mapping, tracked user silhouettes, and clap-detection.
  • The Woods: An SMS-triggered choose-your-own adventure via two HDTVs.
  • Impulse: A multiplayer heart-sensor, LED, and projection-mapping installation.
  • Shadows & Light: Traditional Chinese shadow-puppet play, automated via projection and robotics.
  • Atagamaton: A Kinect-triggered robotics installation.
  • Ectoplasmic Scream: A face-tracking based art piece featuring sampled videos of the artist, and a soft-body physics simulation controlled by the openness of a user’s mouth.

Ministry of Casual Living, Victoria, BC

May 2010

  • Ministry of Casual Touching: Computer-vision/music interactive installation; a warped projected scene resembling wheat fields, generated audio, and a touch sensitive glass display.