
Positioning Algorithms Software Engineer
Role summary
Garmin is seeking a full-time Positioning Algorithms Software Engineer for its Core Platform Technology team in the Greater Kansas City area. This role involves advanced technical research and development in GNSS and INS positioning solutions for embedded systems. Responsibilities include designing, implementing, testing, and documenting complex software applications using C/C++, participating in peer reviews, and providing reliable solutions to positioning problems. The ideal candidate will have a Bachelor's degree in a related field and at least 5 years of relevant experience, with expertise in positioning algorithms, GNSS measurements, estimation techniques, and C/C++ development for real-time environments. Scripting skills for analysis automation are also required.
Overview
We are seeking a full-time
Positioning Algorithms Software Engineer
to join our growing team of GNSS and Positioning experts for our Core Platform Technology at Garmin’s U.S. headquarters in the Greater Kansas City area. Our team is passionate about developing superior GNSS and INS based positioning solutions and working closely with all of Garmin’s product segments to explore, align and advance positioning technology in all of Garmin’s products.
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
Basic Qualifications
- Bachelor’s Degree in Computer Science, 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
- Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
- Experience in positioning algorithms for consumer applications. Specifically, understanding 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.
- Ability to use scripting languages to automate analysis (i.e. Python, Matlab etc.)
- Accuracy analysis and performance quantification
- Competence in researching problems and implementing appropriate algorithmic solutions.
- Strong verbal and written communication skills.
- Strong team player
Desired Qualifications
- Outstanding academics (cumulative GPA greater than or equal to 3.5)
- Experience 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 and how they are impacted by environment and receiver design.
- 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
Sign up for a personalized interview prep pack tailored to this role.