Senior Software Engineer
Garmin
Cochrane, AB
At Garmin Canada, we create more than just products – we inspire solutions and innovations that change and shape how we live, work and play. You’ll get to work alongside top talent from around the globe while working on cutting-edge products and enabling compelling ecosystems with ultra-low power wireless technology. Here’s why you want to work for us:

You’ll bring products to life.

Our advanced technology promotes performance, safety and ease of use in every market we serve. Become a key contributor to our exciting portfolio of Garmin products and help us bring our devices from concept to market.

You’ll love the location.

Nestled in the foothills of the Rocky Mountains, we’re located just 15-minutes outside of Calgary in Cochrane, Alberta. A retreat from fast-paced cities - Cochrane allows us to build relationships with the community and focus on what we do best – creating innovative solutions for unique use-cases in the ultra-low power wireless and sport industries. With many other tech companies calling Cochrane home, we can’t think of a better place to be!

You’ll love our office culture.

Company BBQs, active sports, casual dress, volunteer opportunities and the occasional sneak peak of new release movies allows team members to get to know each other outside the office.

You’ll receive fantastic benefits.

Opportunities for professional development, no waiting period for vacation or our extensive benefit plan, RRSP matching, stock purchase options, product discounts and flexible work schedules are available for all team members.

You’ll be part of something big.

Our open concept, open door policy office supports a fun, collaborate and supportive work culture. All our team members, regardless of their team, are encouraged to think big and share their ideas. Our team members are innovators, solution creators and outside-the-box thinkers ready to take on any challenge.

Garmin Canada has exciting opportunities for full-time Senior Software Engineers who have a hunger for solving real-world problems with embedded systems and connected ecosystems. As a member of our embedded software team, you will create compelling features while focusing on pushing the boundaries on size, power and value for Garmin’s customers. You will work directly with others across Garmin’s product segments, including Fitness and Outdoor, and be responsible for creating, productizing and maintaining new technologies for consumer products.

Responsibilities Include:
Implementing embedded software solutions, primarily in C, for Garmin’s extensive ecosystem of consumer electronics products
Designing well architected modules supporting new technology or improving the capabilities/performance of existing functionality
Providing reliable solutions to a wide range of difficult problems using sound problem-solving techniques
Decomposing functional requirements into well-defined tasks
Working with electrical engineering to turn on new processors
Assisting electrical engineers with component datasheet review and schematic design review
Participating in project leadership and/or program planning including providing technical input to product development plans and concept documents
Collaborating in peer code reviews and technical assessments in areas of expertise, providing comments and suggestions to support software designs and new technologies
Mentoring less-experienced Software Engineers, providing technical expertise and guidance

Bachelor’s degree in Computer Science, Software/Electrical/Computer Engineering, with a cumulative GPA greater than or equal to 3.0
Minimum of 5-years relevant software engineering experience, which must include:
Proficiency in writing software in C on embedded processors
Proficient in using oscilloscopes, logic analyzers, multi meters, and debuggers to design, test and validate embedded systems
Experience with collaborative software development in a team environment
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

Other desirable skills and experience include:
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
Proven ability to develop innovative and creative solutions for complex problems
Experience and a keen interest in working with wireless protocols such as ANT or BLE
Experience working on an Agile software team
Excitement to create and deliver products for cycling, running, swimming and fitness!