OverviewGarmin Canada has new opportunities for full-time
Embedded Software Engineers and Developers with various levels of experience who have a hunger for solving real-world problems with embedded systems.
The following teams are currently hiring:
Biosensor Platform - Optical Team: This team is responsible for the optical sensor driver development and integrations among Garmin wearable products. You will work closely with hardware engineers and vendors for new sensor evaluation, performing signal quality test and noise analysis. Our work also includes developing sensor manufacturing tests in the production line and conducting calibrations for specific signal paths to ensure consistent data quality. The team works closely with Garmin global offices to deliver accurate and reliable biosensor metrics for customers throughout their daily activities and sleep.
Fitness Products - Sensor Platform Team: This team specializes in low-level embedded development, building and maintaining core, reusable software at the MCU and driver level, and delivering memory-efficient solutions that power multiple Garmin accessory products. The team also plays a key role in platform and new controller bring-up for next-generation products and integrating new platforms into the broader Garmin ecosystem. Working across multiple product groups, the team provides deep technical expertise and explores emerging technologies to keep Garmin's accessory lineup at the forefront of innovation.
Fitness Products - VariaTM Team: This team is responsible for the end-to-end software of Garmin's Varia line of cycling-awareness products. You'll work in a fast-paced, multi-disciplinary environment spanning the full product lifecycle: early board bring-up (partnering closely with the Sensor Platform team), factory integration and scale-up to mass production, and feature delivery across high-power lighting, camera systems, and radar technology. Our work also includes building and integrating wireless connectivity that links Varia products with the broader Garmin ecosystem, including mobile apps, wearables, and cycling computers. You'll collaborate daily with talented teams across Garmin offices worldwide and contribute to products used by cyclists around the globe.
Connected Technologies - Applications: The Connected Technologies division stewards ANT and BLE technologies across multiple Garmin business segments, including Fitness, Outdoor and Marine. The Applications team works directly with product teams and builds the infrastructure and tooling needed to enable compelling customer features in Garmin products, from battery constrained sensors to embedded Linux multipurpose displays for Marine navigation. You will work in a fast-paced, highly collaborative environment, driving to maintain and scale an always growing ecosystem of connected products.
As a Software Engineer/Developer focused on embedded systems you will:
- Implement embedded software solutions, primarily in C
- Develop unit tests to verify your solutions, primarily in C/C++
- Design well architected software modules to deliver new features or improve the capability and performance of existing features
- Provide reliable solutions to a wide range of difficult problems using sound problem solving techniques
- Participate in peer code review and design review
- Decompose functional requirements into well-defined tasks
- Collaborate with developers, technical leads, and product managers to identify opportunities for new features or to improve existing processes
Requirements:Bachelor of Science in Software Engineering or a relevant technical field from a four-year College or University
OR an equivalent combination of education and relevant experience with a cumulative GPA greater than 3.0.
Experience
MUST include the following:
- Proficiency in writing software in C and C++
- Collaborative software development in a team environment
- Debugging complex problems on embedded systems
Other desirable skills and experience include: - Low-power and constrained system development and verification
- Integrating and maintaining 3rd party software packages (e.g. SDKs)
- Hands-on experience with ANT and/or BLE focused software development on embedded systems
- Implementing low level serial drivers on bare metal platforms (UART/SPI/SDIO)
- Working on projects with teams distributed across multiple sites
- Working on multiple simultaneous development projects
- Development of software for consumer electronics