
Senior Software Engineer (Health Modeling)
Required skills
- wearable sensor data
- machine-learning pipelines
- deep-learning pipelines
- data preprocessing
- feature extraction
- machine-learning training pipelines
- large scales
- mathematics
- linear algebra
- calculus
Nice to have
- sequence modeling
- representation learning
- timeseries forecasting
- self-supervised encoder-decoders
- transformers
- distributed systems
Role summary
Garmin is seeking a full-time Senior Software Engineer for its Biosensor Features & Algorithms Team at its U.S. headquarters in the Greater Kansas City area. This role involves technical leadership and project planning for machine-learning and deep-learning pipelines processing wearable sensor data. Responsibilities include developing novel algorithms, documenting technical options, potentially leading complex software projects, decomposing requirements, researching problems, providing peer assessments, contributing to advanced research, and mentoring junior engineers. A Bachelor's degree in a relevant field and a minimum of 5 years of experience are required, along with demonstrated experience in deep learning models, data pipelines, Python data science libraries, and software system design.
Overview
We are seeking a full-time Senior Software Engineer at Garmin's U.S. headquarters in the Greater Kansas City area. In this role, you will be responsible for providing technical leadership and project planning for the development of machine-learning and deep-learning pipelines for processing wearable sensor data.
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
- Serves in a leadership capacity as an individual contributor for carrying out the development of novel machine learning and deep learning pipelines using wearable sensor data using Python.
- Documents and presents technical options, tradeoffs, and recommendations to both technical and non-technical stakeholders.
- May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
- Decomposes functional requirements into well-defined tasks
- Researches fundamental problems and implements algorithm solutions that are appropriate
- Offers peer technical assessments in areas of expertise, new technologies and software designs
- Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
- Makes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk taking
- Mentors and provides guidance to less experienced Software Engineers (1 & 2)
- Contributes to advanced technical research on new technologies
- Offers process improvement suggestions and authors new procedures as appropriate
- Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques
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 5 years relevant experience OR an equivalent combination of education and experience
- Demonstrated experience building production quality deep-learning models using tools such as Keras, PyTorch, TensorFlow, or similar.
- Demonstrated experience building data preprocessing, feature extraction, and machine-learning training pipelines at large scales
- Significant experience with Python data science libraries (numpy, scipy, pandas, polars, and/or scikit-learn)
- A very strong foundational knowledge of mathematics (linear algebra, calculus), statistics, and data science.
- Demonstrated proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality
- Demonstrated competence with researching fundamental problems and implementing appropriate algorithmic solutions
- Demonstrated ability to serve as a lead software engineer for a complex software project
- Ability to decompose functional requirements into well-defined tasks while balancing quality, quantity, and complexity in work output
- Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
- Mastered proficiency in writing software in Python and relevant experience and/or training in data structures or object-oriented design methodology
- Exceptionally strong and effective verbal, written, and interpersonal communication skills
- Must be positive, detail oriented, organized, team oriented and a driven problem solver, multi-tasker, and self-starter with the ability to prioritize and lead in a fast paced, deadline-driven environment
Desired Qualifications
- Graduate degree in a relevant field (Master’s Degree or PhD)
- Demonstrated experience building deep learning models for sequence modeling, representation learning, timeseries forecasting, self-supervised encoder-decoders, or transformers.
- Experience with data engineering, distributed systems, and cloud computing.
- Experience with digital signal processing, especially with sensors such as photoplethysmogram (PPG), electrocardiogram (ECG), inertial measurement units (IMU).Basic competency in working within a Unix-like environment
- Experience with low-level systems programming languages (C/C++, Rust, etc)
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.
Similar roles
Staff Software Engineer - GNSS / INSGarmin · Boulder, CO · Onsite
Electrical DesignerGarmin · Olathe, KS · Onsite- Associate Software EngineerKeyfactor, Inc. · Remote · Remote
- Platform Software EngineerFord Motor Company · Dearborn, MI · Hybrid
- Director - Software EngineeringKodiak Solutions · Remote · Remote
- Sr Software Engineer IAmerican Express Company · Phoenix, AZ · Hybrid
