Job title: Autonomy GNSS firmware engineer
Work Location: Mountain View, CA (Onsite)
12 months Contract
An autonomy GNSS firmware engineer is a specialist who develops the low-level embedded software
Enables autonomous systems (like self-driving cars, drones, and robotics) to precisely determine their location using Global Navigation Satellite Systems (GNSS).
They are critical to integrating positioning data with other sensors for safe, reliable navigation.
Key Responsibilities
- Firmware Development: Writing, testing, and maintaining embedded C/C++ code that runs directly on GNSS receiver hardware and microcontrollers.
- Integrity and Security: Building in features for Receiver Autonomous Integrity Monitoring (RAIM), spoofing/jamming detection, and signal quality assessment to ensure trustworthy positioning data.
- Hardware Integration & Testing: Collaborating closely with hardware engineers on board bring-up and validating performance through simulation, hardware-in-the-loop (HIL) testing, and real-world field tests.
- Communication Protocols: Working with various communication interfaces such as CAN bus, Serial, SPI/I2C/UART, and IP networks to transmit and receive correction data (e.g., RTCM).
Required Skills and Qualifications
- Education: A degree (Bachelor''s, Master''s, or PhD) in Computer Science, Electrical Engineering, Robotics, or a related field.
- Programming: Strong proficiency in C/C++ for real-time systems.
- Experience with embedded systems, Real-Time Operating Systems (RTOS) like FreeRTOS or Linux, and Kernel low-level drivers.
- Deep understanding of GNSS principles, signal processing, and navigation technologies.
- Familiarity with tools like GitHub, oscilloscopes, logic analysers, and JTAG debuggers.