Software Engineer - HMI Systems

Foster City, CA
Engineering – Software
Full-time
The Role

We’re looking for a candidate who is well-versed in C/C++ and familiar with writing system software on Linux. As a systems programmer you have a passion for designing, implementing and testing systems code. A great candidate has enough experience to know that hardware and other systems never behave exactly as described, and has developed a healthy “trust but verify” attitude towards system inputs and outputs.

What you'll do

    • Work with other software developers and engineers to make cutting-edge HMI and robotics/automotive software more robust and reliable
    • Develop, maintain and test a software framework for HMI development
    • Develop, maintain and test software that interfaces with audio inputs and outputs, distributed HCI modules, as well as sensors, actuators and other hardware
    • Define and implement frameworks for error detection, error reporting and error handling
    • Learn about, and analyze a variety of frameworks and deliverables from Zoox suppliers and internal teams, and understand how they interact among each other and with the underlying OS and hardware; leverage this understanding to formulate a direction for internal and external work or bug fixing, as well as execute that direction first-hand where applicable
    • Analyze whole-system performance to identify potential bottlenecks and issues where systems may be under-provisioned or misconfigured and formulate, direct, and execute ways to address those issues

Qualifications

    • BS or equivalent experience in Computer Science, Computer Engineering or Software Engineering
    • Proficient in C/C++ as well as *nix shell scripting
    • Familiarity with Linux
    • Systems programming experience
    • Kernel-userspace interface development experience
    • Familiarity with networking, TCP/IP and sockets programming

Bonus Qualifications

    • Experience with audio frameworks such as Pulse Audio, Nuance, Audio Weaver
    • Previous experience writing firmware
    • Linux kernel development experience
    • Experience writing or maintaining drivers
    • Embedded systems or firmware experience (e.g. microcontroller code, serial bus / I2C / I2S)
    • Experience with CAN bus, and extra points for experience with SocketCAN
ABOUT ZOOX

Zoox is developing the first ground-up, fully autonomous vehicle fleet and the supporting ecosystem required to bring this technology to market. Sitting at the intersection of artificial intelligence, robotics, and design, Zoox aims to provide the next generation of mobility-as-a-service in urban environments. We’re looking for top talent that shares our passion and wants to be part of a fast-moving and highly execution-oriented team.

Follow us on LinkedIn

A Final Note:
You do not need to match every listed expectation to apply for this position. Here at Zoox, we know that diverse perspectives foster the innovation we need to be successful, and we are committed to building a team that encompasses a variety of backgrounds, experiences, and skills.