Algorithm Software Engineer
Indexed description
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
- 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
- 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
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Canada Benefits
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search