Staff Software Engineer - GNSS / INS
- Cochrane, AB, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Posting language
- English
- Posted
Original job description
We are seeking a full-time Staff Software Engineer (GNSS / INS) at Garmin's U.S. headquarters in the Greater Kansas City area. 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
- Conducts technical research and feasibility studies on new technologies, providing insight and recommendations to engineering management
- Represents Garmin among industry partners, peer groups and regulating agencies
- Contributes inventions, new designs, and techniques regarded as significant advances to the product and/or application development process
- Applies advanced theories, principles, and concepts in development of new principles and theories
- Utilizes knowledge of principles, forecasts new technology and provides business directions based on them
- Provides guidance and mentoring to less experienced software engineers in areas such as software methodology, cost analysis, and project management
- Mentors and provides guidance to less experienced software engineers (Software Engineer 1 & 2 & Senior Software Engineers)
- 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
- 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
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits
More about this job
Responsibilities
Research, design, implement, test, and document advanced GNSS and INS positioning software and algorithms for embedded systems, while evaluating new technologies and solving complex positioning problems. Collaborate across Garmin product groups and industry partners, contribute significant technical innovations, and mentor less experienced software engineers.
Requirements
Requires a bachelor's degree in a relevant field and at least 14 years of relevant experience, or an equivalent combination of education and experience. Candidates need strong GNSS and inertial navigation expertise, embedded C/C++ development experience, scripting or C++ skills for large-scale data analysis, and a record of solving complex algorithmic problems.
Skills
- GNSS Positioning
- Inertial Navigation Systems
- C/C++
- Embedded Systems
- Real-Time Software
- Positioning Algorithms
- Kalman Filtering
- Least Squares Estimation
- Sensor Fusion
- Python
- MATLAB
- Data Analysis
- GNSS Fault Detection
- Inertial Sensor Modeling
- Technical Research
- Software Architecture
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Science & Research
Keywords
- GNSS
- INS
- Positioning Algorithms
- C/C++
- Embedded Systems
- Real-Time Environments
- Python
- MATLAB
- Least Squares
- Kalman Filtering
- Blunder Detection
- Fault Detection
- Multi-Constellation GNSS
- Multi-Frequency GNSS
- AGNSS
- Inertial Navigation
- Dead Reckoning
- Sensor Fusion
- PVT
- Carrier Phase Processing
- GNSS Measurement Generation
- Tracking Loops
- MEMS Sensors
- Accelerometers
- Gyroscopes
- Jamming Detection
- Spoofing Detection
- Software Architecture
- Algorithm Design
- Java