Software Engineer 2 (Data and Embedded SWE)
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

