Overview:
Garmin Canada has multiple 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. We are organized into three multi-disciplinary engineering divisions that deliver technologies, solutions, and world-class consumer electronics.
- Connected Technologies: This division stewards ANT and BLE technologies across multiple Garmin business segments. These wireless technologies enable compelling customer features in Garmin products such as connected widgets and apps on a smartwatch, seamless integration with mobile phones, interaction with IoT systems, and real-time collection and analysis of fitness data from wearables and other sensors.
- Fitness Products: This division is responsible for the VariaTM family of products for cycling awareness, the RallyTM family of bike power meters, and essential fitness accessories such as HRM-Pro and Bike Speed/Cadence sensors. Software teams in the products division will enable the inception and delivery of the next generation of products delivered to Garmin’s Fitness customers.
- Wearables: This division currently supports every wearable in the Garmin ecosystem (over 40 products and counting!) and continues to innovate for the next generation of wearable products. The software teams contribute across the wearable system from delivering a robust low-power platform all the way to ensuring high accuracy in customer-facing metrics such as wrist heart rate and SpO2.
Responsibilities:
As an Embedded Software Engineer/Developer focused on embedded systems within one of these divisions, 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
Qualifications:
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:
- Minimum of 2 years proficient experience 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
- Previous leadership experience or desire for leadership experience would be considered an asset.
Incase you would like to apply to this job directly from the source, please click here