
Senior Software Engineer - GNSS / INS
Required skills
- GNSS
- INS
- positioning algorithms
- C/C++
- embedded systems
- real-time environments
- Python
- Matlab
- data analysis
- Kalman filtering
Nice to have
- GNSS aided INS
- Java
- carrier phase measurement processing
- GNSS measurement generation
- tracking loops
- MEMS sensor technology
Role summary
Garmin is seeking a full-time Senior Software Engineer specializing in GNSS/INS for their Core Platform Technology team. This role involves developing and advancing positioning technologies for all Garmin product segments. Responsibilities include algorithm and software development in C/C++ for embedded systems, research into new technologies, and providing technical guidance to junior engineers. The ideal candidate will have a Bachelor's degree in a relevant field and at least 5 years of experience in positioning algorithms, GNSS/INS, C/C++ development, and data analysis using scripting languages like Python or Matlab. Experience with software architecture and Kalman filtering is also required.
Overview
We are seeking a full-time Senior Software Engineer (GNSS / INS) at Garmin's U.S. headquarters in the Greater Kansas City area or at our location in Cochrane, Alberta, Canada. This role is on our Core Platform Technology team and will develop GNSS and INS based positioning solutions. This is an innovation and exploration role where you will work closely with all of Garmin's product segments to explore, align and advance positioning technology in all of Garmin's product categories.
Essential Functions
- Contribute to productization and algorithm development in positioning technologies
- Design, implement, test and document complex software applications using C/C++ for use in embedded systems
- Participate in peer reviews of software designs, algorithm designs and software implementation
- Collaborate with colleagues on software/algorithm design approaches and implementations
- Provide reliable solutions to a variety of positioning problems using sound problem solving techniques
- 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
- Mentors and provides guidance to less experienced software engineers (Software Engineer 1 & 2 & Senior Software Engineers)
Basic Qualifications
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
- Experience in positioning algorithms for consumer applications with a strong understanding of GNSS measurements and error sources, estimation techniques including least squares & Kalman filtering, blunder/fault detection, multi-constellation and multi-frequency, AGNSS, inertial navigation systems, inertial sensors, sensor fusion and other geomatic related topics.
- Proficient in software development and engineering with C/C++ for embedded, real-time environments
- Strong ability to use scripting languages (i.e. Python, Matlab etc.) or C++ to automate data analysis of large amounts of data to verify positioning algorithms
- Proven ability to explore and research technical algorithmic problems and implementing appropriate algorithmic solutions
- Demonstrate a successful track record in managing exceedingly complex problems and providing success solutions which are highly innovative and ingenious
- Experience with architecting solutions for multiple groups and/or disciplines
- 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
- Expertise in inertial navigation techniques (e.g. vehicle and pedestrian dead reckoning, GNSS aided INS)
- Experience in Java
- Knowledge of carrier phase measurement processing methods
- Knowledgeable in GNSS measurement generation, tracking loops and how measurements are impacted by environment.
- Experience in MEMS sensor technology, including error source modeling and quantification of accelerometers and gyroscopes
- Experience in detection of GNSS denial of service, jamming or spoofing events
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
Technical Support Specialist 2Garmin · Olathe, KS · Onsite
Senior Architectural EngineerGarmin · Olathe, KS · Onsite- Staff Software Engineer, SalesforceDAT Freight & Analytics · Denver, CO · Hybrid
- Software Engineer II - Seller ExperienceStubHub · New York, NY · Hybrid
- Senior Software Engineer, Cloud ApplicationsTemporal · Remote · Hybrid
- Research Software EngineerConvergent Research · Boulder, CO · Onsite
