What are the responsibilities and job description for the Firmware Engineer position at Teksoft Systems Inc?
Company Description
TekSoft Systems Inc, established in 2010 and based in Michigan, is an end-to-end IT solutions provider. The company has cultivated a wealth of best practices, methodologies, and expertise through various complex projects across diverse environments. TekSoft Systems values teamwork, loyalty, creativity, and productivity while emphasizing continuous learning and delivering results. The company's success is built upon its dedicated team and their commitment to combining work with passion and innovation.
Job title: Firmware engineer - GPS/ GNSS
Work Location: Mountain View, CA (Onsite)
Full time Role
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.