Garmin logo
Garmin Verified
Consumer Electronics, GPS Technology, Wearable Technology, Aviation, Marine, Automotive

Software Engineer 2 (Biomedical Algorithms)

Olathe, KSOnsiteFull TimeEntry-level (exp-based)Posted 28 days agoVisa sponsorship available

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Required skills

  • biomedical algorithms
  • fitness
  • outdoor wearable products
  • biosensor features
  • wearable product lines
  • exploration
  • implementation
  • long-term support
  • software development process
  • technical root cause analysis

Nice to have

  • Master’s Degree
  • preprocessing
  • feature extraction
  • training
  • machine learning models
  • deep learning models

Role summary

Garmin is seeking a full-time Software Engineer with a focus on Biomedical Algorithms for its U.S. headquarters in the Greater Kansas City area. This role involves developing and maintaining complex biomedical algorithms for fitness and outdoor wearable products, contributing to features from exploration through long-term support. Responsibilities include algorithm design, prototyping, embedded implementation, documentation, and utilizing software engineering tools. A strong foundation in mathematics, statistics, data science, and proficiency in C, C++, or similar low-level languages, along with Python for data libraries, are required. Experience with machine learning, digital signal processing, and embedded software is desired.

Overview



We are seeking a full-time Software Engineer at Garmin's U.S. headquarters in the Greater Kansas City area. In this role, you will be responsible for developing and maintaining complex biomedical algorithms for Garmin’s fitness and outdoor wearable products.

We are the Biosensor Features & Algorithms Team within Garmin Health. Our team is responsible for the creation of new biomedical sensor algorithms for Garmin's wearable product lines in Fitness and Outdoor. We own features from exploration, through implementation, and throughout all long-term support. 

Essential Functions

  • Contributes to the design, development, and prototyping of new biomedical features and algorithms (Python) 
  • Contributes to the embedded implementation and maintenance of biomedical features and algorithms (C, C++) 
  • Documents and presents technical options, tradeoffs, and recommendations to both technical and non-technical stakeholders. 
  • Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process 
  • 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 
  • Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and provides feedback on some electrical design aspects 
  • Serves as a mentor to less experienced software engineers (Software Engineer 1) 

Basic Qualifications

  • Bachelor’s Degree in Computer Science, Biomedical Engineering, Computational Biology, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 1 year relevant experience OR an equivalent combination of education and experience 
  • A very strong foundational knowledge of mathematics (linear algebra, calculus), statistics, and data science. 
  • Demonstrated proficiency and experience contributing to software within complex architectures (concurrent or asynchronous systems, real-time operating systems, distributed systems, or anything similar). 
  • Demonstrated proficiency and experience necessary to develop complex software in C, C++, or other compiled, low-level systems programming language (eg. Rust).Proficient knowledge, utilization and mastery of relevant software engineering tools (version control systems, configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers) 
  • Demonstrated experience with Python’s math and data libraries such as numpy, scipy, pandas, polars, or similar. Or, similar experience in another language, such as R. 
  • Exceptional written and verbal communication skills. 

Desired Qualifications

  • Graduate degree in a relevant field (Master’s Degree or PhD) 
  • Experience in preprocessing, feature extraction, and/or training of machine learning or deep learning models (scikit-learn, XGBoost, PyTorch, Keras, Tensor Flow, or similar) 
  • Experience with digital signal processing, especially with sensors such as photoplethysmogram (PPG), electrocardiogram (ECG), inertial measurement units (IMU). 
  • Previous work or internship experience in embedded software, particularly for consumer products 
  • Interest or experience in biomedical, health, or wellness. 
  • Strong written and verbal communication skills 

Garmin International is an equal opportunity employer. Qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, citizenship, sex, sexual orientation, gender identity, veteran’s status, age or disability.

This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits

Sample Garmin interview questions

  • 1

    Minimum Path Sum Find the minimum path sum from top-left to bottom-right in a grid. Input: grid = [[1,2,3],[4,5,6]] Output: 12 Explanation: The optimal path moves along 1 -> 2 -> 3 -> 6, resulting in a minimum accumulated sum of 12.

    codingmedium
  • 2

    Rotate a linked list to the right by k places. Given the head of a linked list, rotate the list to the right by k places. Input: head = [0,1,2], k = 4 Output: [2,0,1] Explanation: The list has a length of 3. Rotating by 4 is mathematically equivalent to rotating by 1 (4 mod 3 = 1).

    codingmedium
  • 3

    Find the maximum depth of an N-ary tree.

    codingmedium
  • 4

    Find the total number of continuous subarrays whose sum equals K.

    codingmedium
  • 5

    Find all buildings that have an ocean view.

    codingmedium

Get started to unlock a personalized interview prep pack for this role.

Ready to apply?
You'll be redirected to Garmin's application page.

Similar roles

See how RiseMe works

Match, tailor, and prep so you send fewer applications and land more interviews.