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

Staff Software Engineer - GNSS / INS

Boulder, COOnsiteFull TimeStaffPosted 23 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

  • GNSS
  • INS
  • positioning algorithms
  • C/C++
  • embedded systems
  • real-time
  • Python
  • Matlab
  • data analysis
  • algorithmic solutions

Nice to have

  • inertial navigation
  • dead reckoning
  • GNSS aided INS
  • PVT
  • carrier phase measurement processing
  • GNSS measurement generation

Role summary

Garmin is seeking a full-time Staff Software Engineer with expertise in GNSS/INS positioning technologies for their Core Platform Technology team in Boulder, CO. This role involves advanced technical research and development, designing, implementing, and testing complex C/C++ applications for embedded systems. The engineer will collaborate with various product segments, mentor junior engineers, and represent Garmin among industry partners. A minimum of 14 years of relevant experience is required, along with proficiency in C/C++, scripting languages like Python/Matlab, and a strong understanding of positioning algorithms, Kalman filtering, and sensor fusion.

Overview



We are seeking a full-time Staff Software Engineer - GNSS/INS at Garmin's site in Boulder, CO. 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 advanced technical research and 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
  • Conduct technical research and feasibility studies on new technologies, providing insight and recommendations to engineering management
  • Represent Garmin among industry partners, peer groups and regulating agencies
  • Contribute inventions, new designs, and techniques regarded as significant advances to the product and/or application development process
  • Apply advanced theories, principles, and concepts in development of new principles and theories
  • Utilize knowledge of principles, forecasts new technology and provides business directions based on them
  • Provide guidance and mentoring to less experienced software engineers in areas such as software methodology, cost analysis, and project management
  • Mentor and provide guidance to less experienced software engineers (Software Engineer 1 & 2 & Senior Software Engineers)
  • This job posting will expire on Friday, October 30, 2026.

Basic Qualifications

  • Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 14 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)
  • PVT (Position, Velocity, Timing) experience in the consumer/embedded space
  • 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
  • Experience in Java

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.