itjobs.ca Logo
Garmin logo

Algorithm Software Engineer

Garminabout 4 hours ago
Cochrane, Alberta, Canada
Mid Level
Full-Time

About the role

Overview

Garmin Canada has exciting opportunities for full-time Software Engineers who have a hunger for solving real-world problems with embedded systems. Exciting things happen at the boundaries between disciplines. Where data science and engineering meet, you will be pushing the boundaries of industry leading algorithms that help people beat yesterday. In this role, you will be responsible for creating, productizing and maintaining new algorithms for fitness sensor products such as heart rate monitors, and cycling sensors.

This team’s primary source of expertise in designing and implementing algorithms based on a range of sensor data that translate athlete dynamics into user-facing metrics. Examples of core algorithms developed and maintained by this team include IMU-based metrics like running power, and step speed loss. The team also develops and maintains Garmin’s EKG-based heart rate for chest straps. As a member of this team, you will take new fitness sensor metrics from concept through to productization.

Essential Functions

In our engineering team focused on algorithms for embedded systems, you will:

Design innovative algorithms and prototype them in python Research and develop new algorithms and methods to leverage next generation hardware. Develop embedded software solutions, primarily in C or C++, to be used throughout Garmin’s fitness sensor products Participate in project planning, including providing technical input to product development plans and concept documents Collaborate in peer code reviews and technical assessments in areas of expertise, providing comments and suggestions to support software designs and new technologies Mentor less-experienced Software Engineers and interns, providing technical expertise and guidance

Basic Qualifications

Relevant Bachelor’s Degree with a cumulative GPA greater than or equal to 3.0 Relevant industry software engineering experience, which must include: Signal processing experience including digital filtering and spectral analysis Proven ability to develop innovative and creative solutions for complex problems Proficiency in writing software in C/C++ on embedded processors Experience collaborating in a team-based development environment, including code reviews and technical design discussions Proficiency with designing well-architected software systems and modules that support new technology or improve capability / performance of existing functionality Demonstrated desire to produce software that “just works” through in-depth testing

Desired Qualifications:

Experience using AI‑assisted development tools (e.g., script generation, refactoring, test creation) to improve development efficiency and code quality. Understanding of human biomechanics including kinematics and kinetics. Experience modeling and extracting metrics from physical systems Experience developing software on microcontrollers for small consumer electronic devices Experience working on multiple simultaneous development projects Experience debugging complex problems on embedded systems Interest and ability to learn other coding languages as needed Experience working on an Agile software team Proficient in using oscilloscopes, logic analyzers, multi meters, and debuggers to design, test and validate embedded systems Excitement to create and deliver products and features for Garmin’s running and cycling customers

About Garmin

Computers and Electronics Manufacturing