Back to results

Embedded Software Engineer

  • Cochrane, AB, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Apply by
Experience
Must possess a minimum 1 year of work experience
Posting language
English
Posted

Original job description

Overview

Embedded Software Engineer/Developer 

Garmin 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.  

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.

Essential Functions

  • Develops moderately complex software in C, C++, C#, Java, assembly language, or other selected languages for Garmin or OEM products and/or applications consistently following Garmin’s coding standards and in accordance with applicable software development methodology and release processes
  • Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
  • Creates and executes designs for small sets of new functionalities as part of a software project
  • May perform as a technical leader or Lead Software Engineer for derivative software project
  • Collaborates and adds value through participation in peer code reviews, providing comments and suggestions
  • Provides reliable solutions to a variety of problems using sound problem solving techniques
  • Performs technical root cause analysis and outlines corrective action for given problems
  • Contributes to technical research on new technologies
  • Serve as a mentor to less experienced software engineers (Software Engineer 1)
  • Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes, and provide comments on some electrical design aspects
  • Works collaboratively and professionally with other Garmin associates in cross functional teams to achieve goals
  • Apply a sense of urgency, commitment and focus on the right priorities in developing solutions in a timely fashion
  • Apply Garmin’s Mission Statement and Quality Policy and enthusiastically exhibit a desire to see Garmin succeed
  • Associates are expected to integrate, use, and provide feedback on products in development when possible as part of their normal job responsibilities
  • Supports working hours as part of a rotating schedule to provide on call support of Garmin’s 24/7 operations
  • Review product and/or application information including manuals and brochures for technical accuracy
  • Participate in product and/or application definition activities including feature analysis and system tradeoffs
  • Perform other duties as necessary


Basic Qualifications

  • Bachelor of Science degree OR Master of Science degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering Aerospace Engineering, Math or Physics or a technical field (such as CIS or IT) relevant to the essential functions of this job description from a four-year college or university OR an equivalent combination of education and relevant experience
  • Must possess a minimum 1 year of work experience
  • Outstanding academics (cumulative GPA greater than or equal to 3.0 as a general rule)
  • Demonstrates proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
  • Must demonstrate proficiency and possess experience necessary to develop moderately complex software in C, C++, C#, Java, assembly language, or other selected languages
  • Demonstrates mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
  • Must demonstrate proficient ability to capture and document software requirements
  • Garmin Cochrane; Eligible for registration as an Engineer in Training (EIT) or Professional Engineer (P. Eng) in Alberta


Desired Qualifications

  • 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 


Garmin Canada is an equal opportunity employer.  Qualified applicants will receive consideration for employment without regard to race, colour, ancestry, place of origin, religious beliefs, gender, gender identity, gender expression, age, physical disability, mental disability, marital status, family status, source of income, and sexual orientation. 

This position is eligible for Garmin's benefit program. Details can be found here: Garmin Canada Benefits
More about this job

Responsibilities

Develop and maintain embedded software for Garmin products, including optical sensor drivers, connected technologies, and customer-facing applications. Collaborate with hardware engineers and cross-functional teams on design, testing, integration, troubleshooting, code reviews, and product support.

Requirements

A bachelor's or master's degree in a relevant technical field, or equivalent education and experience, and at least one year of work experience are required. Candidates must demonstrate proficiency developing moderately complex software and using engineering tools such as configuration management systems, build processes, debuggers, emulators, simulators, and logic analyzers; Alberta EIT or P.Eng eligibility is also required.

Skills

  • C
  • C++
  • C#
  • Java
  • Assembly Language
  • Embedded Software Development
  • Configuration Management
  • Build Processes
  • Debugging
  • Emulators and Simulators
  • Logic Analyzers
  • Root Cause Analysis
  • ANT
  • Bluetooth Low Energy
  • Serial Drivers

Benefits

  • Benefits Program

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering

Keywords

  • Embedded Systems
  • Embedded Software
  • C
  • C++
  • C#
  • Java
  • Assembly Language
  • Optical Sensors
  • Sensor Drivers
  • Signal Quality Testing
  • Noise Analysis
  • Manufacturing Tests
  • Calibration
  • ANT
  • Bluetooth Low Energy
  • Embedded Linux
  • Low-Power Systems
  • Third-Party Software Integration
  • Software Development
  • Configuration Management
  • Build Processes
  • Debuggers
  • Emulators
  • Simulators
  • Logic Analyzers
  • UART
  • SPI
  • SDIO
  • Code Reviews
  • Root Cause Analysis

Report this job