Bachelor's Degree in Computer Science, Electrical Engineering, or related field with 5+ years of relevant experience or equivalent education/experience
Mastered proficiency in C and C++ programming on RTOS
Experience with Python for visualization and statistical analysis
Proficient in designing software systems that enhance technology or performance
Ability to lead complex software projects and decompose requirements into tasks
Strong verbal, written, and interpersonal communication skills
Detail-oriented, organized, and a self-starter in a fast-paced environment
Responsibilities
Lead software development in C and C++ as an individual contributor
Design and deploy embedded software solutions for Garmin's consumer electronics
Research and implement algorithm solutions for fundamental problems
Build hardware-in-the-loop test infrastructure and diagnostic tools
Evaluate design tradeoffs including power consumption and reliability
Mentor less experienced Software Engineers
Contribute to technical research and process improvements
Benefits
Eligible for Garmin's comprehensive benefits program
Opportunities for professional development and growth
Collaborative and innovative work environment
Access to cutting-edge technology and projects
Support for work-life balance and employee wellness programs
Full Job Description
Overview
We are seeking a full-time Senior C/C++/RTOS Software Engineer at Garmin's location in Cary, NC or at Garmins U.S. Headquarters location in the Greater Kansas City area. This position is on the Core Platform Technology - Sensor Algorithms Team. As a member of the team, you will help implement cutting edge sensor-based algorithms that help people beat yesterday. This team's work spans across multiple Garmin products and includes features such as activity monitoring, sports metrics, elevation-based features, and safety features.
Essential Functions
Serves in a leadership capacity as an individual contributor for carrying out software development in C and C++
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
Designs and deploys embedded software solutions, primarily in C++ and C, to be used throughout Garmin's extensive ecosystem of consumer electronics products, including smartwatches, cycling computers, and more.
Researches fundamental problems and implements algorithm solutions that are appropriate
Builds hardware-in-the-loop test infrastructure, integration pipelines, and diagnostic tools that reproduce field issues and verify fixes before deployment.
Offers peer technical assessments in areas of expertise, new technologies and software designs
Evaluates and understands various design tradeoffs including power consumption, cost, system constraints, reliability, and time to market.
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, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
Mastered proficiency in writing software in C, C++ on RTOS
Experience with Python for visualization and statistical analysis.
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
Demonstrated 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
Strong quantitative, math, and statistics skills
Experience in defining, characterizing, and baselining performance metrics for systems and/or algorithms.
Experience with automation and testing software and systems, including hardware-in-the-loop (HIL), regression testing, GoogleTest, unittest. Experience working with CI/CD pipelines, such as Jenkins or Zuul.
Experience with data analysis and statistical methods for investigating system behavior and root cause analysis.
Experience debugging complex problems on embedded systems.
Experience working on multiple simultaneous development projects.
Familiarity with sensor fusion, time series analysis, Kalman filtering, or digital signal processing (DSP).
Familiarity with inertial sensors, magnetic, and/or barometric pressure sensors.
Proficiency or experience with Java for backend/server-side systems.
Interest and ability to learn new tools, technologies, and methodologies across embedded systems, testing frameworks, and algorithm development as needed.
Excitement to create and deliver algorithms for runners, cyclists, hikers, golfers, athletes, fitness buffs, and any person seeking to beat yesterday.
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits
About Garmin
Garmin Ltd. is an American multinational technology company founded in 1989 by Gary Burrell and Min Kao in Lenexa, Kansas. The company specializes in GPS technology for automotive, aviation, marine, outdoor, and sport activities. Garmin's products serve aviation, marine, automotive, wireless, outdoor recreation, and fitness markets. The company's goal is to create navigation and communication devices that can enrich customers' lives. Garmin has offices in the United States, Europe, and Asia. The company's products are sold in over 100 countries.