Summary
Overview
Work History
Education
Skills
Accomplishments
Timeline
Generic

Tom Novak

Calgary,AB

Summary

Experienced embedded software engineer with 2 years in creating efficient software solutions for embedded systems. Proficient in C/C++, skilled in firmware development, RTOS, and hardware-software integration. Strong problem solver, collaborator, and innovator. Ready to contribute technical excellence to drive technology forward.

Overview

6
6
years of professional experience

Work History

Software Engineer II, EIT

Garmin Canada
01.2021 - Current
  • Develop and maintain embedded software for consumer products. Work primarily in C/C++ on both Linux-based operating systems and real-time operating systems (RTOS).
  • Collaborate with hardware engineers to define system requirements and design specifications.
  • Implement device drivers and low-level software for hardware components, ensuring proper integration and functionality.
  • Conduct testing and debugging of embedded software, identifying and resolving issues found by internal teams as well as customers in the field.
  • Work with manufacturing teams in Taiwan to troubleshoot issues during manufacturing.
  • Optimize software performance and memory utilization to meet project requirements.
  • Work closely with teams to support hardware and software integration, troubleshooting, and system-level testing.
  • Write comprehensive unit tests and automated system tests.
  • Develop and execute test plans, debug scripts, and craft testing tools to guarantee software quality and reliability.
  • Perform code reviews and provide constructive feedback to ensure software quality and maintainability.
  • Actively participate in and lead detailed design reviews for software architecture designs.
  • Integrate devices with a mobile application over Bluetooth Low Energy (BLE), supporting communication and control between device and mobile platform.

Software Engineering Intern

Garmin Canada
05.2018 - 07.2019
  • Worked on a team responsible for ANT, a low-power radio protocol which provides connectivity between devices (smart watches, bike computers) and sensors (cadence sensors, heart rate monitors)
  • Designed and carried out implementation of the ANT protocol
  • Investigated error reports from external sources to find and resolve ANT-related bugs on several platforms.

Summer Research Student

Tom Baker Cancer Centre
04.2017 - 08.2017
  • Utilized software scripting capabilities to improve gantry positioning for a linear accelerator, allowing for more effective treatment angles
  • Researched potential avenues for automation in the field of radiation oncology
  • Worked primarily in C#, Matlab

Education

Bachelor of Applied Science - Electrical Engineering

Queen's University
Kingston, ON
04.2020

Skills

  • Languages: C/C, C#, Python, Java, Groovy
  • VCS: Git, Gerrit
  • Hardware interfaces: SPI, I2C, UART
  • Radio protocols: BLE, ANT
  • CI/CD tools: Jenkins
  • Containerization tools: Docker
  • Project Management tools: JIRA, Octane
  • Familiar with RTOS and Linux-based operating systems
  • Experienced working with advanced high-definition video processing chips (Ambarella)
  • Experience working with wireless communication chips (Nordic Semiconductor)
  • Experience working with STMicroelectronics boards interfacing with custom Hardware

Accomplishments

  • Developed and launched embedded system firmware for a consumer product (Garmin RCT715)
  • Constructed an 8-bit computer from scratch using breadboards and small integrated circuits
  • AI-based solution employing computer vision algorithms to accurately recognize and sort trash/recyclables
  • Predictive tool that forecasts gantry head intercept during external beam therapy for cancer patients

Timeline

Software Engineer II, EIT

Garmin Canada
01.2021 - Current

Software Engineering Intern

Garmin Canada
05.2018 - 07.2019

Summer Research Student

Tom Baker Cancer Centre
04.2017 - 08.2017

Bachelor of Applied Science - Electrical Engineering

Queen's University
Tom Novak